68
7 MARS Æ3 35F

Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

7 MARS 1983

35F

Page 2: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

Formation continue à la micro-informatique

"'''OTOC.(I'.'''lllfll'l' Tous nos Informaticiens viennent de l'informatique traditionnelle, el en maîtrisent totalement les langages classiques . Assembleur, COBOl. FORTRAN Ils utilisent leur professionnalisme et les mêthodes de l'Informatique pour réaliser des applications professionnelles en micro-informatique. Nous vendons des micrO-Ofdmateurs sans programme. Nous vendons aussi des micro-ordinateurs avec les programmes. Il s'agit de programmes reallsés par la societé KA, dont nous garantissons la qualité elle bon fonctionnement. Nos formateurs enseignent l' informatique . L'enseignement de la micro-informatique neceSSlle des formateurs pro­fessionnels, suffisamment de matériel pour que chacun puisse pratiquer, un support de cours couvrant non seulement l'enseignement diffusé, mais permettant au participant de s'auto-former apres te stage. Nous avons déjà accueilli de nombreux stagiaires, d'horizons et de centres d'intérêts divers: chefs d'entrepnse. universitaires, profes­sions libérales, informaticiens, musiciens compositeurs, retraités, cadres de grandes entreprises, revendeurs de micro-ordmateurs, ,

• Stage de 2 jours bases de données, Comment utiliser les progiciels: • bases de données • manipulateurs de nombres et générateurs de tableaux • générateurs d'états imprimés Application pratique (un 48 K + un lecteur de disquettes pour deux participants), Après ce stage, on peut générer, A partir de progiciels, un programme totalement adapté à son application en moins d'une journée de travail, Ce stage nécessite de connaître la manipulation de l'APPLE Il, ou d'avoir suivi au minimum la journée d' initiation.

Dates 27·28 iuin 29-30 août Pnx 2192 F h,t.

Nous proposons 5 possibilités : • Stage de 1 semaine de programmation BASIC_ Il débute par la lournée d IOlliallon Le stage permet d'aSSimiler la logique de programmation et de 1 appliquer (un micro-système 48 K pour 2 partlclpantsl· En lin de stage. on salt établir un programme de gestion de !lchler avec consultatIOn en temps réel Ce stage ne néceSSite pas de connilissance de départ en mlormatlQue

Dates du 18 au 22 avril du 16 au 20 mai du 20 au 24 juin Prix 4245 F h.t.

• Stage 3 jours disquettes. Consacré à l'organisation. A la programmation el à l'explOitation de fichiers sur disquettes magnétiques. à travers l'élude du Dlsk Dperatmg System APPLE Il Travaux pratiques sur micro-systèmes (un 48 K � un lecteur de disquettes pour deux partiCipants). Ce stage néceSSite • salt d aVOir suivi le stage de 1 semame de programmation au préalable. • SOit d avOIr une bonne connaissance théorique et une sénellse pratique de BASIC de l'APPLE Il

Dates du 25 au 27 juillet du 17 au 19 octobre Prix 3378 F h.t.

• Journées de sensibilisation et stages de formation il Paris et en Province. Is sont organises

a la demande

• d une Instance régionale telle par exemple, une Chambre de Commerce: • d un organisme de formallOn dans le cMre d'un cycle pluS vaSle de formatIOn . • CI une e'ltreprlse. la SOCIeté KA InSlalle le matérrel pour la durée de ta formatIOn. assure la lormatlon ellournl! les supports de cours.

• Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin � Prix 773 F h.!. Le nombre CIe places pour cnaQue stage est stnctemcm l.mU" il Id toI;, pour la Qualite de fense,qnemenl et par les contraIntes du materlel

Deux animateurs sont presents pour aider tes parhClpants a la reahsatlon de leurs programmes Un support de cours tres complet est remIS â Chaque partiCIpant

Pour la Journee d IIIlhallon et poUl les stages les déleuners sont pns en commun el complls

l'informatique douce-Renseignements et inscriptions à KA - Programme détaillé Sur demande. 212 rue Lecourbe 75015 Paris - Tél. 533.13.50. le calendrier 83 est disponible. "'l'inI<ImIatique <b..o!" 8SI .... marque d6!lO&ée '" la. """'* KA

Page 3: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

'a no7 Sommaire

Page langage' Niveau· •

Éditorial par Hervé Thiriez 5

Les arcanes du Moniteur Apple III par Bruno Lemaire el Gilles Mauffrey 6 A P

Cryptographie à clef publique par Olivier Herz 7 P M-T

Graphique, quand tu nous tiens . . . par Guy Mathieu 15 B T

Graphiques et logique par Olivier Herz 21 A M-T

Hard Copy Seikosha par Olivier Herz 22 A M-T

La souris de Lisa par Hervé Thiriez 24 1 T

L'Apple Ile à l'essai par Jean-François Duvivier 25 1 T

Des programmes relogeables par Philippe François 27 A M

Dump Pascal par Michel Marquis 29 P T

Un générateur par Denis Sureau 35 A M-T

Un programme de test universel par Denis Sureau 39 B T

Visicalc et traitement de texte par Hervé Thiriez 43 B T

HELLO corrigé par Thierry Le Tallec et Jacques Tran-Van 46 A M-T

Gestion de masques en BASIC par Gérard Michel 47 B-A M-T

FlOt MUFFIN et DEMUFflN par Alexandre Duback 55 1 T

Le cours de BASIC Applesoft d'André Finot par Jean-Jacques Crépy 56 1 T

Multiplan à l'essai par Hervé Thiriez 57 1 T

Effacement de directory en Pascal par Régis lardennOiS 59 P M

Création de fichiers EXEC par Yvan Koenig 60 B T

Boot PLE + CRAE par Michel Marquis 61 B M-T

Un programme de fondu enchaîné par Denis Sureau 62 A P-T

Les quatre ponts par Olivier Herz 63 B T

Courrier des lecteurs 64 1 1

Courrier des clubs 66 1 1

Trucs et astuces 26-58 1 1

. Lang&ge : B{asic) - A(ssembleur) - P{ascal) . • • Niveau: D(ébutant) - M(oyen) . P(ro/essionnel) . T(ous).

Il s·agiHà du niveau nécessaire pour comprendre le fonctionnement du programme décrit dans l'article. ou pour digérer l'anicle lui­même. Ceci dit, un programme peUl êlre uuli5ê sans compl'éhension de son fonctionnement interne (sinon. qui jouer/Ill au", échecs sur ordinaleur ?)

Les annonceurs B.F.L : p. 42 - BMI : 3<couv. - ANDRÉ f. flNOT : p. 20 - JCR 4·couv. - KA : z.couv. - LOGMA p. 18 - M.a.D.c. : p. 58 - MICRO INFORMATIQUE SERVICE: p. 4 - MICROMOS p. 13·45 - MINIGRAPHE : p. 17 - L'ORDINATEUR INDIVIDUEL: p. 14 - P,S.L : p, 54 - SYBEX: p. 32·33 - TOTALE FORMATION. p. 47

Éditions MEV - 49, rue Lamartine - 78000 Versailles Oirecteur de la publication: Hervé Thiriel. Imprimerie Sim. 75011 Paris. Imprimé en France. Dépôt lég<ll . 1" trimestre 1983.

Porn's nO 7 3

Page 4: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

• La division de la longueur des program­mes par 20.

• La possibilité réelle de dessiner ses mas­ques de saisie ou d'impression.

• Une indépendance totale de la périphérie choisie par rapport au système.

• L'intégralité du système contenu sur une carte mémoire de 20 K.

• Une gestion de mémoire de 140 K à 120 mégas. • Des utilitaires déterminants

. un générateur de programmes de ges­tion de fichiers permettant même le séquentiel indexé multiclé

. un générateur d'écrans.

D.S.A. INFORMATIQUE MICRO ALPHA SOFT SEE MI

• ••

Carte MEM/DOS 6502 LE SYSTEME D'EXPLOITATION

DU 6502 - MONOPOSTE/MUL TIPOSTE

• CALL FN, une nouvelle commande basic, très puissante, intégrée au système permettant l'appel des sous-programmes par noms avec passage de paramètres et variables locales.

• Une version multiposte assurant la mise en commun totale des ressources sans conflit et l'autonomie des postes intelligents disposant de leur propre unité centrale.

• Des programmes compatibles APPLE][ et APPLE Illautomatiquement transférables sur COMMODORE 8096 .

• Et pour demain, des logiciels développés aujourd'hui directement compatibles avec le réseau local memnet.

����atiaue .aserviœ 3, rue Meyerbeer 06000 NICE· Télex 461 916 F

G·B

MICROMEGAS

5, bd Dubouchage 06000 NICE

", impasse du Lacquet 25200 MONTBELIARD

Tél. (81) g7.16.46

61, rue Ch. Rivière· B.P. 0701 22, rue des 3 Pierres

C.i.C.C.

Grove house Ihe bordage St Peter Port GUERNSEY (0481) 20155

BENELUX

MEGAVOLT S.A.

Rue de Bleurmonl 328

Tél. (93) 85.15.96 44401 REZE CEDEX 69007 LYON Tél. (40) 75.52.80 Tél. (7) 861.19.52 B 4920 EMBOURG

Page 5: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

...

Editorial

Après des mois et des mois d'allente, nous avons enfin vu le 19 janvier les nouveaux produitS d'Apple, le Ile et le Lisa. Bien entendu. nous vous en parlons dans ce septième numéro de Porn's. Par opposition au dernier numéro. dons lequel nous vous auons offert plusieurs longs articles, nous uOus prOposons ici de nombreux articles de_fOUS genres. Les amateurs de Pascal peuvent se réjouir, ils trauueront trois programmes écri�dans leur langue!

Trois contributions assez importantes occuperont vos soirées pendant quelque temps: tout d'abord, un générateur de programme da d Denis Sureau, et accompagné d'une application sous forme de test programmable. Ensuite, Olivier Herz nous assène un programme Pascal de cryptographie à e/ef publique - grâce auquel uous pourrez coder et décoder des messages. Enfin. Gérard Michel concurrence le MEM/DOS en uous donnant un programme de gestion de masques dont l'analyse deurait permettre de grands progrès aux débutants ayant déjà lu ses artie/es précédents ..

De nombreux autres artie/es uous apporteront de multiples idées et de non moins nombreux programmes. Guy Mathieu nous montre comment exploiter les pOSSibilités graphiques de J'Epson. ce dont Olivier Herz s'inspire pour uous aider à effectuer des opérations logiques sur les pages graphiques. Nous apprennons à utiliser les minuscules dans Visicalc sur Apple li, puis nous analysons la conversion bidirectionnelle entre Apple Writer et des fichiers TEXT.

Michel Marquis nous propose un programme BASIC de boat pour lier PLE et CRAE (voir le numéro 1 de Pom's) à l'allumage de l'appareil et un programme de dump en Pascal. Philippe François apprend aux programmeurs en assembleur comment réaliser des programmes relogeables. Régis Lardennois nous enseigne une sécurité pour l'utilisation du directory Pascal. Bruno Lemaire et Gilles Mauffrey ont analysé le moniteur de l'Apple 11I et nous donnent quelques bonnes adresses. Quand à Olivier Heu. il propose encore un programme de Hard Copy pour Seikosha et un jeu (les quatre ponts) : avec un autre auteur comme lui. Pom's pourra devenir mensuel!

Suite aux nombreuses questions des lecteurs relatives aux programmes FID et MUFFIN, Alexandre Duback apporte quelques explications sur leur mode d'emploi. Vous trouverez aussi dans ce numéro un banc d'essai de J'Apple Ife (Jean.François Duvivier est de retour parmi nous), une présentation du Lisa, une analyse du programme Multiplan et du programme d'apprentissage du BASIC d'André Final.

Nous rappelons aux nouveaux lecteurs qu'une disquette facultative en DOS 3.3 accompagne chaque numéro de Pom's. Cette disquette reprend tous les programmes de la revue, agrémentés d'explications, d'un générique (souvent) et de programmes de démonstration (parfois). Les disquettes peuvent étre commandées séparément.

Le recueil numéro 1 de Pom's regroupant les quatre premiers numéros est en Irain de ft partir � à toute vitesse. Attention, nous n'en avons tiré que 5 000! On peut commander les trois disquettes du recueil séparément pour 150 francs (voir le bulletin).

Nous vous remercions de continuer à nous faire confiance et encourageons tous les lecteurs qui nous envoient leurs contributions.

Nous vous donnons rendez·vous du 14 au 18 juin à notre stand (T3) au sa/on Micro·Expo.

Hervé Thiriez

Ont collaboré d ce numéro: Jean-Jacques Crépy - Alexandre Duback - Jean·François Duvivier - Philippe François - Oli­vier Herz - Yvan Koenig - Régis Lardennois· Bruno Lemaire - Thierry Le Tal1ec - Michel MarquiS - Guy Mathieu - Gilles Mauffrey - Gêrard Michel - Denis Sureau - Hervé Thiriez - Jacques Tran-Van. RédOCleur : Olivier Herz - Dessins: Laurent Bidol.

Directeur de la publication· rédacteur en chef: Hervé Thiriez - Siège social et abonnements: Ëditions MEV - 49. rue Lamartine - 78000 Versailles - Rédaction: 59, bd de Glatigny - 78000 Versailles - Hl. ; (3) 918.13.07 - COUrTier des lecteurs (logiciel) : Olivier Herz - 17, rue du Gros Chéne - 44300 Nantes. Régie publicitaire: Force 7 • Anne Jourdan - 39, rue de la Grange-aux-Belles - 75483 Paris Cedex 10· Tél. (1) 238.66.10. Diffusion auprès des boutiques et librairies : Éditions du PSI - 41-51, rue Jacquard - B.P. 86 - 77400 Lagny-sur-Marne. Composition· Impression: SIM - 52, rue Servan - 75011 Paris - Hl. ; (1) 357.5l.20.

Porn's nO 7 5

Page 6: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

6

CTRL (ou les

- - RESET arcanes du Monitor Apple III)

Bruno Lemaire - Gilles Mauffrey

Tout utilisateur d'Apple /11, surtout s'il a aussi utilisé un Apple Il, s'est sans doute posé au moins une fois les questions suivantes : qu'y a-Hl derrière le rempart mystérieux du SOS? Peul-on utiliser le langage machine de )' Apple /fi aussi commo­dément que celui de son pelit frère, puisqu'ils utilisent tous deux le même processeur, le 6502 ? Nous allons donc essayer de donner dans cet artide quelques éclaircisse­ments sur l'utilisation et l'implanta­tion mémoire des principales routi­nes moniteur de l'Apple 1/l, en réser­vant à un article ultérieur la présen­tation de la structure du SOS.

Structure de la mémoire A. Généralités La mémoire de ]' Apple lf1 peut être considérée comme essentiellement composée de zones (banques) de 32 K-octets : une exception est faite pour la zone s'étendant de $FOOO cl $FFBF qui contient normalement le

Symbole G J 5 M

Syntaxe oG oJ

octet < m_pS n<m_pM

moniteur en ROM, mais qui peut être .. swilchée • pour contenir une zone RAM du SOS.

Le nombre de ces zones est variable, et dépend de la configuration de l'utilisateur. Il y a ainsi 4 zones pour un Apple 128 K, et bien sûr 8 zones pour un Apple 256 K. 1l n'y a cepen­dant que 64 K directement adressa­bles par l'utilisateur. décomposés en une banque .. système. allant de $0000 à $lFFF. et de $AOOO à $FFFF, et en une banque utilisateur allant de $2000 à $9FFF. C'est cette banque qui est .. switchable . par une simple modification du contenu de $FFEF. Ce contenu varie de FO à F2 pour un 128 K, et de FO à F6 pour un 256 K.

Si l'on veut implanter en mémoire un programme machine, on dispose donc sans problème d'au moins 32 K, plus une partie de là banque système non utilisée 'Par le SOS. Par contre, si l'on désire utiliser davantage de mémoire en modifiant

Commandes moniteur

Utilisation

le numéro de la banque utilisée, il faut veiller à ce que la partie du pro­gramme qui veut adresser d'autres banques soit sur la banque système.

B. Zones particulières 1) En dehors de la page zéro tradi­tionnelle (réservée pour différents pOinteurs et pour l'adressage indirect du 6502), et de la pile système en

.

page 1 (de $100 à $lFF), d'autres zones font fonction de page zéro (adressage indirect étendu, unique­ment lorsque le SOS est actif) et de pile pour le SOS et pour le pro­gramme machine chargé au moment du boat. 2) Mémoire écran. - Pour le texte. En 40 colonnes, elle utilise les positions de $400 à S7FF. En 80 colonnes, elle utilise aussi S800 à $BFF ; les caractères de rang pair sont alors stockés de la page $4 à la page $7, les autres étant placés entre les pages $8 el $B. - Pour les graphiques. Commence en page $20.

Ex�cule le programme commençanl en n SallIe a l"oclel n

V même syntaxe que M

Recherche l"eKistence d'un octel enlre m et n Copie ta lone comprise entre m et p a paMir de n

(- VeTily)

U R W

b\oc<bull.buI2R bloc<bufl.bul2W

Jump en 3FS POLI! routine L11i1iSllteuT (Use.-) Transl�re L1ne zone disque en zone mémoire Fait l"opéralion inverse. AUenllon : o�Talion polenliellement dangereuse !

bull et bLl/2 désignent le d�bul el la fin du buller de données_ m. n et p som des adresses en hexadécimal

Routines moniteur Les débuts de chaque routine sont données en hexadécimal ; celles-ci sont nommées d'après la correspon­dance qu'elles ont avec celles de l'Apple Il .

F9AE - PRBYTE (print a hexade­cimal digit) envoie le con­tenu de l'accumulateur sur l'organe de sortie

F9B7 - PRHEX envoie le quartet bas de l'accumulateur sur l'organe de sortie

FB7D - HDME FBAF - CROUT1 (return with

cJear) nettoie l'écran à partir de la position cou-

rante du curseur. puis a p p e l l e CROUT (., retour chariot)

FC06 - COUT 1 envoie le caraclère qui esl dans l'accumulateur.

FCD5 - GETLN: collecte une ligne de 80 caractères

FD07 - CROUT envoie un retour chariot

FDQC - KEYIN Iii le clavier de I"Apple fil

FD60 - RDKEY : traite le carac­tère saisi au clavier

Clefs Le préfixe .. e ,. est mis pour Escape.

e.L : nettoie fin de ligne

(e.E en A Il) e. P : nettoie bas de l'écran

(e.F en A 11) à partir du curseur

e.S : Home e.flèche : déplpcement dans le sens

de la flèche e.8 : passage en 80 colonnes e.4 : passage en 40 colonnes

(pour sortir du r1"'IQde Escape, taper deux fois d'affilée sur Escape).

Nous /erminons ici cette première présentation, remettant à un autre article une analyse de la structure du SOS. Bien entendu, le litre de cet article vous indique la façon d'obte­nir le mode moniteur. II est difficile de le découvrir par tâtonnements!

Pom's nO 7

Page 7: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

Cryptographie à clef publique

Le programme d-joint intéressera sans doute un grand nombre d'industriels ainsi que tous ceux qui sont préoccupés par le secret de leurs communications : il s'agît de l'implémentation sur Apple 11 en Pascal d'un système de cryptogra­phie à clef publique dont nous pou­vons assurer l'inviolabilité même avec J'aide des plus puissants ordina­teurs. Pour l'utiliser, il n'est pas nécessaire de connaître le langage Pascal, mais il faut savoir se servir du SYSTEM.EDlTOR et du SYSTEM FILER.

Cryptosystème à clef publique Dans un cryptasyslème convention­nel, l'expéditeur et le destinataire du message pos�denl lous deux une clef secrète (c'est-à-dire un ensemble de paramètres, habituellement des grands nombres choisis au hasard) permettant d'exécuter l'algorithme de codage du message par l'expédi­teur et celui de décodage par le des­tinataire. Ce message, une fois codé, peut être transmis par un moyen de communication non secret, comme la radio. II est clair que la fiabilité d'un tel système repose sur le secret de la clef, qui doit être distribuée au moyen de canaux sûrs, afin de ne pas être interceptée.

Dans un cryptosystème à clef révé­lée (ou publique), on n'a pas besoin d'un canal secret pour distribuer les clefs. Au contraire, chaque utilisa­teur possède deux clefs: une clef de codage qu'il rend publique et une clef de décodage privée. L'expédi­teur code donc le message avec la clef publique du destinataire, qui le décode avec sa clef privée. L'inviola­bilité réside dans le fait qu'on déduit très facilement par le calcul la clef publique à partir de la clef privée alors que l'inverse exigerait des mil­liers d'années de calcul sur ordina­teur, voire plus! C'est ce qu'on appelle une fonction à sens unique et à gâche : ce calcul inverse ne peut se faire qu'en connaissant une infor­mation secrète, la gâche de la fonc­tion

Pom's nO 7

Olivier Herz

(ISYSTEHE Ctt1PLET DE CRYPTOGRAPHI E A CLEF PUBL! QUEU (I�C (C) OLIVIER HERZ OCTOBRE 1992 POUR POH'SI) PROGRAH CRYPTOGRAPHIE; USES APPlESTUFF; VAR CI:J11I!\t\IDE: CHAR;

PROCEDURE MENU; CONST TAILLE -187;

LONGUEUR =36; TYPE ENTIER EINTEGERILONGUEURl;

CHO!DECA =SET OF CHAR; VAR BS,CR :CHAR;

NOM ;STRINGI II'NFACTEUR, BASE ,FACTEUR CLEF PUBLIQUE PRIVEE CODE,CLAIR MODTAB

:ENTIER; :ARRAYIL .TAILLEI OF ENTIER; :TEXT; :FILE OF ENTIER; :TEXT; :ARRAYIl_.LONGUEURJ OF ENTIER;

(111111111111111111111111111111111111) (1 PROCEDURES HABITUELLES COURANTES 1) (1 MERCI MICHEL CRIMONT! 1) (111111111111111111111111111111111111) PROCEDURE MESSAGE() :INTEGERj S;STRING); BEGIN GOTOXY(8,I); WRITE<S,CHR(II» END;

FLNCTION PRENCAR<Bc:t>ISET:CHOIDECA) :CHARi VAR CH :CHAR; BEGIN

REPEAT READ<KEYBOARD,CH) 1 IF EOLN(KEYBOARD) THEN CHI-CR; IF NOT <CH IN BONSET> THEN WRITE(CHR(7»

EL SE IF CH IN(' '.,'l'J THEN WRJTE(CH) UNTIL CH IN BONSET; PRENCAR; -CH

END;

PROCEDURE OUT<S:STRING); VAR CH :CHf:lIRj BEGIN

CLOSE(PRIVEE); CLOSE(PUBLIQUE); CLOSE(CODE); CLOSE<CLAIR); PAGE(OUTPUT) j HESSAGE(18,S>; WRITE(CHR(7)}; HESSAGE(I�,' APPUYEZ SUR (RETURN)') 1 CH:'"'PRENCAR([CRl) 1 E)(!T(MENU>

END,

PROCEDURE SORTIE; BEGIN OUT('CLEF OU MESSAGE NON VALIDE') END,

PROCEDURE DEHORS; BEGIN OUT('TITRE OU LECTEUR NON VALIDE') ENO;

PROCEDURE PRENENTIER(S:STRING; VAR ENT:ENTIER>; VAR 1 :l __ TAILLE; BEGIN

ENTI=8; IF (LENGTH(S)=8) OR (LENGTH<S» 36) THEN SORTIE; FOR 1:-1 TO LENGTH(S> 00 BEGIN

IF NOT (S[11 IN ('8' . . '9']) THEN SORTIE; ENT :-Etin! 18+ <ORD( S[ 1 J) -48)

END EN�;

PROCEDURE NOMFICHIER(SISTRING; J:INTEGER) i VAR SI :STRING[ Il;

BONSET :CHOIDECAj BEGIN

CLOSE<PRIVEE); CLOSE(PUBLIQUE); CLOSE<COOE); CLOSE(CLAIR);

7

Page 8: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

8

La méthode Les systèmes cryptographiques actuels tendent de plus en plus il uti­liser des problèmes dits de type NP (non polynomiaux) caractérisés par le fait que le nombre d'opérations nécessaires à leur résolution croît comme une fonction exponentielle, et non polynomiale. de leur taille. Noire programme utilise un cryptosystème basé sur le problème NP de l'empilement: étant donné n jetons de hauteurs respectives Al An et une hauteur C, corriment peut-on obtenir C en empilant un sous-ensemble de ces n jetons? On ne cannait actueHemenl pas d'autre solution que la recherche systémati­que de tous les empilements possi­bles (au nombre de 2 puissance n). Par contre, ce· problème est très facile dans un cas particulier: quand la hauteur d'un jeton est supérieure à la somme des hauteurs de ceux qui le précèdent (i.e. Ai somme de 1 à i­l des Ak. Il suffit alors pour le résou­dre d'essayer de soustraire de C·le dernier jeton ; si c'est impossible, on essaye l'avant-dernier, etc. jusqu'à ce que l'on y arrive ; puis l'on recommence le processus avec le résultat de la soustraction, etc . . . On parvient ainsi à la solution en n opé­rations au plus. On conçoit donc que l'on utilisera comme clef privée les jetons d'un problème facile et comme clef publique ceux d'un pro­blème difficile.

Explication des calculs On note BI . . . Bp les" hauteurs ,. du "problème facile • de TAiLLE n ; soient M un très grand nombre (la BASE) supérieur à la somme des Biet F (le FACTEUR) inférieur à M. F doit être premier avec M afin que l'on puisse trouver son inverse modulo M (l'INVFACTEUR E, lei que E.F = l modulo M) . Ceci cons­titue la clef privée et la gâche est for­mée de M et de E. On calcule alors les n" hauteurs ,. Al . . . An du" pro­blème difficile,. par a formule Ai -(BiFl moduloM ; les Ai forment la clef publique. Pour le codage, on décompose le texte en bits valant 0 ou 1 ; nous avons utilisé pour coder un caractère les 6 chiffres de la décomposition binaire de la différence entre son code ASCII et 32 : c'est le tableau BiT de la procédure CODAGE , les minuscules, de code ASCII supé­rieur à 96, ont été remises en majus-

PAGE(OUTPUT); MESSAGE(18.S); SI:=' '; NOM:=" ; BCNSET : = ( ' 8' • . '9' , 'A' • . 'Z' , ' a' . • '%' , '.' , ' : ' l j REPEAT

IF LENGTH(NOH)=8 THEN Sil Il:�PRENCAR(BCNSET) ELSE IF LENGTH(NOM)zI THEN SI(lllzPRENCAR«(CR,BS])

ELSE Slfll:-PRENCAR(BCNSET+(CR,BS1) 1 IF 51(1] IN BONSEr THEN NOM:=CONCAT(NOH,SI)

ELSE IF SI(11-BS THEN BEGIN I-IRITE(BS,' ',BS) j OELETE(NOH.LENGTH(NOH>,!>

END lIiTt L SI[ ll"CR; IF POS('.',NOH)-8 THEN NOH,-CONCAT('.4:'.NOH>; IF LENGTH(NOH)}I THEN NOH:-COPY(NOH,I,I)

END;

FUNCTION PLUSGRANO(A,B:ENTIER):BOOLEANj VAR U,V :STRING; BEGIN

STR(A.U); STR(B,V>; IF LENGTH(U)}LENGTH(V) THEN PLUSGRANO:=TRUE

ELSE IF LENGTH(U){LENGTH(V) THEN PLUSGRANO,zFALSE ELSE PLUSGRANO:=U}V

END;

FUNCTICN EGAL(A,B:ENTIER) IBOOLEANj VAR U,V :STRING; BEGIN STR(A,U); STR{B,V)j EGALI-U-V END;

FUNCTION RNO:INTEGER; BEGIN RNO:-RANDOH DIV 16384 END;

PROCEDURE ECRIS(I:INTEGER) i BEGIN WRITE('.'); IF I�TAILLE DIV 2 THEN WRITELN END;

PROCEDURE FAITMODTAB(�:�JER); VAR 1 :l .. LONGUEUR; BEGIN

FOR 11-1 TO LONGUEUR DO BEGIN

MODTAB[l]:-�-(� DIV BASE)�BASE; ENT:=19�MODTAB(I] END

END;

PROCEDURE MODULO(VAR �:�lER); UAR 1 :I .. LONGUEUR;

S ISTRING; BEGIN

STR(�,S)I �:-8j FOR l:s 1 TO LENGTH(S) DO

ENTI=ENT+(ORD(S[I])-4B)�HODTAB[LENGTH(S)+1-I); ENT:-ENT-(� DIV BASE)�BASE

END;

(nnnn��) (� CODAGE lE> (nnnnn)

PROCEDURE UAR I,J,K

CH

CODAGE 1

S BIT ENT

: INTEGER; : CHARI ISTRING; lARRAY(9 .. 63,1 • • 6]

:ENTIERô

BEGIN (�CODAGE�)

OF 8 .. 1;

NOHFICHIER('NOM DU CORRESPONDANT: ',13); (�$I-�)

RESET(PUBLIQUE,CONCAT(NOH,'.T(XT'» 1 IF IORESULT{}8 THEN DEHORS; O!$I+�)

PAGE(OUTPUT); WRITELN('LECTURE DE LA CLEF PUBLIQUE'); FOR 1:-1 TO TAILLE DO BEGIN

IF EOF{PUBLIQUE) THEN SORTIE; ECRIS<I); READLN(PUBLIQUE,S) i PRENENTIER(S,CLEF(I)

END; NOMFtCHIER('NOM DU MESSAGEI ;,11); n$I-�)

Page 9: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

cules et les caractères de contrôle, de code inférieur à 32. ont été rem· placés par des espaces, sauf le relour chariot, de code 13, remplacé par le code 95 qui représente un caractère inaccessible au clavier et donc peu usité. On découpe le message en groupes successifs de n bits Xl . . . Xn- Si le dernier groupe con­tient moins de n bits, on le complète par des bits aléatoires. Le codage consiste à calculer pour chaque groupe la hauteur C, somme de 1 à n des �Xi' Peur décoder, on commence par calculer D - C.E modulo M, puiS l'on résoud le problème d'empile­ment facile avec les Bi de façon à trouver les n bits Y li"' y n tels que D soit la somme des iVi- Or on voit aisément que les Yi sont nécessaire­ment égaux aux Xi ; ils permettent donc de reconstituer le texle original (en n'oubliant pas de remplacer le caractère de code ASClI 95 par un retour chariot) .

Réalisation pratique L'obligation d'utiliser de très grands nombres rendait pratique l'emploi du langage Pascal qui possède des entiers ayant déjà 36 chiffres (les grands entiers). De plus, la portabi· lité du Pascal permet d'utiliser le pro· gramme CCP .sur d'autres ordina· teurs.

Le programme utilise et stocke les clefs et messages sous forme de fichiers. Hormis la clef privée, qui esl un fichier de type DATA contenant des grands entiers (afin d'éviter que des indiscrets ne la lisent), la clef publique et les messages codé el clair sonl des fichiers TEXT qui peu· vent être lus ou écrits avec le SYSTEM.EDITOR (la clef publique et le message codé étant composés de grands entiers transformés en chaînes de caractères) .

Le programme est en fait une grande procédure (MENU) destinée à permettre le retour au menu en cas d'erreur par une instruction EXIT (voir les procédures SORTIE, DEHORS et OUT). Les procédures ou fonctions MESSAGES et PREN· CAR sont classiques et RND fournit un bit aléatoire. PRENEN'UER fait l'inverse de la procédure Pascal STR en transformant une chaine en un grand entier. NOMFICHIER prend au clavier le nom d'un fichier sans le suffixe qu'elle rajoute automatique­ment (.TEXT et .DATA pour les

Pom's nO 7

RESET(CLAIR,CONCATCNOM,'.B,TEXT'» ; IF IORESULTm8 THEN REWRITE<COOE,CONCATCNOM,'.I.TEXT'» ; IF IORESULT(>8 THEN DEHORS; <ISI+II) FOR 1:�8 TO 63 DO BEGIN

K:-l; FOR J:-I TO 6 DO BEGIN BIT{I,Jl:-K HOD 2; K:-K DIV 2 END

END; PAGECOUTPUT}j WRITELNC'COOAGE'}; 1:-TAI.LLEj ENT:-8j REPEAT

IF EOLN<CLAIR) THEN BEGIN REAOUN<CLAIR)1 WRITEUNI Kle63 END ELSE BEGIN

READ<CLAIR,CH) j K:-ORO<CH)-32j IF K(8 THEN K:-Bi IF K>63 THEN KI-K-32, WRITE(CHR<K+32»

END; FOR J:=6 OOWNTO 1 DO BEGIN

ENT:-ENT+CLEFtllIlBIT(K,J11 Il,,1-1; IF 1=8 THEN BEGIN

END;

STR<ENT,S); WRITEUN<CODE,S); Il-TAILLE; [NT1-8

END

IF (EOF(CLAIR» ,:::>ND (JOTAILLE) THEN BEGIN

REPEAT ENT:-ENT+CLEFI1 lliRNDI 1 1-1-1 UNTIL 1-81

Suite du listing page 11

Programme VÉRIFICATION

Suite et fin de t'article

Effacement du directory en Pascal Pages 59·60

1

9

Page 10: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

10

clefs publique et privée, .O.TEXT et . 1 . TEXT pour les messages en clair et codé). S'il n'y a pas de préfixe. elle rajoute #4 : (le préfixe doit indi­quer le numéro du drive et non le nom de la disquette) . PLUSGRAND et EGAL comparent deux grands entiers (en théorie, rien n'empêche de comparer deux grands entiers comme on le fait avec des entiers ou des réels, mais en pratique cela pro­duit des erreurs et des'" plantages. à l'exécution; cette cause d'erreurs ne fut pas évidente à découvrir et reste mystérieuse 1). fA1TMODTAB et MODULO permettent de calculer les expressions Bi .F modulo M et C.E modulo M (alors que les poduits Bi .F et C.E excèdent les 36 chiffres) grâce au tableau MODTAB qui con­tient les valeurs modulo M des pro­duits de F ou E par les puissances successives de la. Les procédures CODAGE et DECO­DAGE comportent deux parties' la demande des noms des fichiers puis le codage ou le décodage propre­ment dits. Si l'opération de déco­dage rencontre un problème d'empi­lement ne pouvant être résolu (mau­vaise clef ou mauvais message), elle s'arrête (on peut la laisser continuer si l'on supprime la ligne avant le UNTIL) . La procédure ALEATOIRE fournit un grand entier aléatoire compris entre INF et SUP-l. La méthode uti­lisée est la dichotomie qui, bien que longue d'exécution, est la plus facile à mettre en œuvre avec des grands entiers. La procédure récursive BEZOUT permet de résoudre par l'algorithme d'EUCLIDE l'équation de BEZOUT AX - BV = 1 quand A<B. Elle est utilisée ici avec A = F, X - E, B - M el Y = K où EF = KM + 1 . La procédure GENERAT[ON commence par cal­culer la clef privée en se fixant pour chacun de ses entiers des limites supérieure et inférieure confortables (SUP et INF) ; puis elle calcule [a clef publique .

Notons que la constante T A[LLE vaut 107, ce qui est à peu près [e maximum que l'on puisse prendre avec ce programme. Mais on peut parfaitement utiliser ce programme avec une v.aleur plus faible . Remar­quons que le calcul exhaustif de tous [es empilements lorsq-u'on a 107 jetons (i.e. [e décodage de Cl prendrait avec un ordinateur étu­diant 1000 milliards d'empilements par seconde (ne révons pas 1) 5000 milliards d'années! Remar-

quons encore que 107 n 'est pas multiple de 6, le nombre de bits par caractères , ce qui permet d'embrouiller encore plus un éven­tuel décrypteur en codant ceriaines lettres à cheval sur deux empile­ments. On peul prendre une T A[LLE multiple de 6: chaque empilement correspond alors exac­tement à T A[LLE/6 lettres, ce qui le rend autonome.

Mode d'emploi

Signalons tout d'abord que pour envoyer un fichier TEXT à un cor­respondant on peut, soit lui envoyer une disquette, soit utiliser un modem, soit encore imprimer et envoyer (par radio ou par courrier) le texte afin qu'i! soit édité et sauvé. Dans un premier temps, chaque uti­lisateur du système CCP fabrique un système de clefs. M. Dupont par exemple répondra G et DUPONT (ou bien # 5 : DUPONT) au pro­gramme CCP et l'Apple fabriquera sur la même disquette les fichiers DUPONT.TEXT (clef publique qu'il devra fournir à ses interlocuteurs) et DUPONT.DATA (clef privée qu'il devra garder sur une disquette dans un coffre à l'abri) .

Pour envoyer le message MISSIVE à

M. Durand , M. Qubois commen­cera par éditer son texte (en y glis­sant si possible de nombreux signes de ponctuation ne gênant pas la compréhension du texte, ce qui rend encore plus difficile tout essai de décryptage) et il le sauvera sous le nom MISSIVE.O.TEXT. Puis, ayant vérifié qu'il possède le fichier DURAND.TEXT, il répondra C, DURAND (ou bien # 5 :DURANDl et MISSIVE (ou bien # 5 .MISSIVE) au programme CCP qui fabriquera le ficnier codé MISSIVE. 1 ,TEXT {sur la disquette où se trouve MIS­SIVE.O.TEXT} , qui devra parvenir à M. Durand. Pour le décodage , ce dernier sortira le fichier DURAND.DATA de son coffre et répondra D, DURAND (ou bien # 5 :DURAND) et MISSIVE (ou bien # 5 :MISSIVEl au pro­gramme CCP qui recréera pour lUI le fichier MISSIVE.O.TEXT (sur la disquette où se trouve MISSIVE LTEXTl. Notons que pendant les opérations de codage et de déco­dage. le message en clair apparaît sur l'écran au fur et à mesure de sa lecture ou de son écriture.

En conclusion, nous avons là un système cryptographique très simple d'emploi et parfaitement sûr. Les temps d'exécution sont de 6 minutes pour écrire le système de clefs, d'environ 9 cps {caractères par seconde} pendant le codage et d'environ 5 cps pendant le déco­dage. Mais ces temps diminuent for­tement avec la constante TAILLE et il y a un compromis à trouver entre la vitesse d'exécution et la sécurité du codage. Remarquons que le cryptosystème utilisé ne permet mal­heureusement pas l'authentification de l'expéditeur, contrairement à un système plus récent, développé au M.LT., dans lequel les clefs publique et privée ont des rôles symétriques. Mais ce dernier système est pratique­ment impossible à mettre en œuvre sur Apple Il car il utilise de très grands nombres premiers.

Bibliographie

« La guerre des codes secrets" par David Kahn chez Inter Edilions est un exceHent ouvrage sur l'histoire du chiffre. Dans « Les progrès des mathématiques », Pour' la Science publie un recueil de ses articles de mathématiques dont "Les mathé­matiques de la cryptographie à clef révélée », écrit par l'un des auteurs du système à empilement.

Pom's nO 7

Page 11: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

STR(ENT,S) ; WRITELN(CODE , S ) ; END

UNTIL EOF(CLAIR) ; CLOSE(CLAIR) ; CLOSE(CODE,LOCK)

END; (lCODAGH)

(UUUUUU) U DECODAGE l) (HHHHHH)

PROCEDURE VAR I,J,K

S ENT

DECODAGE; : INTEGER; :STRING; :ENTIERj

BEGIN (lDECODAGEl) NOMFICHIER( 'VOTRE NCI'1: ',13) ; ( UI-l) RESET(PRIVEE,CONCAT(NOM,' . DATA'» ; IF IORESULT(>9 THEN DEHORS; ( :';$1+:';) PAGE(OUTPUT); WRlTELN('LECTURE DE LA CLEF PRIVEE') ; FOR 1:=1 Ta TAILLE DO BEGIN

IF EOF(PRIVEE> THEN SORTIE; ECRIS(l) ; CLEF[IJ:=PRIVEEA; GET(PRIVEE)

END; IF EOF(PRIVEE) THEN SORTIE; BASE:=PRIVEEA; GET(PR[VEE) ; IF EOF(PRIVEE) THEN SORTIE; INVFACTEUR:=PRIVEEA; NOMFICHIER( 'NOM DU MESSAGE: ' , Ill; (l$I-l) RESET(CODE,CONCAT(NCI'1,'.J.TEXT�» ; IF IORESULT=9 THEN REWRITE(CLAIR,CONCAT(NOM,' . 9.TEXT'» ; IF IORESULT(>9 THEN DEHORS; (UIHl FAITMODTAB(INVFACTEUR) ; PAGE(OUTPUT) ; WRITELN(�DECODAGE�) j J:=9; K:=9 j REPEAT

READLN(CODE , S ) ; PRENENTIER( S , ENT) ; MODULO(ENT)j FOR I:=TAILLE DOWNTO 1 DO BEGIN

J:=J+ l ; K:=2�K+ l ; IF PLUSGRAND(CLEF[IJ,ENTl THEN K:=K-I

ELSE ENT:=ENT-CLEF[IJ; IF J=6 THEN BEGIN

IF K=63 THEN BEGIN WRITELN; WRITELN(CLAIR) END ELSE BEGIN WRITE(CHR(K+32l) ; WRITE(CLAIR,CHR(K+32» ENO;

J:=9 j K:=9 END

END; IF NOT EGAL(ENT , 9 ) THEN SORTIE

UNTIL EOF(CODEl; CLOSE(CODEl; CLOSE(CLAIR,LOCK)

END; (lDECODAGEl)

(llllllllllllllllllllllllll (l GENERATION D'UNE CLEF l) (lllllllllllllllllllllllll)

Pom's nO 7 1 1

Page 12: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

12

PROCEDURE VAR 1

S B�

GENERAT J CN , : 1 .. TAILLE;

:STRINGj :BOOL�;

INF, SUP , BIDON :ENTIER j

PROCEOURE ALEATOIRE(VAR ENT:ENTIER) ; VAR 1 :1 . • 4;

A,e :ENTIERj BEGIN

A:=INF; B:=SUP; REPEAT

ENT:=(A+B) DIV 2; IF NOT EGAL(A+B , 2lENT) THEN ENT:=ENT+RND; IF RND=8 THEN B:�ENT ELSE A:�ENT

UNTIL PLUSGRANO(3,B-A)j ENT:=A; IF EGAL(2,B-A) THEN ENT:=ENT+RND

END;

PROCEDURE BEZOUT(A,B:ENTIER; VAR X,Y:ENTIER); VAR a,R :ENTIER j BEGIN

X:=8; Y:=9; IF B� THEN BEGIN

Q:=8 DIV A; IF EGAL(B,QXA) THEN IF EGAL(A , I) THEN-

BEGIN Y:�I; X:�B+I END ELSE B�:�FALSE

ELSE BEGIN B:=B-QlAj R:=A DIV Bi IF EGAL(A,RXB) THEN IF EGAL(B,I) THEN

ELSE BEGIN

BEGIN Y:�-I; X:�HQXY END ELSE B�:�FALSE

A:=A-RlBj BE20UT(A , B,X , Y); Y:=Y+RlXj X:=X+QlY

END END;

END

BEGIN (XGENERATI�X)

END

NOHFICHIER( 'VOTRE NOt1: ',13>; (l$1 -X) REWRITE(PRIVEE, CONCAT(NOM,' .DATA'» ; IF IORESULT(>8 THEN DEHORS; ( X$I +X) SUP:=18; INF:=3; PAGE(OUTPUT); WRITELN('ECRITURE DE LA CLEF PRIVEE'); FOR I:�I TO TAILLE DO BEGIN

ALEATOIRE( CLEFII1); PRIVEEA:�CLEFII1; PUT(PRIVEE); ECRIS (1 ) ; INF:�INF+CLEFII1; SUP:�2XSUP

END; INF:=SUP; SUP:=2XSUP; ALEATOIRE(BASE); PRIVEEA:�BASE; PUT(PRIVEE); WRITE ( '. ') ; INF:=BASE DIV 2; SUP:=8ASEj

Pom's nO 7

Page 13: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

REPEAT ALEATOIRE(FACTEUR); WRITE(' .'); BON:=TRUE; BEZOUT(FACTEUR,BASE,INVFACTEUR,BIDON)

lNTIL B�; PRIVEE':=INVFACTEUR; PUT(PRIVEE); CLOSE(PRIVEE,LOCK); (l$l-l) REWRITE(PUBLIQUE,CONCAT(NOH,'.TEXT'» j IF IORESULT()9 THEN DEHORS; (:':$1 +30 WRITELN; WRITELNj WRITELN('ECRITURE DE LA CLEF PUBLIQUE') i FAITHODTAB(FACTEUR) ; FOR 1 :=1 TO TAILLE DO BEGIN

MODULO(CLEFIII); ECRIS(I); STR(CLEF(ll,S); WRITELN(PUBLIQUE,S)

END; CLOSE(PUBLIQUE,LOCK)

END; (lGENERATIONl)

BEGIN (lMENUl) CR:=CHR(13); BS:=CHR(S); PAGE(OUTPUT>; RANDOHIZEj MESSAGE(2,' OLIVIER HERZ PRESeNTE C.C.P.'); HESSAGE(5,' SYSTEME COMPLET DE'); MESSAGE(7,' CRYPTOGRAPHIE A CLEF PUBLIQUE.'); MESSAGE(II,' G)ENERER VOTRE SYSTEME DE CLEFS'); MESSAGE( 13,' C) ODER UN MESSAGE') ; MESSAGE(15,' D)ECODER UN MESSAGE'); MESSAGE(17,' Q)UITTER LE SYSTEME C.C.P.'); MESSAGE(28,' VOTRE CHOIX:') j C01'1ANDE:=PREl'IICAR(['G' ,'e" ,'0' ,'Q; ,'9" ,'e' ,'d' ,'q']); CASE CCH1ANDE OF

.. G' " 9' : GENERATItIN; 'e' ,'c' : CODAGE j 'D','d':DECOOAGE

END END; OEMENWO

BEGIN (lCRYPTOGRAPHIEl) REPEAT MENU UNTIL CCH1ANDE IN l'Q','q'l

END. <lCRYPTOGRAPHIEl)

Micromos L'avance technologique Carte mémoire 256 Ka pour

APPLE II

Laboratoire: 17, Plateau de la Ravinière - 95520 OSNY - Tél. (3) 032-16-71 - (3) 032-37-78

Pom's nO 7 :3

Page 14: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

Etudiants, lycéens, lisez

L ycéens, étudiants, enseignants, parents: l'équipe de la revue UORDINATEUR INDIVIDUEL publie un numéro spécial

hors-série qui fait le point sur l'ordinateur à l'école. • Un ordinateur dans une classe? • Comment l'enseignement peut-il être facilité par un

ordinateur individuel? • A partir de quel âge peut-on découvrir l'informatique? • Quelle aide un ordinateur familial apporte-t-i1 sur le plan

éducatif? • Comment créer et gérer un club d'informatique individuelle

dans un établissement scolaire ou universitaire? Toutes les réponses à ces questions (et à d'autres!) figurent dans ce dossier indispensable réalisé à partir d'une synthèse

des meilleurs articles parus dans L'ORDINATEUR INDIVIDUEL.

En 1983, il n'est plus raisonnable d'ignorer le formidable outil qu'est l'ordinateur. Pour être mieux informé sur ce domaine,

lisez UORDINATEUR ET UÉCOLE.

Page 15: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

Graphique, quand tu nous tiens . . .

On peut reprocher aujou"rd'hui à l'Apple Il un écran graphique man­quant de finesse : la nouvelle géné­ration de micro-ordinateurs exprime souvent ses aptitudes graphiques en centaines de mi!liers de points, par exemple 800 x 400, plutât qu'en dizaines de milliers : 280 x 192. N'oublions quand même pas qu'il y a seulement trois ans l'Apple Il était le phénix des hôtes de ces vergers, car, à ce prix, les possibilités graphi­ques étaient rares.

L'Apple II garde une caractéristique particulière attrayante. celle de la double page graphique. Pour peu que l'on possède une imprimante capable d'en tirer le meilleur parti, nous voilà bien armés. C'est le cas avec J'EPSON MX FT munie de l'interface graphique EPSON pour Apple [1. Quelles sont les possibilités offertes ?

D'abord, celles qu'offrent [a plupart des imprimantes graphiques moder­ne, - noir sur blanc ou blanc sur noir - simple ou double dimension et ceci, bien entendu, en utilisant la page graphique 1 ou 2 au choix.

Ensuite, et c'est la grande originalité, des combinaisons en une même impression du contenu des deux pages.

- impression côte à côte du con­tenu de chacune des deux pages (ex. 1) ; - opération logique « ET » (produit logique) donnant l'impression des points communs aux graphes des deux pages, et de ceux-là seulement (ex. 2) ; - opération logique « OU inclusif ,. (somme logique) donnant ['impres­sion de tous les points figurant sur au moins l'un des deux graphes (ex. 3) ; - opération logique " OU exclusif � (différence symétrique) donnant l'impression de tous les points qui figurent sur l'un des deux graphes, et pas sur l'autre (ex . 4).

Ces opérations sont bien sûr compa­tib[es avec les précédentes.

Il existe également une possibilité de n'éditer qu'une fraction de graphe, désignée pàr sa position sur l'écran, en référence aux lignes et colonnes

Pom's nO 7

de même emplacement dans le mode texte.

Le programme ci-après permet l'exploitation par un questionnaire en séquence de ces diverses possibi­lités (à ["exception de la dernière citée). J1 permet aussi - de visualiser le ou les graphes choisis, de permuter les de\.lx pages. de revenir au menu , - de choisir entre l'impression de graphes déjà existants en machine (il peut alors être utilisé en sous­programme d'un programme gra­phique) et la recherche sur disques de graphes préenregistrés.

Mais tout ceci n'est-il pas un jeu de l'esprit ? Pour nous convaincre du contraire, nous allons examiner quelques cas d'application.

Graphe double dimension Cette formule est idéale pour créer : • des pages de titres, • des transparents pour rétro­projecteur.

Intersection de deux graphes Permet par exemple de détecter immédiatement les points communs à deux schémas de circulation afin de détecter d'éventuels «points noirs_ (ex. 5).

Union des deux graphes Permet d'utiliser «un fond de plan,. et d'y placer, successivement, divers tracés. Par exemple, une carte sur laquelle on trouvera les villes. puis les richesses minières, etc .

Différence de deux graphes Permet de repérer immédiatement les modifications apportées à un gra­phe entre deux versions successives (ex. 6) L'imagination des «dingues du gra­phe .. étant sans limites, bien d'autres applications peuvent être trouvées. Il est même probable que d'autres imprimantes offrent ou offriront des possibilités du même ordre.

N.B. L'Apple {fe, et autres nouveautés Apple. conserveront-ils cette double page graphique ?

Guy Mathieu

Programme et commentaires 1 à 900 : paramètres d'initialisation et tracés - tests sur pages 1 et 2. 200 : affichage des pages graphi­ques. 5 000 : déroulement du questionne­ment. 6 000 : mise en route de l'impres­sion . 1 0 000 : recherche de graphes sur disques. 30 000 : sous-programme d'attente .

Mode d'emploi N'oubliez pas que la carte graphique Epson est telle que deux graphes sont toujours tracés côte à côte en format normal. Ces deux graphes, différents dans le cas de notre option COTE A COTE, sont identiques dans tous les autres cas. Le graphique de la page 18 illustre la séquence des questions posées par le programme à ["utilisateur . Remarque : si l'on répond 1 (COTE A COTE) il la troisi€me question. il faudra ultérieurement penser â placer les gra­phes dans le deux pages pour qu 'ils se présentent dans I"ordre convenable il l'édition

Exemple d'utilisation Nous cherchons à imprimer côte à côte deux graphes sauvés sur une disquette sous les nom CHATS 1 et CHATS 2. Il faut exécuter le pro­gramme puis placer la disquette dans le lecteur et suivre la séquence suivante

Questioll Répollse Choix

1 3 Les deux pag"s 2 1 NOlmal 3 1 Côte S côte 4 N Pas en mémoire

Ensuite, choisir l'option CATALO­GUE, amener face à CHATS 1 et faire RETURN . Venir après CHATS 1 et faire RETURN pour le changement. Suivre la même séquence pour CHATS 2. Enfin, dans le menu, choisir 1 (vérification de la page 1), puis 2 (page 2), ESC (retour) et enfin RETURN (impres­sion).

15

Page 16: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

16

I l

Exemple 1 - Page 1 .

. -

, - -

Exemple 2 - Page l "ET" 2.

I l

- - ,

. . . .

• • - 0"

Exemple 1 - Page 2.

Exemple 3 - Page l "OU (inc1usif)" page 2.

Exemple 4 - Page l "OU (exclusif)" page 2.

Porn's nO 7

Page 17: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

Exemple 5 : Sécurité Incendie

j B a l i MIli;IH 0

< 1 B o l ; •• n l B 0 0

Page 1 - Sécurité Incendie . Plan d'évacuation des agents.

j B a l i r u n l R 1 1 1 B a l ; •• n l B 1 0 0

Page 2 - Sécurité Incendie.

D

D

Circulation des véhicules de secours.

j B a l i me n l A

1 B a l ; •• n , B 0 D 0

Page l "ET' Page 2 - Sécurité Incendie. Identification des "points noirs".

Pom's nO 7

L 1

I L <

1

L 1

Logiciel traceur

de courbes Votre APPLE I l sait aussi dessiner sur un traceur de courbes, lTI!Iis encore lui faut·il un logiciel puissant pour faciliter votre travail. Notre logiciel. utilisable en Basic, vous permet de composar facilement vos graphiques comme sur un traceur da haut de gamma. Avec une programmation de quelques lignes, nos sous-pro­grammes traceront pour vous : droiœ" courbes. histogrammes, IIXes, grilles, titres, annota· tians, C8fC1es, rectangles, flèches, etc ...

Tl"8C8UfS au format A3 et A4 HOUSTON STAOBE BAVANS CALCQMP

�. NFORMATIQUE

MIN�����H: v�i��°ci 'SPOSITION

OE M�������t/ci��g��CIELS

MINIGRAPHE MICROINFORMATIQUE

263, Buulevard Jean-Jaurès, 92 1 00 Boulogne Tél 608.44 31

17

Page 18: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

Question 1

l - Page l

Z - Page Z

3 - Les 2

Question 2

Normal

Inverse

ÉTUDIE

FORME RÉAUSE LIVRE

Question 3 Question 4

Format normal

Format double

Dessin en mémoire

Côte à côte Catalogue ..f et choix Dessi� non en memOlre

Intersection lSi 2 pagesJ Union

Différence

Graphe du mode d'emploi

• opportunité d'utilisation de l'outil micro-Informatique

Menu

1 Examen de la page 1

2 Examen de la -page Z

'ESC' Menu

'RETURN' Impression

Retour à la question 4

• intégration entre informatique traditionnelle et personnelle • politique de la communication dans l'entreprise

• formation â l'utilisation de la micro-informatique

• réalisation de programmes â la demande

• livraison de systèmes clés en main, avec des progiciels de GESTION DE STOCK, PAYE, COMPTABILITE.

Nous sommes gestionnaires avant d'être informaticiens, L·informalique doit s'adapter à l'homme, et non l'inverse, L'outil micro-informatique rêpond particuliêrement bien à ce souci de qualité et d'efficacité du travail,

dans des conditions conviviales. Nombreuses références en informatique traditionnelle - divers matériels - et en informatique individuelle - principalement

Apple - auprès des PME et des groupes industriels

1 ogma s.a. Centre La Châtaigneraie - 29, avenue de Versailles - 78170 La-Celle-St-Cloud - Tél. . (3) 918.13.07

18 Porn's nO 7

Page 19: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

Exemple 6 : les petits chats.

Page 1 - Situation de départ.

Page 2 - Situation d'arrivée.

SOMME logique : Ceux qui ont bougé entre 1 et 2.

Pom's nO 7

1 LCI1EH; 25999 2 TEXT 3 HCI1E 5 DD ". PEEK < 49 1B5> ; I F DO :: 9 OR DO )

2 THEN DD = 1 19 Dt :: CHRS ( 4 ) : G$ ::

HRS ( 1 7) : ZERO$ :: HGR ; HCOLOR= 3

CHRS ( 7) : 12$ =

CHRS ( 8 )

FOR 1 :: 8 TO B9 STEP 1 9

c

20 30 35 HPLOT 1 , 1 TO 1 , 198 - 1 TO .27B - 1 , 1 9

8 - 1 T a 27B - 1 , 1 TO I t I 40 50

NEXT

.0

70 75

FOR 1 = - 19 TO 1 8 : HPLOT 139 . I , B 5 TO 139 • 1 , 1 8 5 : NEXT

HGR2 : HCOLOR= 3 : HPLOT 9 , 0 TO 8 , t98 TO 27B , 1 99 TO 27B , 9 TC 8 , 8

FOR 1 = 8 TO B8 STEP 18 HPLOT 1 39 , 1 TO 1 , 95 TO 139 , 198 - 1 T

o 27B - 1 , 95 TO 1 39 , 1 80 85

NEXT FOR 1 K - t9 TO 1 9 : HPLOT 139 + 1 , B

5 TO 139 + 1 , 1 9 5 : NEXT .0 200 2 1 0 2 15 220 250 5986 58 1 6 5826

GOTO 5886 REM PERt1UT . PAGES POKE - 1639 4 , 9 I F PAGE :: 1 THEN I F PAGE � 2 THEN RETURN

POKE POKE

REM HENU PRINCI PAL TEXT : HCI1E

- 1639 8 , 8 - 16299 , 8

VTAB 1 : PRINT " I < ERE PAGE) - 2 < EHE PAGE) - 3<LES DEUX) REPONDEZ PAR 1 , 2 OU 3 S . V . P . " j

5936 GET Z$ 5848 P = VAL (Z$) 1 I F P ( 1 OR P ) 3 TH

EN PRINT 6$: GOTO 58 18 5858 5 1 9 6

PRINT VTAB 4 : PRINT " 1 (NORMAL) - 2 ( INV

ERSE) REPCI'-IDEZ PAR 1 OU 2 S . V . P . " ;

5 1 1 8 GET Z$ 5128 1 :: VAL < Z$) : 1 F 1 ( 1 OR 1 ) 2 TH

EN PRINT 0$ : GOTO 5 1 8 8 5136 1 :: < 1 - 1 ) li: 32 5148 PRINT 5286 I F P ( 3 THEN 5308 5219 VTAB 7 : PRINT " 1 ( COTE A COTE) - 2

( INTERSECT ION> - 3 (UNION) -4 < D I FFERENCE) REP(J\,I DEZ PAR l , 2 , 3 OU 4 S . V . P . " ;

5229 GET Z$ 5239 L - VAL < Z$) : I F L ( 1 OR L ) 4 TH

EN PRINT OS : GOTO 5219 5249 L :: <L - 1> li: 4 : I F L - 1 2 THEN L

5258 5398 5318

5328 5338

5348 5358 5486 5588 5518

5512

16 PRINT I F P :: 3 AND L - 0 THEN 5489 VTAB I l : PRINT " 1 < FORMAT NORMAiU

- 2 < FORMAT DOUBLE) REPONDEZ PA R I OU 2 S . V . P . " ;

GET Z$ 0 :: VAL < Z$) : I F D ( 1 OR 0 ) 2 TH

EN PRINT 6$ : GOTO 53 1 8 o :: ( 0 - 1 ) li: 64

PRINT COEFF - P + L + + D

VTAB 15 IF P ( 3 THEN PRINT " L E DESS I N ES

T- I L DEJA EN MEMOIRE?" I F P :: 3 THEN PRINT "LES DESSINS

Set-rr- I LS DEJA EN HEMOIRE?"

19

Page 20: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

20

5515

5529 5539

5548 5:559 5569 5:578 5575 5599 5598 5699

5 6 1 8

5628

:5639

:5649

5658

5669 5799

-

PRINT " REPONDEZ PAR 0 OU N S . V . P .. " ;

GET Z. I F Z. < } " 0 " AND Z. < } "N" THE

N PRINT 0$ : GOTO 55ge PRINT I F Z. - "a" THEN 56e9 GOSUB IUU PRINT a."BLOAD" ; Z Z. j " ,A.2888" IF P < 3 THEN 5699 GOSUB 18U8 PRINT a. " 8LOAD" j Z Z . j " ,A.4888" HOME : PRINT "VOUS D I SPOSEZ MAINTE

NANT DES COHHANDES SUIVANTES: " PRINT : PRINT " 1 OU 2 POUR FAI R

E APPARAI TRE SUR L' EC RAt-! t..t.IE DES 2 PAGES"

PRINT : PRINT " ' ESCAPE ' ER DU MODE GRAPHIQUE

MODE TEXTE (MENU) " PRINT : PRINT " ' RETURN'

ER L ' I MPRESS I ON " PRINT : PRINT " 9

GER EVENTUELLEMENT (OU LES) ORAPHE(S> "

POUR PASS AU

POUR lANC

POUR CHAN LE

PRINT : PRINT 1 PRINT "VOTRE CHOIX ? " i l OET Z.

H<J'tE PRINT

-

c:::J - -

- � -

da"o':'-,<I .<1 _ ( :;;Z", ) : F�J� \! "" .Il.: .... " .......... "_"' • • �,. ... . " ..... � .z _ """:<.'.'.N; Li7.7

c:J .. ,;.1.>0..""01,," .iu;!J= = y ;V"" • .,,..,d;'b .. "'., ,. ., .... , ... �.t ,,",' . .'OW"' d '''-''''0 �r , or ",,-,.!v,," • """ô""" Q� •

•• 1'0 .... . 'u''''''' . .... ptIqI • • "'I:ffO=O' .. ,h·ux! 08 • .'.'"""J;> "". ""Ol.� - ....... O�� �&q .� �. "" 0.' •. '"" .. ,,; :»r •

.�OI .. """"llI l!U.t.i( H a�U! lal''t.UIC • ": ''''0; ... h' ... .. . ,h� . .... n .. oJ �. o.:;:U-='�. ,o.=.:.nO<:. .

."",01 .� • .,...·0. �. ""p .,,,� ob '",,'uo "tu"'un ",i ,.,On·., u,!,.,.u ... ��=� ... .

.,.H, ... , .. -J= .. I -"!�,,�,, "".0, .... e • • Io::.l' ... ":.",,. .: ._ov •• .." .'".� ... ""ob .. 1 �.I,.v ,,,,,,,1a� n. ,,�.,"�Ub .,.,:..-.., •• � •• � .è�O"'" ="�Z etoO"l .Z;;�J' JJ �C .:n .:..! . _

o .,.,.,-"-,<1 ol - ( .. );,;." ) > ""';�� \< 6.( :>i.;.. ) 1 llI'Q:> d .H., • 'U"".,o�l .l.ü."!� .j'�l,.,:,.j� . . .=>;=ln..t" .""-"0' .b u"_ •. , .. .. .. ",ou. �� .

. ''''''U .• u:o .... .. """lI,,, .''':0'-0:0' .. ,ln.:::! �! .. ..... " ,,...,, .... 'H.to,WI _ "1�<>"q """ ."" -.. '''' .... : •. , '.'0."". ;,,: .

, .... v'"·o� ." .. ,a"" nU' " " ,,"..ob '.h' ... h.n� ."", " "j"'� ",.

- -

T :) • ! -

, ,

, , ,

5739 5749

5759

5769 5779 6888 68 1 8 68 12 68 15 6829 6838 6959

6968

68.18 6888

6898 6 1 8 8 leue 18848 18858

19955 19868 18865

18878

18888

18898 19895 18 lU

1 9 159 18289 18488

1 8 4 1 8

18428 18588 18699 38888 388 1 9 38838

39948 38858

38868 38878 39 188

IF ASC (Z.> - 13 THEN 6899 1 F ASC (Z.> = 27 THEN TEXT : HOM

E 1 GOTO S6U PAGE = VAL (Z.> : I F PAGE = t OR PA

GE = 2 THEN GOsue 299 : GOTO 5688 I F PAGE = 8 THEN 5568 PRINT G. I GOTO 56ge REM COHMANDE IHPRIMANTE PRINT a."PRl l " PRINT ZERQt, POKE 1 9 1 3 , COEFF PRINT a. PRINT M"PRI8" TEXT : HOME : PRINT ·VOULEZ-VOUS U

NE AUTRE IMPRESS I ON ? " PRINT � PRINT " ( REPONSE PAR 0 OU

N S . Y . P . ) " i GET Z. IF Z. = "N" THEN VTAB 1 8 : HTAe 1 8

: PRINT "AU REVOI R" : END I F Z. = " O · THEN 5888 PRINT 0$: GCTO 6858

REM CATALOG HOME : PRINT M" CATALOG , D " ;DD VTA8 1 : PRJNT "FLECHES -} ( - POU R DEPLACER LE CURSEUR JUSQU'AU NO M VOULU PUIS ' RETURN' (OU ' RETURN' SI LE NOM N' EST PAS AFFI CHE"

vv � 3 : HH ; 7 1 VTAB VV : HTAB HH GET Z.IZ = ASC ( Z.) I F Z '" 1 3 AND W ( 4 THEN HCI1E

PRINT ·VOUS POWEZ MA INTENANT CH ANGER DE DI SQUE " : GOSUB 39999 : GO TC 1 8 8 8 9 I F Z = 8 THEN W - VV - 1 : I F VV < 3 THEN W - 3 I F Z - 2 1 THEN W - VV + 1 : I F W

) 23 THEN VV '" 23 I F Z = 13 THEN 194ge VTAB W: HTAB HH I F Z < } 13 AND Z < } 8 AND Z <

} 2 1 THEN PRINT G. VTAB W : HTAB HH GOTO lU69 VTAB 1 : HTAB 1 : PRINT "AVANCER PN EC LA FLECHE -} JUSQU'A DEPAS-SER

LE NOM •

I NVERSE : VTAB 3: PRINT • PUIS ' R ETURN' " ; : NORMAL 1 PRINT "

VTAB W : HTAB HH INPUT ZZ • RETURN REM ATTOolTE POKE - 16368 , 8 VTAB 24: HTAB 5 : INVERSE : PRINT "BARRE D'ESPACEMENT POUR LA SUITE • 1 NORMAL I F PEEK ( - 16384> < '" 127 THEN

38858 POKE 1636B , 8 PRINT RETURN

Pam's nO 7

Page 21: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

Le programme GRAPHLOG est une illustration de l'article de Guy Mathieu : c'est un petit programme assembleur très simple, relogeable (c'est la mode dans ce numéro de Pom's !) écrit avec l'assembleur LISA 2.5. Il réalise une opération logique bit par bit -sur deux pages graphiques et met le résultat dans une troisième. Par page graphique, nous entendons ici les intervalles $2000.3FFF, $4000.5FFF " $6000.7FFF, étant entendu que seuls les deux premiers intervalles correspondent à des pages graphi­ques vidéo : pour voir la dernière, il faudra faire 2000 < 6000. 7FFFM ou 4000 < 6000. 7FFFM en mode moniteur. L'opération logique cor­respond au type graphique de Pas­cal, repris aussi par HAIFA dans Pom's 5. Si A et B désignent les

Exemples :

7 B 9 24 25

32 32 32 5 5

32 64 64 8 O . 64 32 96 14 6 .

Graphlog - Lisa 2.5

LST 2 ; 3 ;11111111111111111111111111111 4 ;1 1 5 ;1 II P1I1li1WtE IlEAl.ISE IH 1 6 ;1 IJ'EIlilTUJt LOOIIIIE SUl LIS 1 7 ;1 OCTETS lIES IIE\I( _S 1 8 Il IilW'IIIIlES El lET LE IIE- 1 9 ;1 SU, TAT iI'ItS IH 3EIf:. 1

18 il 1 I l ;1 (0 O. IIRI POUl POi'S 7 1 12 il 1 13 ;11111111111111111111111111111 14 i

Graphiques et logique Olivier Herz

points des pages sur lesquelles se réalise l'opération et C le résultat à mettre dans une troisième page (0 "" éteint, 1 = allumé), on obtient :

Ce TYPE s'applique aux bits des points de l'écran . En ce qui concerne les bits de couleur (le B� bit des octets de l'écran) . on applique un autre type (TYPCOL). Pour se servir de la routine, il suffit de POKEr aux adres­ses 7 à 9 les numéros des pages gra­phiques (à savoir 32, 64 ou 96 : il est très dangereux de POKEr autre chose) et en 24 et 25 TYPE et TYPCOL respectivement, puis de faire un CALL à l'adresse où l'on a chargé cette routine relogeable .

TYPE -0

-

1 2 3 4 5 6 7 8 9

10 II 12 13 14 15

VALEUR DE C o

A NOR B A AND NOT B

NOT B NOT A AND B

NOT A A EOR B

A NAND B A AND B A - B

A A OR NOT B

B NOT A OR B

A OR B 1

En effectuant une copie d'écran gra­phique à partir des écrans ainsi engendrés, il vous est maintenant possible de faire tout ce que Guy Mathieu proposait aux possesseurs d'Epson.

négatif de la page HGR. Be bits compris

AND des pages HGR et HGR2 avec résultat en HGR2 et Be bits mis il. 0

OR de HGR2 et HGR : résultat dans la page "invisible" avec EOR des Be bits

23 � EPI IFE 2� lfIt3 El'l $Ff 25 ; 26 ll!G taIIB ;1'R06WItt: IlELIlGEIIIILE 27 œJ taIIB 28 ; 29 l1I\ 1191 38 STA LIIH 31 Ba.El.16 PII\ ;LIIKS 31 A �7: 32 Iff) ltC8 ;-WIR IIPPlESIFT 33 STA lr\SE ;-IIOOTlt€ DI $F417 � LSR 35 LSR 36 IB\ lr\SE 37 STA lr\SE 38 PIA

15 LIIK EPI 16 jllH DE l'ECMi 39 STA BASEt! 16 _1 EPI f7 jPRDIIERE IWE 4t AS!. 17 fW(2 El'l tl1 jŒt.tr:IDE PAŒ 41 AS!. 18 lWEl El'l f9 ;_ III RESU, TAT 42 AS!. 19 TYPE EPI fl8 ;TYPE POUl LIS POINTS � AIl. lr\SE'I 28 TYPCCL EPI fl9 ;TYPE POUl LI BIT lIE lllLElR � AS!. 21 lr\SE El'l fIE ;MllESSE lIE lA PIIII1IEIIE LIIK 45 lU. BASE+l 22 HOtI EPI IFD 46 AS!.

Pom's nO 7 2 1

Page 22: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

22

47 ROI! 11\5[ 83 IHD "IF 48 lDY 139 B4 llI\ _3 49 BCUCIl Lj)\ M$[+ J ;PRE_lI� DES _SSl:S 85 STA BASE:+ t 58 IHD "IF 86 LM ltlt3 SI llI\ _1 87 STA (!I\SE), Y 52 STA 11\5[+1 88 DEY 53 LM (MS[) ,V 89 II'l IlClECIl 54 STA IfHl 91 IIEC LIIJjE 55 LM BASEt 1 91 LM LIIM 56 IN) "IF 92 DI' _ 57 lllA _2 93 lIE IIClE1I6 58 STA Q!ISE+I 94 lITS 59 LM (BASE) ,V 95 ; 68 STA lfH2 96 DOt "BSAIJE œAPtt.OO,M8e',l$88' 61 LIlX IS jllHS 61 A 81: 97 EN! 62 lICI.E1YP LM Il ;�IR WlIFA 63 AS!. IfHl i -ROOT IlE IXfRl NT Récapitulation 64 !IX II 6S AS!. 1888.871 66 AS!. 67 "1 ASl lfH2 1818- A9 BF 85 16 48 29 C8 85 68 !IX li 1888- lE 4A 4A 8 5 lE 85 lE 68 69 ASl 1811- 85 IF lA lA lA 26 IF lA 78 " 1 Cl'X IS 1818- U IF lA 66 lE AI li AS 71 lIE l2 1821- IF 29 IF 15 17 85 IF BI n IN) 1'tI'CIL. 1828- lE 85 FD AS IF 29 IF 15 73 a.C 1838- 18 85 IF BI lE 85 FE A2 74 OCC l3 1838- lB A9 Il 16 FD 9t 12 lA 7S "2 1N) 1'IPE 1841- lA 16 FE 9t 81 lA E8 18 76 a.c 1848- Dt 15 25 19 18 9t 13 25 n "3 BEg l4 1858- 18 18 FI Il 38 26 FF CA 78 SEC 1858- Dt llF AS IF 29 IF 15 19 79 "' ROI. ltlt3 1868- 85 IF AS FF 91 lE 88 11 88 IIEX 1868- 86 C4 16 AS 16 C9 FF Dt 81 lIE IIClE1'tl' 1878- 93 68 82 LM BASE+1

Hard Copy Seikosha Olivier Herz ,----------------------, Afin de compléter l'article de Guy Mathieu et celui sur « Graphiques et logique », voici un pelit programme en langage machine (écrit à mes débuts sur Apple) permettant d'ob!e· nir la copie d'écran graphique sur Une imprimante Seikosha.

Ne possédant pas d'assembleur à l'époque, j'avais écrit ce programme directement en langage machine. Il reste toutefois intéressant à publier car il est assez rapide et, d'autre part. les possesseurs de Seikosha n'ont certainement pas tous un tel pro­gramme à leur disposition.

La seule routine ROM utilisée est le WAIT $FCA8 ; le programme peut être utilisé par n'importe quel Apple.

,"

lit ,

Pom's nO 7

Page 23: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

Hard Copy Seikosha

I U ST

5 REM I I I HARD COPY SEI KOSHA I I I 6 REM * l l COPYLEFT l** 7 REM III OL I V I ER HERZ - POM ' S I I I 1 8 TEXT , HOME , I NVERSE , VTAB 6 , PR I N

T ' I MPRESS I ON DES 2 PAGES HAUTE R ESOLUT I ON' , NORMAL

28 PRINT , PRINT , PRINT , PRINT ' VOULE Z-VOUS LA PAGE 1 OU 2 ? ' ;

38 GET M , I F A$ < > ' 1 " AND A$ < > . 2 ' THEN 38

48 PRI NT A$: POKE 28 , 29B: POKE 29 , 3 1 + 32 * ( ASC (M) - 48)

59 PRINT , PRINT 'VOULEZ -VOUS LA PAGE E NTI ERE ? - ;

69 GET A$ , IF A$ < > ' 0 ' AND M < > ' N ' THEN 68

79 PRINT A$ , POKE 24 , 8 , I F M = ' N ' THE N POKE 24 , 4

88 PRINT , PRINT ' VOULEZ-VOUS L' I MPRESS I ON EN NEGATI F ? - j

98 GET A$ , 1 F M < > ' 0' AND A$ < > ' N' THEN 98

189 PRINT A$ , POKE 25 , 9 , I F M = ' 0 ' TH EN POKE 25 , 1

119 PRINT , PRINT ' VOULEZ -VOUS UN CADRE ? ' . . ,

129 GET M , I F M < ) ' 0 ' AND M < ) - N - THEN 128

139 PRINT A$ , POKE 26 , 9 , I F A$ = ' 0 ' TH EN POKE 26,1

149 PRINT , PRINT ' VOULEZ-VOUS LE FORMA T DOUBLE ? • j

159 GET A$ , I F A$ < ) ' D ' AND M < ) ' N ' THEN 159

169 PR I NT A$ , I F M = ' 0 ' THEN 299 179 POKE 27 , 9 , POKE 235 , 192 , POKE 236,1

29 , I F PEEK (24) = 9 THEN 199 188 POKE 237 , 1 6 2 , POKE 39 , 1 5 9 , GOTO 239 198 POKE 237, 194: POKE 38 , 1 43 : GOTO 238 299 POKE 27 , 1 , POKE 235 , 224 , POKE 236,1

31 , I F PEEK ( 24) = 9 THEN 229 219 POKE 237 , 69 , POKE 39 , 78 , GOTO 238 229 POKE 237 , 1 3 3 , POKE 39 , 46 239 PRINT , PRINT , HTAB 3 , I NVERSE , P

R I NT ' APPUYEZ SUR UNE TOUCHE QUE LCONQUE " NORMAL , WA I T - 16384 , 1 28: POKE - 16368 , 8

249 I F PEEK (6148) < > 1 THEN PR I NT CHR$ (4) ; ' BLOADSE I KO . OBJ' , POKE

6148,1 259 POKE - 16249 , 8 , HOME , CALL 6 1 49 269 CALL - 1 9 5 2 , CALL - 1952 , CALL

1952

Pom's nO 7

SElKO.OBJ Code hexadécimal

JE 18e e . t9DA

1888- EA EA EA EA EA A5 tA Fa 1888- 85 A4 ES 28 58 19 A9 88 1818- 85 86 AS 18 85 lA AS lE 1818- 85 FB A9 88 85 Fe 95 8B 1828- 85 Be AS lA Fa 83 28 98 1828- 19 A9 88 85 8 7 A9 8 8 A4 1838- 87 08 82 AS 18 85 88 A2 1838- 88 28 28 19 A9 88 A4 8 7 1848- Fe 88 18 69 2 8 88 F a 8 2 1848- 69 2 8 8 5 FD A S 8 8 4A 85 1858- FE A9 88 6A 18 65 FD 85 1858- FD BA lA lA 18 6S FE 85 1868- FE 38 AS le E5 FD 85 F9 1868- AS I D E5 FE 85 FA A4 8 6 1876- B I F 9 A4 18 F 8 3F A4 8A 1878- 85 FF FI ID A9 88 46 FF 1888- 98 82 69 82 46 FF 96 6 2 1888- 69 8 B 4 6 F F 98 8 2 69 2 F 1898- 46 F F 98 8 2 69 3F 4C 85 1898- 18 A9 66 86 FF 86 FF 98 lBA6- 62 69 5F 86 FF 96 82 69 18A8- 1 7 86 FF 98 82 69 85 86 18B6- FF 98 62 69 88 A4 19 08 18B8- 82 49 FF 89 88 C9 88 F 6 18C8- 87 A B 2 8 92 19 4 C C C 18 18C8- A9 66 85 8B E8 E8 88 F8 1808- 83 4C 39 18 E6 68 AS 68 1808- C9 88 Fe 83 4C 37 18 E6 18E8- 67 A5 8 7 C9 83 F8 83 4C 18E8- 20 18 AS lA F8 66 26 26 18F6- 19 28 98 19 A9 8A 28 47 18F8- 1 9 28 3 1 19 AS 8A F8 85 1988- C6 8A 4C 16 18 E6 86 A5 1988- 6 6 C9 28 FI 83 4C 1 2 1 8 1918- A S l A F6 85 A 4 EC 2 8 S8 1918- 19 68 88 .1 88 81 18 Il 1921- E6 FB 08 82 E6 FC AS lB 1928- FI 86 E6 FB DI 12 E6 Fe 1938- 61 AS FC 4A A.5 F8 6A 4A 1938- 4A 18 69 8A A8 EA A9 BA 1948- 28 A8 Fe 88 Dt F8 68 80 1948- 98 e8 A9 87 28 A8 Fe 68 1958- A9 l B 28 47 19 A9 1 8 2& 1958- 47 19 A9 18 28 47 19 AS 1961- lE 28 47 19 A9 lC 28 47 1968- 19 AS lB F8 lE A9 FF 28 1978- 47 19 98 28 47 19 A9 l e 1978- 2& 47 1 9 A5 EO 28 47 1 9 1988- 98 28 47 1 9 A9 8A 28 47 1988- 19 AB 4a 2a 3E 1 9 68 aa 1991- A& FF A5 8B 08 28 A9 8 1 1998- 85 8B A9 lB 28 47 19 E6 19A8- IC A9 18 28 47 19 E6 8C 19A8- AS FC 28 47 19 E6 le AS 1988- FB 28 47 19 E6 8e 98 21 1988- 47 1 9 E6 le A5 lB FI 16 19C8- 98 21 47 1 9 E6 8C A5 le 19C8- C9 55 98 lE A9 1 4 28 47 1908- 19 A9 88 85 88 85 8e 28 1908- 31 19 68

23

Page 24: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

24

La •

SOUrIS de Lisa Hervé Thiriez

Faut-il encore parler de Lisa ? Nous avons été abreuvés dans les jour­naux d'articles sur Lisa depuis sa présentation internationale le 19 jan­vier dernier . D'autre part. nous ne pouvons, dans une revue telle que Pom's, passer sous silence la nais­sance de Lisa. Voyons donc pour­quoi la souris de Lisa veut devenir aussi délèbre que le sourire de Mona La première impression que dégage cet ordinateur de bureau - le terme convient ici parfaitement - est celle d'un équipement au design agréa­ble, d'apparence professionnelle. Par opposition, l'Apple 11 Plus, qui fait notre bonheur depuis si long­temps, suggère un peu la 2CV, avec son aspect rustique et son côté bohème. Lisa est un système à clavier déta­ché, incorporant deux lecteurs de

disquettes 5 pouces (860K octets par disquette) et un écran à tfès haute résolution {720 x 364, soit près de cinq fois autant de points que pour l'Apple Il} . Une surprise désagréable, la seule d'ailleurs : il n'est pas question de travailler en couleur ; tout le monde sait que les souris ne connaissent que le blanc et le gris . . Seul appendice externe à l'appareil,

relié par un fil gris lui aussi, la fameuse souris, qui est le mode de communication privilégié de l'utilisa­teur vers la machine . C'est grâce à celle souris et à la qualité graphique de l'écran qu'il suffit d'une demi­heure à un non-informaticien pour apprendre à utiliser Lisa. La souris est un petit boîtier que l'on fait glisser sur son bureau dans n'importe quelle direction. Un cur­seur sur l'écran est associé à la souris et se déplace en totale symbiose avec elle. L'écran présente un cer­tain nombre de petits dessins illus­trant les dossiers sur lesquels on tra­vaille, y compris une poubelle pour ceux dont on veut se débarrasser. Il suffit de pointer le curseur associé à la souris sur le dessin correspon­dant au dossier que l'on désire « ouvrir .. , et de confirmer son choix en appuyant sur la petite barre de la

souris. Le dossier s'ouvre alors, et on y choisit (toujours grâce à la sou­riS) tel ou tel élément. Différents dossiers peuvent être ouverts simultanément, comme sur un bureau normal. On peut agrandir ou réduire les documents sur l'écran à volonté, ouvrir ou fermer tout dos­sier, passer du traitement de texte au Lisacale ou au programme de réali­sation de graphiques. Tout cela se

fait très rapidement, et l'on peut ainsi croiser les applications : éditer en

�raitement de texte les titres de gra­phiques provenant de données Lisa­cale !

A tout moment, une copie de l'écran peut être obtenue, l'écran incorpo­rant à loisir des textes (en plusieurs polices et tailles) et des graphiques. Le souci de simuler la gestion d'un bureau va très loin on peut ainsi faire apparaître sur l'écran une calcu­latrice avec des touches sur lesquel­les on « appuie .. grâce à la souris. Avec Lisa sont fournis en standard : • LisaWrite : traitement de texte

(tailles et polices variées) . • Lisacale : 255 lignes, et 255

colonnes de largeur variable. • Lisalist, base de données pouvant

contenir 6000 enregistrements de 100 caractères chacun.

• LisaGraph, soit Visiplot en beau­coup plus rapide, el avec les possi­bilités d'édition de texte.

• LisaDraw, outil performant pour la création graphique.

• LisaProject, pour la gestion de projets (PERT, Gantt) jusqu'â 1000 tâches.

Tout cela coexiste sans effort dans le million d'octets de mémoire cen­traie, le microprocesseur MC68000 assurant une rapidité de traitement inégalée en micro-informatique. Seul petit problème : tout le monde n'a pas le budget de 120 000 francs TTC nécessaire pour avoir le système complet, avec son impri­mante et le disque dur de 5 méga­octets. En outre, ceux qui désirent s'offrir Lisa devront encore patienter jusqu'en septembre. Le prix n'est pas donné. mais le rapport perfor­mance/prix est excellent en compa­raison avec celui des mini­ordinateurs de bas de gamme.

Nous attendons aussi le discret Mclntosh qui, à en croire ce que j'ai lu dans des revues professionne!1es, devrait proposer à un prix sensible­ment plus abordable les avantages logiciels de Lisa et de sa souris, avec une puissance et une capacité rédui­tes.

Dès que nous aurons eu l'occasion de travailler réellement avec Lisa ou Mclntosh, nous vous ferons partager nos impressions plus en détail .

Pom's nO 7

Page 25: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

L'Apple Ile (e pour .enhanced_, c'est-à-dire amélioré) a été annoncé par Apple le 19 janvier dernier. Des­tiné à remplacer le modèle Apple Il + bien connu, il commence à se répan­dre dans les boutiques micro­informatiques. Grâce à l'amabilité de la société I.E.F., j'ai pu en avoir un exemplaire pendant une soirée, de quoi l'examiner sous toules ses cou­tures.

Première constatation si le nom change, la ligne demeure : le boîtier est celui que nous connaissons tous. $eul le nom a changé pour s'adapter au nouveau logo. Cependant. pour l'Apple-o-mane averti, pas de risque de se tromper pour autant : le fIe dispose d'un clavier plus complet qui se remarque dès le premier abord.

Un clavier plus complet

Outre ses Il touches de plus (63 contre 52), le clavier du Ife présente de nombreuse$ différences avec celui du II. Nous en commentons ci­dessous les plus notables.

La touche RESET est mise à l'écart du reste du clavier afin d'éviter les fausses manipulations. De plus, le RESET n'est pris en compte que lorsque la touche CTRL est enfon­cée (il n'y a plus la possibilité de choix offerte sur le Il entre RESET tout seul et la double action CTRL­RESET).

Les minuscules sont disponibles au clavier et affichées comme telles à l'écran. En fait, tous les codes Ascii sont générables au clavier.

Une touche "Shift-lock . permet le blocage du clavier en majuscules. C'était nécessaire pour la program­mation en Basic (l'Applesoft. comme le DOS, n'accepte que les majuscules). Un bon point : le blo­cage majuscule/minuscule n'affecte que les louches alphabétiques. Appuyer sur " 1- donne toujours le . 1 », quelle que soit la position de la touche Shift-lock.

Quatre touches de' gestion du cur­seur sont rassemblées en bas à droite du clavier. On y retrouve bien sûr les classiques flèches à droite et à gau­che, mais également les flèches vers le haut et vers le bas.

Pom's nO 7

L'Apple Ile à l'essai

Toutes les touches qui génèrent un code sont à répétition automatique. Le temps entre le premier caractère et le deuxième est relativement long, ce qui évitera, je pense. toute fausse manœuvre. En raison de cette répé­tition automatique. il n'y a plus de touche REPT (répétition).

Deux touches marquées rune d'une petite pomme vide (pomme «ouverte -), l'autre d'une pomme pleine (pomme «fermée .) sont pla­cées de part et d'autre de la barre d'espacement. Elles ne génèrent aucun code (elles sont en fait équi­valentes aux boutons sur les poi­gnées de jeux), mais ont quelques fonctions particulières quand elles sont enfoncées en m�me temps que CTRL-RESET ,

• la pomme ouverte force l'Apple à redémarrer (et donc à rebooter s'il y a un contrôleur) quelle que soit la configuration. Cela devrait per­mehre d'épargner considérable­ment le bouton de l'alimentation qui, l'expérience le montre, sup­porte très mal les opérations de • marche/ arrét _ répétitives.

• la pomme fermée provoque l'exé-cution d'un autotest.

Parmi les nouvelles touches, on trouve également une touche de tabulation .TAS. et une louche «DELETE. qui pourront être utili­sées par les logiciels prévus pour le lie .

Le clavier est utilisable en Azerty ou en Qwerty. La sélection est faite par un bouton pOUSSOir judicieusement placé sous la partie inclinée de l'Apple. Ce bouton commande éga­lement le changement de caractères à l'écran_ Les caractères français sont donc disponibles aussi bien au clavier qu'à l'écran_ Malheureuse­ment, la disponibilité d'un double clavier se solde par un double mar­quage des touches. qui vont donc jusqu'à abriter 4 signes différents sur leur cabochon ! En langage non informatique, cela s'appelle un casse-tête chinois, et taper plus de dix touches sans erreur relève de l'exploit . Il ne semble pas qu'il existe pour le moment la possibilité d'un marquage unique (Qwerty par exemple) .

Jean-François Duvivier

Comme pour le Il, un connecteur est toujours prévu pour le davier numé­rique séparé.

Certaines publicités ont fait état de touches de fonction programmables . La seule documentation que j'avais en ma possession (Manuel de Réfé­rence Ife) n'y faisait pas allusion. De même, le programme de démons­tration et d'introduction au clavier ne mentionne aucune possibilité de tou­ches de fonctions.

Outre le problème de double nota­lion des touches. j'ai un deuxième regret concernant le clavier l'absence de buffer _ La refonte du clavier était l'occasion r�vée d'intro­duire un buffer de caractères tel qu'on le trouve sur l'Apple l/J et même sur le 11 (avec la carte Key­board Enhancer de Videx par exem­pIe). Le buffer est comme toutes les bonnes choses : une fois qu'on y a goOté. on ne peut plus s'en passer !

Par rapport à l'Apple Il. ces connec­teurs ont les mêmes signaux disponi­bles sur leurs broches, ce qui signifie que la majorité des caries d'exten­sion existant sur le Il sont compati­bles, notamment les contrôleurs de lecteurs de disquettes. les interfaces imprimanles et la Softcard lSO. Les exceptions sont les cartes qui devaient obligatoirement se mettre dans le sial a (ROMcard Applesoft ou Integer par exemple) et toutes les cartes nécessitant d'ôter un circuit de l'Apple pour connecter un câble à sa place (cas de certaines cartes RAM 16,32,64 et 128K ou de cartes 80 colonnes) .

La nouveauté vient d'un connecteur supplémentaire situé en plein milieu de la carte et dénommé _Connec­teur Auxiliaire. (quelle imagina­tion !l . Ce nouveau connecteur comprend 60 contacts (contre 50 aux connecteurs de slot). Son emplacement (dans le prolongement du sIal 3) interdit son usage simul­tané avec le slat 3. Il est prévu spé­cialement pour les extensions mémoire et pour l'extension 80 colonnes (de nombreux logiciels imposent l'utilisation du slol 3 pour les cartes 80 colonnes pour Apple 11. ce qui explique la pOSition du con­necteur auxiliaire).

25

Page 26: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

26

Trois cartes actuellement disponibles en France utilisent ce connecteur : • une carte 80 colonnes ; • une carte 80 colonnes doublée

d'une extension mémoire de 64K ;

• une carte RVB Chat Mauve per­mettant l'obtention des couleurs sur un poste téléviseur SECAM, ainsi que l'extension 64K et 80 colonnes.

le microprocesseur 6502 ne pou­vant pas adresser plus de 64K, l'extension de 64K n'est pas une extension de mémoire centrale à proprement parler. Mais elle est comparable aux cartes mémoires disponibles pour le Il (Saturn, Ramex, legend . . . ) . Comme eHe est proposée par Apple et constitue de ce fait un standard, de nombreux logiciels vont pouvoir en faire usage.

Selon certains renseignements que je n'ai malheureusement pas pu véri­fier, l'adjonction de l'extension 64K permettrait de plus de disposer d'un graphisme haute résolution plus complet : 560 x 192.

SOUS le capot

La carte mère a été totalement refaite : légèrement plus pelite, elle s'arrête avant le clavier, ce qui per­met d'accéder à tous les circuits sans démonter autre chose que le capot. le nombre de circuits intégrés est passé d'environ 90 à 35. Celle réduction permet d'espérer bien entendu une fiabilité accrue. Elle s'accompagne également d'une réduction de la consommation de la carte mère. l'alimentation étant res­tée la même, on dispose ainsi de plus de puissance sur res slots.

le gain de circuits est essentielle­ment dû à l'intégration de plus en plus poussée des composants utili­sés. Par exemple, les mémoires vives RAM utilisées sont des 64 Kbits au lieu de 16, ce qui permet de faire 64 Koctets avec seulement huit cir­cuits. De même, les mémoires mor­les utilisées sont des 32 Kbits au lieu de 16. Enfin, deux circuits à 40 pat­les trônent en plein milieu de la carte. Dénommés MMU (Memory Management Unit) et 10U (Input Output Unit) , ils ont été réalisés spé­cialement pour Apple (il coulera de nombreux bits dans votre Apple avant que vous ne puissiez acheter un Ile made in Taiwan m) L'utilisation de mémoires repro­grammables pour le codage clavier

et pour la génération vidéo des caractères permet une très grande souplesse. Chaque pays a sa version nationale du Ile. disposant en plus du Qwerty, d'un clavier équipé des caractères spécifiques à la langue, et de leur génération à l'écran.

En ce qui concerne la génération video, il faut préciser que les Ife ven­dus en France sont équipés en sian· dard d'un modulateur PAL sélecta· ble par switch (sur la carte mère) . Les possesseurs de postes de télévi­sion bi - ou trislandards pourront donc profiter directement des cou­leurs, sans aucune carte supplémen­taire. les autres devront se conten­ter du noir et blanc ou attendre l'arri­vée imminente d'une carte «Chat Mauvre . adaptée au Ile (pour vous consoler, sachez que le standard SECAM est techniquement le meil­leur. . . ) .

T rues et astuces

De l'utilité du symbole « : »

} : READ permet de lire les DATA d'un programme (arrêté par CTRL-C, par exemple) . alors que J READ donne le message NOT DIRECT COMMANa de 1. commande READ du DOS.

]:lN # 0 : PR;.II! 0 permet de déconneler de DOS. Pour le reconnecter : CALl 1002 ou

• 3DOG ou RESET.

Parfois, 1 PR#6 ne marche plus pour rebooter (quand par exemple la commande PR # du DOS a été endommagée) . Pour s'en sortir sans devoir éteindre l'appareil, faire J : PR ;.II!6 ou · 6CTRL·P.

la raison de tout cela tient au fait que le DOS intercepte les com­mandes tapées en début de ligne au davier. avant de redonner le contrôle à l'Applesoft (ou au moniteur) . D'où des problèmes avec les commandes synonymes entre le DOS et Applesoft : PR # , IN #" et READ.

Ainsi. si l'on entre en mode direct A ... 3 : CATAlOG, l'instruction CATAlOG du DOS n'est pas reconnue. C'est comme cela que]: PR # 6 active le «PR"# • de l'Applesoft (qui marche toujours, s'il est résident) et non celui du DOS, qui peut avoir été écrasé.

Du côté des slots . . . Sept connecteurs (slots) numérotés de 1 à 7 sont disponibles. Il .est à noter qu'il n'y a donc plus de slot O. L·explica.tion en est simple : étant donné la présence sur la carte mère de 64 K de mémoire vive, le slot Q est considéré comme étant occupé par une carte langage 16 K.

Petit détail intéressant : la présence à côté des slots d'un témoin de ten­sion (plus d'excuses pour les cartes mises ou enlevées avec l'Apple en marche !). On note également le blindage complet de l'arrière de l'Apple, désormais en métal et soli­daire de la plaque du fond. Les grandes échancrures ont laissé la place à de multiples ouvertures pré­vues pour la fixation de connecteurs. Ceci devrait permettre de ne plus avoir à démonter l'Apple pour bran­cher le câble de l'imprimante ou de toute autre carte interface. Autre amélioration pour les fanas de jeux : un connecteur situé à côté de l'entrée cassette permet de brancher les manettes de jeux sans avoir à démonter le capot et surtout sans devoir se munir d'une loupe pour effectuer le branchement !

Les logiciels Quant à son utilisation, le lie se com­porte comme un Il équipé d'une carte ·langage. le langage résident est le Basic Applesoft qui n'a pas bougé d'un iota. les disquettes sont toujours au format DOS 3.3. En fait, i! semble que les seules modifications « soft . effectuées concernent le moniteur (Prom F8), qui a été entiè­rement réécrit. Toutes les routines de gestion écran ont été modifiées pour prendre en compte la présence éventuelle d'une carte 80 colonnes. De même, les routines concernant le clavier autorisent l'utilisation des minuscules. Enfin, un autotest a été ajouté (activé par les touches CTRl­RESET-pomme fermée). Comme ces modifications ont nécessité plus de place mémoire, l'espace $ClOO­$C7FF auparavant dédié à l'adres­sage des slots est maintenant sélecta­ble entre les slots et une Prom.

Malgré toutes ces modifications, les principaux points d'entrée du moni­teur ont été gardés aux mêmes adresses. Vous pourrez toujours, par exemple, passer en mode moniteur en tapant CALL-15!. Ainsi, sur 300 programmes commerciaux tes­tés sur Apple /le, j'ai lu que 95 %

Pom's nO 7

Page 27: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

avaient tourné du premier coup et 3 % après quelques légères modifi­cations.

Pour ma part, tous les logiciels que j'ai essayés ont parfaitement tourné. ce qui est rassurant du point de vue compatibilité.

Et le portefeuille . . . De même que pour l'Apple Il ces derniers mois, le Ile sera essentielle­ment vendu sous forme d'une confi­guration comprenant un lle 64K, un contrôleur, un drive et un moniteur à écran jaune. Les cartes d'extension spécifiques au Ile sont la carte Apple 80 col. , la carte 80 col. + 64 K et la carte Chat Mauve. 11 est à noter que. si cette dernière était disponibles par­tout, les deux autres étaient totale­ment inconnues à deux des cinq boutiques consultées. Les prix nc que j'indique ci-dessous résultent d'un sondage effectué par téléphone auprès de cinq boutiques parisien­nes :

• configuration .

de 14 700 à 14 995 F

• Apple Ile seul : de 9 900 à 11 950 F

• carle 80 col. : de 900 à S999 F

• carte 80 + 64 K : de 2 300 à 2 400 F

• carte . Chat Mauve JO : environ 3 000 F

On remarquera, en dehors du cas

particulier de I"Apple Ile seul. que les prix varient très peu d'un revendeur à l'autre. résultat de l'uniformisation des prix imposée par Apple-Seedrin.

Conclusion J'ai rencontré deux problèmes parti­culiers sur I"exemplaire qui m'a été prêté: D'une part, la commande PR # suivie d'un numéro correspon­dant à un slot vide sélecte la pre­mière carte trouvée dans un sl.ot supérieur. C'est ainsi qu'un PR # 4 fait rebooter le disque, bien qu'il n'y ait aucune carte dans le slot 4 (le contrôleur étant en 6 !) . D'autre part. il semble que l'Apple dont je disposais avait quelques difficultés à s'initialiser correctement après des coupures de tension brèves (infé­rieures à 2 secondes), ce qui m'arri­vait lorsque j'utilisais l'interrupteur de l'alimentation pour faire rebooter l'Apple.

En dehors de ces problèmes mineurs, il faut souligner rexcellente compatibilité du Ile avec son prédé­cesseur le 11 + , tant au niveau du matériel O'ai essayé sans problème toutes mes cartes interfaces, y com­pris une extension 128K Saturn) que du logiciel.

Cependant. je dois dire que cette première confrontation avec le Ife m'a laissé un sentiment de décep­tion. Attendant avec impatience ce successeur de r Apple 11, je me suis retrouvé en face de la méme machine. mais incapable de taper

trois touches de suite ! Cette impres­sion d'absence de nouveauté a été certainement accentuée par le fait que je dispose déjà des minuscules sur mon Apple 11. D'autre part, je n'ai pas pu emprunter d'une

-carte

extension 80 colonnes pour mon essai. ce qui ne m'a pas permis d'apprécier le confort apporté par les 80 colonnes.

Autre déception les prix. Compte tenu d'un abaissement vraisemblable des coûts de production (carte plus petite, nombre de circuits en baisse . . . ), on pouvait rêver à des prix inférieurs à ceux du IL Hélas, le Ile affiche un bon 2 000 F de plus. Comme, d'autre part, le Il ne sera plus vendu, il s'ensuit une augmen­tation importante du système -mini­mum qui atteint maintenant les 15 000 F. Si cette somme ne consti­tue pas un problème pour les utilisa­teurs professionnels (très majoritai­res il est vrai) , elle devient fort diffi­cile à réunir, en cette période de crise, par un utilisateur individuel qui préférera alors se reporter sur des machines plus accessibles. L'évolu­tion dans le domaine de la micro­informatique se traduit d'habitude par .: plus puissant et moins cher JO . I l semble que ce ne soit plus le cas désormais chez Apple. Dommage !

Ceci dit, l'Apple Ile a pour avantages sa compatibilité et sa fiabilité plus grandes. Si l'on pouvait avoir une version Azerty simple (16 cabochons à changer) . ce serait beaucoup mieux !

Des programmes relogeables

Les programmes en langage machine dépendent en général de l'adresse à partir de laquelle ils ont été assemblés et ne peuvent de ce fait .: fonctionner " que s'ils sonllan­cés à partir de celle adresse. Si nous voulons qu'un programme se char­geant en haut de la mémoire puisse fonctionner sans problème avec un Apple de 16, 32 ou 48 K, il nous faudrait normalement prévoir trois versions du même programme !

La solution évidente d'un tel pro­gramme consiste naturellement à écrire des programmes indépen­dants de leur origine, c'est-à-dire des programmes relogeables (relocatable

Pom's nO 7

programs1. exécutables quelle que soit leur origine.

Les deux obstacles principaux à de telles pratiques sont les branche­ments inconditionnels (JMP, abré, viation de • jump " , l'équivalent en assembleur du GOTO) et les appels à des sous-programmes (JSR, .: jump ta subroutine ., l'équivalent du GOSUB) comme le montre le petit programme ci-dessous :

1 JMP DÉBUT 2 DÉBUT JSR RIEN 3 BRK 4 5 RIEN RTS 6 •

Philippe François

Le problème posé par les JMP se résout aisément : il suffit de rempla­cer ces branchements incondition­nels (dont les adresses sont explici­tes) par des branchements condi­tionnels forcés. En effet, les branche­ments conditionnels du type BEQ, BNE,. étant des branchements relatifs, ils ne dépendent pas de l'adresse d'implantation du pro­gramme. On remplacera donc tous les JMP du programme par un des couples d'instructions suivant : CLC et BCC, ou bien SEC et BCS.

1 CLC 2 BCC DÉBUT 3

27

Page 28: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

28

4 DÉBUT 5 6 7 RIEN 8 •

JSR RIEN BRK

RTS

Un petit problème encore, à propos de ces branchements conditionnels forcés : les déplacements étant rela­tifs et s'exprimant sur sept bits (le bit huit indiquant .le sens du déplace­ment, en amont ou en aval de la présente adresse) ne pourTant être supérieurs à 126 octets dans un sens ou dans l'autre.

Toute tentative de dépassement de cette limite sera sanctionnée par le fatidique message OUT OF RANGE ERROR de l'assembleur. La technique employée alors sera celle de l'ascenseur comme le mon­tre l'exemple suivant

ORG $800 CLC BCC ETAGE

; suite du programme

SEC ÉTAGE BCC DÉBUT

; suite du programme

DÉBUT

RIEN

JSR RIEN BRK

RTS

RELOGEABLE Big Mac

S888 : 888 1 :

8883: 8884:

8887 : 8889: BeeB: B88E:

8UF: B8 1e : B8 1 1 : B8 1 2 : B8 1 3 : 89 1 :5 1 88 l B :

B8 1 8 1

Le problème posé par les JSR se résout moins aisément. Néanmoins. l'examen attentif des programmes machines relogeables du commerce (AMPER MAGIC, pour n'en citer qu'un), ainsi qùe la lecture d'un petit article dans Apple Assembly Unes {Vol. 2, N° 10, juillet 1982}, nous ont permis de comprendre la façon dont il pouvait se résoudre A la place de chaque JSR (nom du sous-programme), placez les trois lignes suivantes : CLV JSR $FF58 BVC (nom du sous-programme) Mystérieux, n'est-ce pas ? Commen­tons donc cette séquence. L'octet placé à l'adresse $FF58 de la ROM Moniteur est toujours égal à $60, code de nnstruction RTS

L'appel d'un sous-programme con­sistant seulement en un RTS peut paraître stupide, mais il a pour effet de placer les deux octets de la pré­sente adresse sur la pile (stack) , puis de les ressortir. Nous pourrons alors réutiliser ces deux octets dans le sous-programme concerné :

RIEN TSX : valeur du pointeur de pile

DEX DEX TXS , nouvelle valeur

Le sous-programme RIEN possède maintenant une adresse de retour

1 , 2 RETURN EOU 3 COUT EOU • ,

lB • CLC 9. •• • BCC

7 , BB B DEBUT CLV 2. 'B FF 9 JSR s • •• 10 BVC A' C I I l LDA 2. ED FD 12 JSR •• 13 RTS

l ' , " ,

BA 1 . BELL TSX CA 17 DEX CA 18 DEX 9A l' TXS A' 87 2. LDA 2. ED FD 2 1 JS' 2C 'B FF 22 BIT

23 , •• 2. RTS

sur la pile, exactement comme si nous I"avions appelé par un JSR RIEN normal ! Mais attention, ce n'est pas fini. En effet. si nous essayons de sortir du sous­programme RIEN par un RTS, nous allons nous retrouver à l'instruction BVC RIEN qui sera de nouveau exé­cutée et nous entraînera dans une boucle infinie ! Il n'y a malheureuse­ment pas d'instruction 6502 du type SEV (<< set overflow ») : aussi allons­nous faire appel de nouveau à notre précieuse adresse $FF58 et terminer notre sous-programme RIEN par le couple d'instructions suivantes '

BIT $FF58 : place l'over­; flow

RTS

L'instruction BIT (voir par exemple « Programmation du 6502 ,. par Rodnay Zaks, page 103) effectue un ET entre I"accumulateur A et la mémoire , mais. surtout. les bits 6 el 7 de la mémoire sont transférés dans les bits V et N du registre d'état. La mémoire contenant $60 (soi! 0 1 100000 en binaire), le bit V du registre sera donc bien positionné à la valeur 1 . Résumons-nous par ce petit pro­gramme où sont utilisées toutes les techniques examinées dans cet arti­cle :

SFF58 SFDED

, PSEUDO JMP DEBUT DEBUT

, EMP ILE LA PRESENTE RETURN ADRESSE BELL PSEUDO JSR BELL tt-A-COUT

, MISE A JOUR , DU POINTEUR , DE PI LE

HB7 COUT RETURt-I ARME LE B I T N

DU REGI STRE D ' ETAT

Pom's nO 7

Page 29: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

Le programme CÎ-contre s'adresse à ceux qui souhaitent visualiser les informations stockées sur une dis­quette formatée en Pascal. Ces informations sont groupées en 280 blocs de 512 octets par dis­quette.

Description générale Le programme édite sur l'impri­mante un « dump • de la disquette tel que présenté en fin d'article . Cha­que ligne indique le numéro d'un groupe de huit octets, puiS chacun de ceux-ci en décimal (de 0 à 255), et enfin les caractères ASCII corres­pondant à ces huit octets.

Vous vous êtes probablement aper­çus que le code ASCII est le même pour un octet X (de 0 à 127) et l'octet X + 128. Toutefois, dans le listing ASCll des octets dont la valeur dépasse 127, nous avons pré­cédé ceux-CÎ du caractère exponen­tiation « 1\ • .

D'autre part, les caractères dont les codes sont compris entre 0 et 32 inclus ne sont pas tous imprimables. C'est pourquoi nous les avons rem­placés par un mnémonique relatif à leur rôle respectif ( 1 2 - LF. 27 - ESC, 7 - BEL, . . . ) . Ces mnémoniques sont imprimés après que leur signification ait été prélevée dans le tableau TABCTRL OF STRING [3J. Ce tableau est rempli en début de programme par la pro­cédure LECTABCTRL à partir du fichier précédemment créé par le programme WRITECTRL sur lequel nous reviendrons ultérieurement.

Le programme Lors de son exécution, le pro­gramme LECTBLOCK demande à l'utilisateur le numéro du canal asso­cié à la disquette à analyser, puiS celui du premier bloc, et enfin te nombre de blocs à « dumper _. Pour savoir à partir de quel bloc cette opé­ration doit débuter, il suffit d'exami­ner le directory de la disquette avec le FILER en sélectionnant la com­mande E.

Dès cet instant, le « dump • sort SUI l'imprimante et occupe 65 lignes sur

Porn's nQ 7

Dump Pascal

une page qui en conlient normale­ment 66, ce qui permet d'archiver une page de listing par bloc de 512 octets. Il faut remarquer que, contrairement au BASIC, Pascal enregistre ses fichiers sur disquette de façon continue, si bien qu·il est très simple de lisier un fichier connaissant l'adresse de son premier bloc el sa longueur (commande E sous FILER) .

Le programme lui-même est simple et s'articule autour d'une instruction UNITREAD (numdrive, fich, 512, numblocl. Celte instruction est capa­ble de lire des informations non structurées, contrairement aux autres instructions d·entrée/sortie. Les paramètres de celle instruction sont · le numéro de drive, fich (un tableau de caractères). 512 (nombre d'octets à lire) et numbloc (le numéro du bloc) .

Notons également qu'afin d'alléger au maximum le programme, aucun contrôle de cohérence n'a été pro-

C.'�T :;>11' 1.1'1 ".,\\.T �'o.)01 l.."'(.Tf.�1\ ,",'=t<TEf{T _

grammé dans les saisies, ce qui implique un tant soil peu de vigi­lance lors de l'entrée des paramè­tres. On aurait pu effectuer des tests de cohérence, mais il faut bien com­prendre que l'utilisation de ce pro· gramme est ponctuelle , dans le but de scruter des informations sur dis­quette, ce qui n'est pas une manipu­lation courante.

Michel Marquis

Il n'est toutefois pas inutile de l'exé­cuter simplement par curiosité, notamment sur les fichiers illisibles par des moyens .. légaux ," comme SYSTEM,APPLE, SYSTEM,MIS· CINFO, . . . ou sur le texte de votre programme (vous serez surpris 1). A titre d'exemple, nous avons joint en page 34 un « dump _ partiel du fichier CTRL.DATA créé par le pro­gramme WRITECTRL.

Mise en œuvre du programme

1 . Entrer le programme WRITECTRL

2 . L'exécuter en y entrant les mné­moniques ASCII de 0 à 32. S·aider de Pom's 4 ou du « dump _ donné en annexe.

3 . Entrer le programme LETBLOCK. Vous pouvez chan­ger le numéro du drive sur lequel se trouve f:ICHCTRL en rempla­çant #" 5 : CTRL.DATA par #4 , CTRL.DATA

4 . Lancer l'exécution.

Bien entendu, si vous avez acheté la disquette d'accompagnement de ce numéro, vous y trouverez les pro­grammes tout prêts.

Conclusion Comme nous l'avons remarqué plus haut, ce programme n'est pas d'une utilisation courante, mais il peul apporter beaucoup à ceux qui tra� vaillent « près . du système. De toute façon, il présente un intérêt pédagogique indiscutable. Pour l'instant, nous nous limitons à la publication d'un programme capable uniquement de lire des blocs sur dis­que, donc sans danger. 11 lui man­que la possibilité de modifier les octets lus, puis de les réécrire. Nous ne doutons pas que certains d'entre vous récriront rapidement et enver­ront leurs contributions à Pom's. Pour les autres, si la suite les inté­resse, nous pourrons la publier ulté­rieurement.

29

Page 30: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

30

Programme DUMP

PROGRAM LECTBLOCK ; TYPE CARACT=PACKED RECORD

NCf1 : ST R I NG I 3 1 ENO;

VAR F I CH : PACKED ARRAY ( 8 . . 5 1 I J OF CHAR ; PAP I ER :TEXT; TABCTRL : PACKED ARRAY ( 8 . . 321 OF STR I NG ( 3 1 ; F I CHCTRL : F I LE OF CARACT ; NUMBLOCK ,NUMDRI VE , NBBLOCK : I NTEGE R ; REP: CHAR;

PROCEDURE LECTABCTRL ; VAR 1 : 1 NTEGER ;

BEGIN RESET ( F I CHCTRL , ' �5 : CTRL . DATA') ; FOR I : �8 TO 32 DO BEGIN

TABCTRL ( I I : = F I CHCTRLA .NCf1; GET< F 1 CHCTRU

Ef\ID ; CLOSE( F I CHCTRL) ;

END ;

PROCEDURE LECTURE ; VAR I , J , CH : I NTEGER ;

BEGIN REWR I T E ( PAP I ER , ' PR I NTER : ' ) ; WRITELN(PAP I ER , ' BLOCK NUMERO : ' : 45 , NUMBLOCK) ; UNITREAD(NUMDRIVE , F I C H , 5 1 2 ,NUMBLOCK) ; 1 :=8 ; REPEAT

WRITE ( PAP I ER , I : 3 , ' ' ) ; FOR J : = I TO 8 DO BEGIN

CH :=ORD( F I CH( I J ) ; WRITE ( PAP I ER , CH : 4) ; 1 : = 1 + 1 ;

END ; WRITE ( PAP I ER , ' 1 : = 1 -8 ; FOR J : = I TO 8 DO BEGIN

' ) ;

CH : =ORD ( F I CH ( I J ) ; I F CH> 127 THEN

BEGIN WRITE(PAP I ER , ' A ' ) ; CH .=CH- 1 28

END ELSE WRITE ( PAP I ER , ' ' ) ;

I F CH<=32 THEN WRITE(PAP I E R , TABCTRL ( CH 1 ) ELSE WR I T E ( PAP I ER , CHR(CH) : 3) ;

1 : = 1 + 1

Porn's nO 7

Page 31: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

END; WRITELN< PAPI ER) ;

lNT l L 1 ) 5 1 1 ; CLOSE ( PAPI ER) ; END;

BEGIN ( � PROGRAMME LECTURE BLOCK ( S) � ) LECTABCTRL; REPEAT

PAGE ( OUTPUT> ; GOTOXY ( 5 , 5) ;WRITE ( ' NLt1ERO DU DRIVE ( SANS # ) ' ) ; READLN (NLt1DRIVE) ; GOTOXY ( 5 , 1 8 ) ;WRITE ( ' NLt1ERO DU PREM I ER BLOCK ' ) ; READLN (NLt1BLOCK) ; GOTOXY( S , 15) ;WRITE< 'NOMBRE DE BLOCK < $) : ' ) ; REAOLN <NBBLOCK) ; REPEAT

LECTURE; NLt1BLOC K , =NLt1BLOCK+ l ; NBBLOC K , =NBBLOCK- l ;

lNT I L NBBLOCK=8 ; GOTOXY ( l B , 22) ;WRITE( ' Ca-.rTINUER ? < O/N) ' ) ; REAO ( REP) i

lJ-IT I L REP= ' N ' END.

Programme WRITECTRL

PROGRAH WRI TECTRL ; TYPE CARACT=PACKED RECORD

NOH , STRING I 3 J END ;

VAR 1 : 1 NTEGER j F I CHCTRL , F I LE OF CARACT ;

PROCEDURE OWERTURE ; BEGIN

nSI -�) RESET ( F I CHCTRL , ' _5 , CTRL . DATA') ; C I€S I + * ) I F 1 0RESULT<>B THEN

BEGIN

BEGIN OWERTURE; RESET ( F I CHCTRL , ' _5 , CTRL . DATA') ; PAGE( OUTPUT) ; FOR 1 , =8 TO 32 DO BEGIN

WRITE< I : 3 , ' = ' ) ; READLN ( F I CHCTRLA . NOH) ; PUT ( F I CHCTRL> ;

END ; CLOS E ( F I CHCTRL , LOCK)

END.

Exemples de dump en page 34

I F I ORESULT= 1 8 THEN REWRITE( F I CHCTRL , ' #5 , CTRL . DATA ' ) ELSE BEGIN

PAGE( OUTPUT) ; WRITE ( ' ERREUR E/S ' ) ; EXIT(WRI TECTRL>

END ; END ;

CLOSE ( F I CHCTRL , LOCK) END ;

Pom's nQ 7

--........... .

31

Page 32: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

TOUT SUR L A MICRO FORM� llOUE du 14 au 18 ju in 1983

L'Expositio du 14 cu 1 8 juin

n : 1983

• mardi 1 4, mercredi 1 5, vendredi • nocturne le jeudi 1 6, de 9 h 30 à 22 h •

1 7, de 9 h 30 à 1 8 h samedi 1 8 de 9 h 30 à 1 7 h .

T eus les matériels, toutes les applications des micro- persan ordinateurs. Que votre motivation soit professionnelle ou coOls

nelle, venez évaluer les matériels, comparer leurs et vous renseigner sur les applications disponibles.

Nouveauté 85 : une anlm ation cc lOgiciel " (organisée par Sybex et logic iels & Services).

Une banque de données des logiciels présentés par meilleu les exposants à MICRO-EXPO vous guidera, selon vos senter

rs logiciels pour micro-ordinateurs. les lauréats pré-

besoins spécifiques, à travers l'exposition. EXPO ont leurs logiciels pendant toute Id durée de MICRO-

Un « grand concours » destiné à récompenser les 226.1 (Renseignements : logiciels & Services, tél. : ( 1 )

1 .251· Et pendant toule la durée de l'exposition, une animation-jeux : 'le nez affrontez l'ordinateur et peut-être . . . le battre.

-5 Le Congre

du 1 3 cu 1 8 juin 1 983 Du débutant à l 'expert, une occasion unique dons l' année de se former et de s'informer.

Séminaires professionnels les micro-ordinateurs : présentation, choix

les microprocesseurs

les langages : BASIC, PASCAL, APL

les nouveaux langages : FORTH, lOGO, PROlOG, C

la télématique

le traitement de texte

l'entreprise, son système d'information et l'informatique

la comptabilité et ses logiciels

Les bases de données,2t leurs logicie ls

la gestion et le Visicalc

le système d'exploitation MS-DOS

Conférences Crand Public Choi x d'un micro-ordinateur

les m icro-ordinateurs de poche

le tra ilement de texte

l'ens eignement assisté par ordinateur - E.A.O.

les s ystèmes d'exploitation pour micro-ordinateurs 1 6 bits

Journ ées spécialisées, avec démonstrations : pour les professions juridiques, paur la médecine, pour l'agricu lture.

ées des constructeurs : Journ C TA

OMMODORE, GOUPil, HEWlETT-PACKARD, NDY, THOMSON, VICTOR LAMBDA

------------------INFORMATION

Nom :

Adresse : � Code postal : LI ---,-----,-----,-----,----,1 Ville : _ 1 o __ entrées{s) à demi-tarif 0 Programme détaillé du congrès

4, place Félix-Éboué - 75583 PARIS Cedex 1 2 - Tél. , { I l 347.30.20 - Telex , 2 1 1 801 F

Page 33: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

8" Congrès-Exposition - MICROORDINATEURS C

Palais des Congrès - CIP - Porte Maillot - Paris

SYBEX organisé par ,

V SYBEX 4, place Félix-Éboué - 75583 PARIS - Tél. : ( 1 ) 347.30.20 - Telex : 21 1 801 F

Page 34: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

Fichier CTRL·DATA : dump partiel

BLOCK NlJ1ERO , 2 1

• 3 78 85 7. 3 83 70 72 ETX N U L ETX S 0 H 8 3 83 8. 88 3 .0 8. 88 ET>< S T X ET>< E T X

,. 3 60 70 8. 3 .0 78 8 1 ET>< E 0 T ET>< E N Q 2. 3 65 .7 '" 3 •• .0 7 • ETX A C K ET>< B E L

32 3 32 .6 83 3 32 72 8. ET>< SPC B S ET>< SPC H T 48 3 32 76 78 3 32 B6 84 ET>< SPC L F ETX SPC V T 48 3 32 78 78 3 32 67 82 ET>< SPC F F ET>< SPC C R S. 3 32 83 70 3 32 83 73 ET>< SPC S 0 ET>< SPC S 1 .4 3 .8 7. .0 3 6B .7 .0 ETX 0 L E ET>< 0 C 1 72 3 .B .7 58 3 .8 67 S I ET>< 0 C 2 ET>< 0 C 3 B. 3 .8 .7 52 3 78 .5 75 ETX 0 C • ET>< N A K

8B 3 83 BO 7B 3 .0 8. •• ET>< S y N ET>< E T B o. 3 67 .5 78 3 32 .0 77 ET>< C A N ET>< SPC E t1

1 0 4 3 83 85 •• 3 .0 83 .7 ET>< S U B ET>< E S C 1 1 2 3 32 70 83 3 32 7 1 83 ET>< SPC F S ET>< SPC G S

12. 3 32 82 83 3 32 85 83 ET>< SPC R S ET>< SPC U S

128 3 83 88 .7 0 0 0 0 ETX � P C NUL NUL NUL NUL

Fichier 6500 ERRORS : dump partiel

BLOCK NLNERO , 1 5 1

0 1 32 18S 30 0 • • • SOH SPC '" 0 RS NUL NUL NUL NUL 8 17. 2 1 ,.7 , . , 7 ,.5 128 2 1 1 A WAK "'OC3 " 8EL A % "NUL " S

, . 100 18' 1 O. 25 1 ,.5 128 A ) A 8 50H

A EH SOH A % "NUL

2. 185 17. 2. ,.7 55 , . , 3 . , A o A OC. 7 A ETX )

32 174 1 8 I.S 128 1 43 • 2.4 1 DC2 A. % "'NUL A SI NUL A L SOH

40 198 1 15 1 1 7 I l . , .. , . , 182 A F SOH SI u n d • f 48 '.5 1 18 18 1 18. 32 18. 97 08 i n • d SPC 1 • b

5. 1 0 1 188 198 184 1 94 25 1 • 1 A ) • SOH EH SOH

.4 ,.5 128 , . 5 17. 28 ,.7 55 , . , A % "NUL o A DC4 A. , 7 A

72 3 . , 17. 18 ,.5 128 " 3 8 ETX ) A DC2 ... % "NUL A SI NUL

88 2 •• 1 198 1 28 I I I 1 12 18 1 L SOH A F SOH OC. a p •

88 " ' 07 1 1 8 , .. 32 I I I 1 1 7 I l . 0 • n d SPC a u t

9. 32 I I I , . 2 32 "' 97 I l. 183 SPC a f SPC 0 • n 9

1 8. 18 1 1 ,.5 1 28 185 17. 28 ,.7 • SOH ... % "'NUL 9 DC4 ...

1 12 OS , . , 3 . , 17 • 1 8 ,.5 128 7 A ET>< ) A DC2 ... % "'NUL

12. " 3 • 2 • • 1 108 1 2. 1 80 A SI NUL ... L SOH A F SOH CAN m

128 1 1 7 l i S 1 16 32 18' 97 1 1 8 ,. , u • t SPC h a v •

13. 32 1 1 2 " ' I I I 99 , . , 188 1 1 7 SPC p 0 a c • d u

'" " ' 18 1 32 1 1 8 97 1 89 1 8 1 17' 0 • SPC n • m • A

152 28 167 55 ,. , 3 . , 17. 18 DC4 ... , 7 A ETX ) A OC2

168 ,.5 128 ,.3 8 28' 1 <08 1 A % "NUL A SI NUL ,.. L SOH ... F SOH

,.8 20 1 1 8 1 1 7 , . 0 08 1 8 1 "' 32 OS n u m b • 0 SPC

17. I I I 182 32 1 1 2 07 " ' 07 1 8 9 a f SPC p • 0 a m

18' , . , 1 1 6 , . , "' 1 1 5 32 , . , 12. • t • 0 • SPC • x

102 1 12 ,. , 99 I l . 1 0 1 , .. 3 " p • c t • d ETX )

2 •• 17. 18 ,.5 128 ,.3 • 2 •• 1 A OC2 A % "NUL ... SI NUL .. L SOH

2.8 198 1 2 1 ,. , 12. I l . 1 14 07 A F SOH NAK • x t 0 a

2 1 . 32 ,.3 07 1 14 98 97 ,.3 ,. , SPC 9 a 0 b a 9 •

22. 32 I I I 1 18 32 188 105 1 18 ,. , SPC a n SPC 1 i n •

232 1 0 1 12. : i � , . , 00 1 16 , . , , .. • x p • c t • d

2 •• 3 4 1 17. 1 8 ,.5 128 143 • ET>< ) A OC2 ... % "'NUL ... SI NUL

2.8 2.4 1 198 1 29 lOS I l . 1 1 2 A L SOH A F SOH OS n p 25. 1 1 7 I l . 32 ,.8 185 I l. ,. , 32 u t SPC 1 i n • SPC

264 l i t 1 1 8 t . , " ' 32 S. '8 32 a v • 0 SPC 8 • SPC

272 00 104 07 1 1 4 07 09 1 16 10 1 c h a 0 • c t •

288 1 14 l i S 3 4 t 174 t 8 t.S 128 0 • ET>< ) A OC2 A % "'NUL

288 t43 8 20. t 198 t t. I l . A SI NUL ... L SOH ... F SOH OLE n

20. I I I 1 1 6 32 1 0 1 1 18 t l l 1 1 7 1 0 3 a t SPC • n a u 9 38. 104 32 •• 73 7. 30 1 15 56 h SPC 1 F , • 8

3 1 2 48 32 90 10' 07 " ' 97 09 • SPC c h • 0 • c

328 I l. 10 1 1 1 4 l iS 3 4 1 174 t8 t • 0 • ET>< ) A OC2

34 Pom's nO 7

Page 35: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

Bien que tOlalement inédit, ce géné­rateur peut être d'une grande utilité pour un programme scientifique ou éducatif, ainsi que pour tout pro­gramme devant conserver et utiliser des données sans créer de fichiers. En fait, il devrait aussi permettre de réaliser des programmes sortant de l'ordinaire. Le générateur donnera à votre pro­gramme la faculté de se développer lui-même, grâce à une simple com­mande qui, lorqu'elle est rencon­trée, a pour effet d'ajouter un numéro de ligne à toute instruction Applesoft et d'insérer la IHgne en question dans le programme. En fait, il a fallu pour l'écrire recourir à des routines de la ROM Applesoft assez peu connues... Ces routines seront indiquées plus loin.

Principe de fonctionnement Ayant souvent éprouvé l'inconvé­nient, dans un programme utilisant des fonctions mathématiques, de devoir stopper celui-ci pour y insérer des lignes de définitions ou pour y incorporer des DATA, je me suis dit qu'il serail merveilleux de disposer d'une routine en asssembleur accor­dant aux programmes écrits en Applesoft une dimension évolutive, la capacité de s'auto-générer !

Les données entrées par INPUT au cours du programme pourraient par exemple lui être incorporées sous forme de lignes d'instructions, avec un numéro qui serait automatique­ment incrémenté et placé au début de la ligne générée. Pour que le générateur puisse opé­rer sur toute instruction Applesoft, une commande INPUT digérant vir­gules et deux-points est indispensa­ble ; or, cette commande a été réali­sée antérieurement et publié dans le numéro 5 de Pom's (voir ," La pro­grammation facilitée .). Parmi les instructions qui compose­ront les lignes générées, l'une serait corrélative à l'auto-écriture d'instruc­tions DEF. En effet, lorsque le pro­gramme appellera une ligne conte­nant des instructions OEF, cet appel nécessitera un RETURN, qui devra

Pom's nO 7

Un générateur

par conséquent être produit par le générateur. Demander au programme d'effec­tuer un appel par GOSUB ou GOTO à des lignes qui n'existent pas encore, et que l'on propose d'ajou­ter durant le traitement, pose quel­ques questions ! Une convention s'impose alors : les lignes ajoutées commenceront par exemple à partir du numéro 20 000, avec un incré­ment de la : on calculera ainsi le numéro d'une ligne créée à partir de son rang. S'il s'agit de la troisième, la première l igne ayant le numéro 20 000, ce sera la ligne 20 020. On se dit que, puisque le générateur peut ajouter une nouvelle ligne au programme, il serait également nécessaire de pouvoir modifier la dernière ligne existante, lorsqu'il s'agit d'un RETURN notamment. Cette possibilité serait obtenue par une option à laquelle on donnera le nom de POP. Ces projets me paraissaient promet­teurs ; j'imaginais un progrêlmme démarrant avec deux lignes, s'auto­générant à partir de quelques indica­tions et se sauvegardant tout seul sur la disquette, une fois la mémoire saturée. Un écueil de taille s'opposait toute­fois à la réalisation : il fallait trouver la procédure Applesoft convertissant les lignes en format programme, dans lequel les instructions sont représentées par un code d'un seul octet. Je ne possédais pas la docu­mentation nécessaire et entrepris de la chercher tout seul dans l'Apple­soft, à partir de l'adresse $0000. C'est à l'adresse $0560 que je rai enfin trouvée, rebelle à un emploi immédiat, finissant avec la longueur des données en Y alors qu'elle est initialement en X dans le buffer d'entrée et modifiant en outre TXTPTR, l'ensemble des pointeurs servant à analyser le programme en cours. Cette routine une fois décou­verte (ainsi que quelques autres à l'occasion), le module était réêllisé ; en voici le mode d'emploi.

Mode d'emploi Une seule commande permet

Denis Sureau

d'obtenir la génération d'une ligne Applesoft de tout type : son format comporte deux variantes, soit l'emploi d'un mOI réservé de l'Applesoft, soit remploi d'un carac­tère quelconque.

Les instructions & DATA A$ et & DEF A$,lorsqu'elles sont rencon­trées, ont pour effet d'ajouter au programme les instructions conte­nues dans A$ sur une ligne qui com­mencera automatiquement par DATA ou OEF. Plus généralement, avec la syntaxe & X A$, X est choisi par l'utilisateur. Cela peul être un caractère quelconque ou un mot réservé de l'Applesoft, avec un effet différent : le mot réservé sera incor­poré en début de ligne, le caractère ne le sera pas.

L'option POP utilise la syntaxe & POP DATA A$ ou enfin & POP X AS, la nouvelle ligne remplaçant la dernière et prenant son numéro.

Les commandes du générateur peu­vent s'employer en mode direct si un programme est présent en mémoire et si la LOMEM a été déplacée. Ceci est une précaution dont on s'assu­rera toujours avant d'utiliser le géné­rateur : la LOMEM doit être placée suffisamment haut pour protéger les variables, puisqu'elles suivent immé­diatement, en temps normal, le pro­gramme dans la mémoire.

NDLR : ne pas oublier d'abaisser la H1MEM au-dessous du début du générateur avec HIMEM : 38048 si l'origine est en $94AO comme sur le listing,

Routines Applesof! Les deux plus importantes sont MOV$TR (SE5E2) pour le transfert des données et en $0560 celle qui '" tokenize • le buffer d'enlrée, c'est­à-dire qui convertit les mots réservés en codes. On appelle $0560 avec X mis à 0, en sauvegardant TXTPTR qui sera pointé sur le buffer d'entrée ($200) , et en remplaçant par $0 le délimiteur $0 (RETURN) se trouvant à la fin du texte lors d'une entrée par INPUT. Convertie en formai Applesoft, la llgne se trouve bien sûr réduite ; le registre Y contiendra alors la oou-

35

Page 36: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

36

velle longueur de la ligne. délimiteur compris.

MOVSTR transfère une donnée pointée par Y (ADL), X (ADH), lon­gueur en A vers l'adresse pointée en $71 et $72 IFRESPC).

MOVINS (SE5D4) fait la même chose que MOVSTR mais copie une chaîne dont le descripteur est pointé en SAS-SAC (STRNG1). Le registre y revient à 0 et S71-S72 pointent maintenant sur la position qui suit la chaîne transférée. Ces pointeurs sont incrémentés par la valeur de l'accumulateur A par une routine dont l'adresse est SE5F3.

FNDLIN ($D61A) est utilisée par la commande RESTORE. Elle recher­che l'adresse de la ligne dont le numéro a été placé en $50-$51 (LiNNUMl et la pointe en S9B-$9C (LOWTR). Si la retenue C est mise à 0, la ligne n'a pas été trouvée.

, GÉNERATEUR Big Mac

, l(XXXXXXXXX><XXXXXXXXXXXX

2 l(XXXXX GENERATEUR XXXXX

3 l(XXXXXXXXXXXXXXXXXXXXXX

4 l(XX PAR DEN I S SUREAU xx 5 l(XXXXXXXXXXXXXXXXXXXXXX

• l(X COPYRI GHT ( C) 1982 X

7 *XXXXXXXXXXXXXXXXXXXXXX

8 9

, . FNDU N - $061A

I l FRENUM • $0067

1 2 PTRGET = $OFE3

1 3 HOVINS = $E5D4 , . HOVSTR = $E5E2

1 5 GETAOR - $E752 , . 17 Uf'oI\Ilt1 = $BBSe

1 8 VARPNT = $13983

1 9 FORPNT - $13985

213 CHRGET = $9138 1

2 1 TXTPTR - $131388 22

23 LNGTEXT = $1313 1 8 2' AORTEXT • $1313 1 9 25 INSTRUC - $1313 1 8 2. SEPARATR = $BB I C 27 INCR = $BB I D

28 AORNlIM - $BB I E

29 3. ORG $94AB 3 1

Deux: lignes consécutives en Apple­soft séparées par 5 octets ; le code 0 de fin de ligne, 2 octets qui pointent sur la ligne suivante. 2 octets pour le numéro. L'adresse du numéro de la dernière ligne s'obtient donc en lisant les 2 premiers octets de cha­Que ligne, jusqu'à ce que deux: . 0 » consécutifs signalent la fin de pro­gramme.

L'adresse de la ligne sera pointée dans ADRNUM ($IE, $lFl, utilisé pour la conserver, et on fera deux adressages indirects indexés par Y pour avoir accès au numéro de ligne. Les deux premiers octets de la ligne générée pointeront sur la fin du programme. Ils seront suivis du numéro de la dernière ligne incré­menté de 10, puis éventuellement du code instruction employé dans le format et finalement, du contenu.

Le listing du programme commente toutes les étapes de cette génération.

33 3. ADRPROG 35 3.

VERS. 37 2 . • 38

39 •• 4 , .2 .3 •• 45 •• .7 .8 .9 DEPART 5. 5 1 52 03 5. 55 5. 57 58 59

j$ 19-$IA •• RESTORE . , .2 .3

; $ lE-$IF •• .5 ••

67 32 " "'" PROGRAMME RELOCATA8LE ) l .8

- - -----.... -

Les bons truCS . • .

Le générateur est court grâce à J'emploi de routines Applesoft ; étant relogeable, il peut être chargé à l'adresse voulue, de préférence au sommet de la mémoire. protégé par l'abaissement de la HIMEM.

A noter dans la rubrique • trucs et astuces » ; quand on ne manipule pas de fichiers, mais beaucoup de chaînes de caractères, il est possible de réduire la zone des variables, à J'aide de HIMEM et LOMEM, de 1 K à 3 K. D'où réduction des problèmes dûs au nettoyage mémoire !

Des applications originales peuvent s'imaginer, telles que la conversion de routines en lignes de DATA, la création de programmes à partir de fonctions et d'affectations détermi­nées par calcul . Imaginons qu'à par­tir de bases bien définies un pro­gramme puisse se construire lui­même pour atteindre un but connu de lui seul. . .

JSR $FF58 ; SUR RTS TSX OEX LM $ I B B .X CLC AOC *OEPART-ADRPROG-2 STA $3F6 INX LM $ I B B , X

AOC •• STA $3F7 LOA H$4C j JMP STA $3F5 RTS

STA I NSTRUC CMP * 1 74 ; RESTORE? 8Ea RESTORE TAY JSR CHRGET CPY * 1 6 1 j POP? SNE GENER STA INSTRUC ; S I OU I , JSR CHRGET j INCR H I S LM •• ;A 8 8Ea GENER2 JSR CHRGET ; PLACE .JSR FRENU1 ;NU1 LGNE JSR GETAOR ; EN $513-51 LM L 1f'ol\lLt1 ; LE PLACE STA S7B ;EN NlJ1 LM LI f'.I\ILth l ; DE L I GNE STA S7C ;DE DATA JSR FNOLIN ; CHERCHE LDA $9B ;LA L I GNE

Pom's nO 7

Page 37: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

69 ADC .... 93 ;ADR EN 134 BNE LOO? 79 STA S7D ;$98-9C. 135 7 1 LDA S9C ;MET ADR 136 .: TESTE S I POP OPT I CN 72 ADC .9 j L l GNE EN 137 73 STA S7E J PO I NTEURS 138 LDA INCR 74 RTS ; OE DATA 139 SNE BRAf\lCH 75 1 4 9 7 6 GENER LDA .... SA jMET l e 1 4 1 LDA ADRNLt1 77 GENER2 STA INCR ; EN INCR . 1 4 2 STA S98 78 1 4 3 LDA ADRNLt1+ 1 79 LDA ".94 144 STA S9C 89 STA SEPARATR 145 8 1 146 BRANCH LDA I NSTRUC 82 • LOCAL I SE LE DESCR I PTEUR DE LA 147 BPL TOKEN j CARACT . 83 • VARIABLE ET PLACE LA LONGUEUR 1 4 8 INC SEPARATR 84 • EN LNGTEXT , L 'ADRESSE EN ADRTEXT 149 CMP " 1 3 1 J DATA? 85 159 8Ea COpy 86 JSR PTRGET 1 5 1 87 STA FORPNT j SAWE 152 • �TOKEN I Z E " LNE INSTRUCT I CN

88 STY FORPNT+ 1 ;ADR DESCR 153 • DEF OU Lt<E L I GNE D' I NSTRUCT I ONS

89 STA SA8 , PO I NTEURS 154 99 STY SAC j PR HOVINS 155 TOKEN LDA TXTPTR i SAWE 9 1 LOY "$02 156 PHA jTXTPTR 92 DSClOOP LDA ( VARPNT> , Y 157 LDA TXTPTR+ l

93 STA LNGTEXT , Y 158 PHA 94 DEY 159 LDA .9 J COP I E

95 BPL DSCLOOP 169 STA $ 7 1 ;LA CI-flOIINE 96 1 6 1 LDA *.02 ; EN HEM 97 LDA INSTRUC 162 STA $72 ; Df:::\NS L E 9 8 CMP 1:1 1 32 : INPUT? 163 JSR HOVINS j 8UFFER 99 SNE ADRDRt-I 164

1 . 9 165 • ELLE N ' ACCEPTE PAS LN CODE SEUL 19 1 • $FD6F EST L ' INPUT DU MONITEUR 166 • AUSSI ON AJOUTE UN CODE NUL , ' : ' 1 9 2 • $0539 CONVERT I T LA CHAINE EN 1 6 7 • DANS LE BUFFER , I L SERA SUPPRIME 1 9 3 • FORMAT APPLESOFT , B I T 7 A a 168 • ENSUITE 104 • SE3E9 � SDA9A COPI ENT LA DONNEE 169 185 • DU BUFFER D ' ENTREE EN MEMO I RE , 170 LDX LNGTEXT 1 9 6 • DESCRI PTEUR POINTE EN FORPNT . 1 7 1 LDA M ' : ' ;HET ' : ' 1 0 7 172 STA $200 , X

1 9 8 JSR $FD6F 173 LDA .9 ;MET LE 1 0 0 JSR S0539 174 STA $20 1 , X , DE L I M I T R 1 1 9 LDA •• 175 TAX , Z ERO 1 1 1 LDY .2 176 1 1 2 TAX j DE L I M I T R 177 • S0560 EST LA ROUTINE DE

1 1 3 JSR SE3E9 178 • CONVERSI ON DES MOTS-CLES

1 1 4 JMP SDA9A 179 • EN CODE S , Y PASSERA LA NOUVELLE

1 1 5 189 • L(J-.IGUEUR

1 1 6 lE TROUVE L ' ADRESSE DE LA DERN I ERE 1 8 1 1 1 7 lE L I GNE 182 STA $ 1 3

1 1 8 183 JSR $0560

1 1 9 ADRD� LDY . 1 184 DEY

129 LDX 193 , D EBUT DE 185 DEY

1 2 1 LDA 1 9 4 , PROGR. 186 STY lNGTEXT ; UPDATE

1 2 2 SNE ADRTRNS 187 LDA "$FC ,lNG � ADR

123 LOOP STX ADRNlJ1 188 STA AORTEXT ; POUR

124 LDA S9C 180 LDA NS8 l ;HOVI NS

125 STA ADRNLt1+ 1 199 STA ADRTEXT+ 1 126 DEY ; U T ADR 1 9 1 PLA ; RESTAURE 127 LDA ($9B) ,Y ; L I Gt-IE 192 STA TXTPTR+ l , TXTPTR 128 TAX ; SUIVANTE 193 PLA

129 I NY , LA MET EN 194 STA TXTPTR

13. LDA ($9B) , Y ;$9B-S9C 195 1 3 1 ADRTRNS STX S98 196 COPY LDA $98 ,COP I E 1 32 STA S9C 1 9 7 CLC ; LA CHAINE 1 -:'>'" . _- LDA (S99) , Y 198 ADC SEPARATR ; DE LA VAR

Pom's nO 7 37

Page 38: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

199 STA $7 1 ; OU DU 229 2 • • LDA $9C ; BUFFER 23 • • INSERT I ON DU NUMERO DE L I GNE 2. , AOC •• j A LA F I N 2 3 1 , DANS LES 2 OCTETS SUI VANTS 2.2 STA $72 ; OU PROGR 232 283 LOY LNGTEXT 233 INY 2.4 LDA •• ;MET LE 234 LDA ( ADRNUM) , Y 205 STA ( $ 7 1 ) , Y ; DEUMITR 235 CLC ,MET LE 286 LDA LNGTEXT 236 AOC INCR jNLt1ERO 2.7 LOX ADRTEXT 237 STA ($98) 1 Y ; DE L I GNE 2.8 LOY ADRTEXT+ l 238 INY 209 JSR HOVSTR 239 LDA (ADRNUH) , Y 2 1 . LDA . , ; INCREH. 24. AOC •• 2 1 1 JSR $E5F3 ; $ 7 1 2 4 1 STA ($98) , Y 2 1 2 242 LDA I NSTRUC ;MET 2 1 3 , INSERT I ON DE L ' ADRESSE DE L I GNE 243 8PL F I N ; � DATA' OU 2 1 4 )E SUIVANTE DANS LES 2 PREM I ERS 244 lNY ; ' OE F ' 2 1 5 , OCTETS DE LA L I GN E , AJUSTEMENT 245 STA ($98) , Y 2 1 6 , DES POINTEURS DE F I N DE 246 2 1 7 *' PROGRA/"I1E 247 , DEUX ZEROS LA OU DEVRA I T SE 2 1 8 248 , TROUVER LE DEBUT D ' UNE AUTRE 2 1 9 LDA $7 1 249 , L I GNE SI GNALENT LA F I N DE 229 STA ($98) , Y 25. , PROGRAt11E 2 2 1 CLC 2 5 1 222 AOC .2 252 F I N LDA O. 223 STA 175 253 TAY 224 lNY 254 STA ($7 1 > , Y 225 LDA $72 255 lNY 226 STA ($98) , Y 256 STA ( $ 7 l ) , Y 227 AOC •• 257 RTS 228 STA 176

GÉNÉRATEUR 9528- DA A8 81 A6 67 AS 68 08 9538- 90 86 l E AS 9C 85 I F 88

Récapitulation 9538- 81 98 AA C8 81 98 86 98 9549- 85 9C 81 9B 08 EB A5 ID 9548- 08 98 AS lE 85 9B AS IF

'94A9 . 95E2 9558- 85 9C A5 l B 18 9 6 E6 IC 9558- C9 83 F9 35 A5 B8 48 A5

94A9- 29 58 FF BA CA BD 9 8 9 1 9569- B9 48 A9 99 85 71 A9 9 2 94A8- 1 8 6 9 18 80 F6 83 E8 BD 9568- 85 72 28 04 E5 A6 18 A9 94B9- 9 9 91 69 9 9 80 F7 93 A9 9579- 3A 90 9 9 9 2 A 9 9 9 9 0 9 1 9488- 4C 80 F5 9 3 69 85 1 8 C9 9578- 92 AA 85 13 29 60 05 88 94C9- AE F9 11 A8 29 81 9 9 C 9 9589- 88 84 18 A9 FC 85 19 A9 94C8- AI 09 2A 85 18 28 81 9 9 9588- 81 85 l A 68 85 89 68 65 94D9- "A9 9 9 F 9 23 29 81 89 29 9599- 86 A5 98 18 65 IC 85 71 9408- 67 DO 29 52 E7 A5 59 65 9598- A5 9C 69 9 9 85 72 A4 18 94E8- 78 A5 51 85 7C 28 lA 06 95A9- A9 88 91 71 AS 18 A6 1 9 94E8- A5 98 69 83- B5 70 A5 9C 95AB- A4 lA 28 E2 E5 A9 91 29 94F8- 69 89 8S 7E 69 A9 9 A 85 9589- F3 E5 A5 71 91 98 18 69 94F8- ID A9 94 85 IC 28 E3 OF 9588- 9 2 85 AF C8 A5 72 91 98 9588- 85 85 84 86 85 A8 84 AC 95C8- 69 9 8 85 8 8 C8 81 l E 1 8 9588- A8 82 81 83 99 18 9 9 88 95C8- 65 ID 91 98 C8 BI lE 69 9519- 19 F8 A5 18 C9 84 08 1 1 9509- 89 91 9B A5 l B 1 9 9 3 CB 9518- 29 6F FD 29 39 05 A9 9 9 95D8- 91 9B A9 ee AB 91 71 C8 9529- A8 82 AA 29 E9 E3 4C 9A 9SE9- 91 71 69

38 Pom's nO 7

Page 39: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

Un programme de test universel

En écrivant Je programme TEST, j'avais en vue un programme de lest général qui utiliserail des données interchangeables, el serait de préfé­rence très court, puisque ce pro­gramme serait la partie commune à tous les programmes de test que l'on voudrai! réaliser, et serait donc stocké en de multiples exemplaires . 11 permet de créer des tests dans tout domaine à votre convenance ; il est en outre général au niveau du système, car il ne nécessite aucune configuration spécifique, grâce au générateur de lignes qui « auto­écrira " les données sous forme de DATA.

Un examinateur patient TEST est un programme simple qui vous pose des questions sur un sujet donné, de façon exhaustive ou aléa­taire , et vous fournit la bonne réponse, Quand vous avez sélec­tionné un chapitre et un mode d'interrogation, il présente la ques­tion tandis que la réponse se trouve sous un cache, Puis, lorsque vous avez donné votre réponse, ou sim­plement appuyé sur RETURN, le cache disparaît pour laisser apparaî­tre la bonne réponse, Le CURSEUR INVERSE, pro­gramme en langage machine qui se trouve sous forme de lignes de DATA, permet de réaliser le cache, Ainsi d'aiUeurs que la présentation du programme, notamment le cadre du sommaire et la page de titre , On peut faire énormément de choses avec le CURSE�R INVERSE ; c'est pourquoi je l'ai écrit sous forme relo­geable et compatible avec d'autres routines binaires, Comme il utilise l'ampersand, il y aurait eu appro­priation de celui-ci par la deuxième routine chargée sur la première si elle l'avait également utilisé ! Ce pro­blème a une solution, que je vous propose plus loin. Les données que vous avez fournies seront rajoutées automatiquement à la fin du programme de test, à partir de la ligne 20000, sur des lignes de DATA. Pour créer un test différent, il suffit

Pom's nO 7

de supprimer les lignes 20010 et sui­vantes, el de placer DATA END à la ligne 20000. Les titres des chapitres sont la seule chose que l'on ajoute « à la main ,. sur le programme. Les lignes 100 et suivantes sont réser­vées à cet effet et affectées aux varia­bles B$(1), B$(2}. A la ligne 100, le nom du programme affecté à la variable F$ peut aussi étre changé pour prendre le nom du test créé.

Un programme cybernétique Plutôt que de recourir au pro­gramme hiérarchisé classique avec un menu principal auquel on revient pour avoir accès à chaque section, on utilise une approche systémique permettant d'appeler le sommaire à partir de n'importe quel endroit. Lorsque le numéro du chapitre est demandé, appuyer sur « S ,. fait apparaître le sommaire ; la question est ensuite posée de nouveau et on indique alors le numéro de l'option souhaitée. Les options « cherche ,. et « numéro ligne » ne figurent pas au menu. On les appelle de n'importe quel point du programme, ainsi que chacune des autres fonc­tions. La description de chacune de ces procédures suit.

PROCEDURE DE TEST. Présenta­tion en 3000, option test complet en 6000, test aléatoire en 4000. La ligne 4097 stocke les numéros de ligne de chaque question posée et teste si le numéro généré aléatoire­ment figure dans la liste ; ainsi, lors du test aléatoire, une question n'est jamais posée deux fois.

AJOUTE commence en SOOO. Les données sont stockées sur deux lignes de DATA, la première conte­nant le numéro de chapitre et la question, la seconde la réponse. ARRET débute en ligne 8000. On teste à la ligne 8000 le drapeau DR positionné à 1 pour indiquer que des données ont été entrées et sauvegar­der, le cas échéant, le programme. CHERCHE et NUMERO DE LIGNE se partagent le même sous­programme à partir de 2000, en

Denis Sureau

fonction de A, la variable réservée aux numéros d'options.

Problèmes d'interfaçage Comment utiliser simultanément plusieurs routines ayant pour vec­teur l'ampersand ? La solution que j'ai adoptée dans la routine INVERSE consiste à sauter à l'adresse indiquée en 6-7 si ramper­sand est suivi d'un code autre que INVERSE, par exemple ici RES­TORE, DATA, DEF, etc . . On place donc en 6-7 l'adresse du début de la seconde routine, augmentée du nombre des octets (inutilisés dans ce cas) qui précèdent les tests de syntaxe dans celle-ci, soit, dans le cas du générateur, 29 octets pour la partie initialisation. USR pourrait encore être utilisé pour une troisième routine, les positions $A-$B-$C n'étant pas utilisées.

Conclusion J'espère que ce programme vous aidera à contrôler vos connaissances dans un domaine, ou à les vérifier avant un examen, de façon facile et rapide. n y a bien sûr la nécessité de rentrer en différé les questions et réponses, mais cet exercice peut s'avérer utile pour mieux compren­dre un texte.

En fait, il appel1e Ue crois} un pro­gramme complémentaire, qui apprendrait au lieu de tester, et fonc­tionnerait selon le principe de l'enseignement programmé. J'ignore si un tel programme existe. J'essaierai d'en écrire une version à l'occasion.

Liste des variables réservées A = numéro d'option A$O - libellé des fonctions B = hauteur sonore ou divers B$O = titres des chapitres C - durée du son ou divers DR - signale si des données ont été ajoutées F$ - nom du programme N % - nombre de questions R % = indice du tableau enregis­trant les lignes lors du test aléatoire .

39

Page 40: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

40

8 PRINT " BRUN GENERATEUR" 1 HYMEN: 38847: REN SOUSTRAI R E 16384 PO

UR 32K

3 Lct1EN: PEEK ( 1 1:i) + PEEK ( 1 16) lE 25 6 - 198e

4 REM PLACE EN 6-7 L ' ADRESSE DE LA PRDC EDURE OU DOIT POINTER L' AMPERSAND

LORSQU' I L EST SUIVI D ' UN CODE Dl fFERENT DE CELUI D ' INVERSE

5 N = 38e48 + 29: POKE 7 , N / 256; POKE 6 ,N - PEEK ( 7) lE 256

6 B : e : c : N : I : N : J = N 7 GOSUB 13888 : GOSUB 1 8 8 : GOTO 9999 9 REM ROUT INES FREQUENTES 1 1 POKE - 16368 , 8 : RETURN 12 PRINT TAB< 18) " OPTION "A$(A) : RETUR

N 13 B : PEEK < - 16384) : RETURN 14 FOR J = 1 TO 588 : NEXT : RETURN l :i N : PEEK ( 1 23) + PEEK ( 1 24) lE 256:

RETURN 16 POKE 7 7 3 , B : POKE 774 , C : CALL 778: RE

TURN 1 7 N � 8 : � RESTORE 28888 : PRINT "ATTEN

DEZ • . . " 18 READ AS ; I F A$ < ) CS AND A$ < ) "

FIN" THEN N = N + 1 : GOTO 18 19 RETURN

28 PRINT " CHAPITRE . " i : CALL - 868: GO SUB 23

2 1 I F CS = " S" THEN GOSU8 1888 : VTAS 2 3 , GCTO 28

22 RETURN 23 � INPUT CS: I F CS = • • THEN POP 2. RETURN 2' GOSUB 1 3 : I F • • 1 55 THEN POP 2. RETURN 27 GOSUB I l : WA I T - 16384 , 1 28: GOSUB

3 , I F B 3 1 4 1 OR B ' 168 THEN SU. I l : RETURN

2. POP , GOTO 18459 3. POKE 32 , 4 : POKE 33 , 38 : POKE

INT , RETURN 48 & INVERSE � , 38 , 6 , 3 : RETURN 58 INVERSE

34 , 5 :

52 VTAB 5 : HTAB 6 : PRINT " QUEST I ON "

1 GO

PO

56 VTAB I l : HTA8 7 : PRINT " R EPONSE EXAC TE"

�7 NORMAL : RETURN 68 A = PEEK ( 36) : PRJNT AS< I ) : & INVER

SE A + l , l , PEEK (37) , 1 : PRINT : RETURN

B8 VTAB 1 : HTAB 1 8 : GOTO 29 98 VTAB 4 : CALL - 958: GOSUB 58 : VTAB

1 9 : PRtNT ·VOTRE REPONSE " : B = 68 ; C = 39 : GOSUB 1 6

9 1 GOSUB 38 : VTAB 6 ; PRINT 8$: TEXT : G OSUB 48 : & INVERSE 1 , 48 , 1 2 , 5

92 VTAB 28 : & INPUT E$ 94 & INVERSE 1 , 48 , 1 2 , 5 : VTAB 1 2 : PRINT

... 95 GOTO 27 96 HCf1E 97 PRINT " F I N DE DONNEES " ! GOTO 27 99 REM VOS VARIABLES 1 8 8 F$ .. "TEST" 1 18 9$( 1) "" "PROG�T l ON " 129 B$(2) : " F I CHIERS· 1 2 1 8$(3) z "TABLES ET TABLEAUX· 122 9$(4) = " STRUCTURE DE DONNEES" 123 8$(5) � · PROGRAMMAT I ON STRUCTUREE"

124 8$(6) � "HODELE S : FONCT IONS COU�ES

125 8$(7) = "MODELES :METHODOLOGIE-126 8$(8) -ALGORITI-t1IQUE-138 RETURN 998 REM SOMHAIRE 1988 1 - 8 1848 TEXT : HOME 1845 PRINT : PRINT AS(3) ,FS 1847 VTAB 5 1859 1 - ] + 1 1868 I F 8$( 1 ) = • • THEN 1 1 1 8 1879 I F PEEK ( 37) ) 28 THEN PRINT "AP

PUYE2 SUR UNE TOUCHE · ; : GOSUB 1 1 1 8 : 1 = 1 - 1 : GOTO 1949

1888 PRINT TAB( 4) MIO. ( RS , I lE 5 - 4 , 5> j

1898 PRINT · -8$( 1 ) : PRINT 1 18 8 GOTO 1858 1 1 1 8 � INVERSE 1 , 9 , 1 , 3 : & INVERSE 1 8 ,

3 1 , 4 ,28 1 1 15 � I NVERSE I l , 29 , 5 , 1 8 : � INVERSE

1 1 28 1 1 38 1998 2988

28 1 8

28 15

2828 2998 3889 39 18 3829 3839 3848 3845

3947 3868

3 188 3498 3998 4888 48 1 8 4848 4858 4968 4878 4888 4898 4892 4895

4897 4 18 8 4 1 28 4998 5888

5858

5855 5868 5864

2 , 7 , 5 , 18 8 = 88 : C = 48 : GOSUB 1 6

GOTO 2 7 REM RECHERCHE/NUM L I GNE Hct1E : GOSUB 1 2 : VTAB 4 : PRINT "QU

ESTI ON : " j : GOSUB 23 GOSUB 1 7 : I F A$ = " F I N " THEN GQSU

B 97: GOTO 2888 I F A = 7 THEN PRINT - L I GNE : " ; GO

SUB 1 5 : PRINT N : GOTO 27

READ A$: GOSUB 99 : GOTO 2889 REM QUESTI ON VTAB 2 1 PRINT " 1 . SUR TOUT" PRINT M 2 . AU HASARD" GET A$ : N : VAL (AS) GOSUS 29 : TEXT : HOME GOSU8 1 2 : HTAB 1 8 : PRINT - CHAPITRE

M j C$ & INVERSE 9 , 22 , 1 , 3 VTAB 1 : HTAB 1 : PRINT M ESC POUR- ;

PRINT - QUITTER" ON N GOTO 6899 , 4889 RETURN REM TEST ALEATOIRE IF NOT N% THEN RETURN

R% = 8 GOSUB I l

N : INT ( RND ( 1) lE N% lE 2) + 1 � RESTORE N lE 18 + 19998 READ AS : I F A$ = " F I N - THEN 4859 GOSUB 25 I F AS < ) C$ THEN 4878 G05UB 15 fOR 1 - e TO R%: I F N = R%( ] ) THEN

495e NEXT I : R% ( I ) ::: N : R% : < 1 < 5 1 ) lE 1 READ 8$: READ A$ GOSUB 99 : GOTO 4858 REM AJOUTE I F PEEK ( 1 75) + PEEK ( 1 76) lE 256

) ( PEEK ( t95> + PEEK ( 1 86) lE 2 56 - 239) THEN PRINT -MEMOI RE SA TUREE- : GOTO 18

HOME : GOSUB 12: PRINT " "N%" QUES T I CNS-

GOSUB 58 VTAB 12 & INPUT 8$: I F 8$ = " " THEN RETU

Porn's nO 7

Page 41: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

RN 5865 Gosue 38 5878 5888

VTAB 6 1 " INPUT AS TEXT : GOSue 89

5898 CS - CS + " , " + CHRS (34) + AS +

5 1 8 8 5 1 9 2 5 1 9 5 5 1 9 7 5 1 18 5219 5499 5999 6988 68 1 9 6 8 1 5 6829 6838 6848 6998 7888 78 1 1 7828 7838

CH� (34) " POP DATA CS

es - CHRS (34) + B$ + CHRS (34) &.: DATA es

DR - 1 :At- ." " F I N " 6c DATA At,

w. - w, + 1 GOTO 5858 REM TEST EX�UST 1 F " RESTORE 28888 READ A$I IF AS = "FIN" THEN 96 Gosua 25 I F At> < ) C$ THEN 68 1 8 READ En : REAC At> Gosue 98 : GOTO 68 18

INSTR. H<>1E Gosue 1 2 : VTAB 5 POKE 32 , 8 : PRINT PRINT " R - RECHERCHE UNE QUEST I ON "

1 PRINT 7848 PRINT · S - QUAND LE CHAPITRE EST •

, " DEMANDE .AFFI CHE LE SOHHAIRE" : P .,NT

7845 PRINT · o L - NUMERO DE L I GNE D I UNE" , "QUEST I ON " : PRINT

7847 PRINT "ESC - ARRETE LA PROCEDURE" , "EN COURS" : PRINT

7858 PRINT · LE NOM DU PROGRAMME ET LES " , · CHAPITRES SONT H I S AUX L I GNES·

7498 9888 8885

, " 188 ET SUIVANTES· TEXT : GOTO 27 I F NOT DR THEN 82'8 PRINT "NOM OU PROGRAMME : " ; F. ; : PR

INT • OK?" ; : GET A$ I I F AS - "N" THEN HTAB 1 9 : CALL - 968: INPUT

F$ 88 18 OS = CHRS (4) B839 PRINT OS " SAVE"F$ 8288 TEXT : HOME : PRINT "AU REVOI R ! - :

END 9999 NS - -TASI QRL - : REM INITIALES 99 19 RS ... • 1 I I I I I IV V V

9929 9858 9969 9878 9999

1 VI I VI I I IX X XI X l i X I I I X I V XV XVI XVI I XVI I I X I X

XX XXI XXI I XX I 1 1 XXIV )()(N XX VIXXVIXVI 1 1 XXIX xxx-

OIM Rr.< 59) GOSUS 1 7

N:I. - N / 3 H .... E REM MENU

19888 19895 188 19 18829 18838 18848 18858 19869 18879 19888 18 188

18288 18458 18588 1 8 5 1 8

18528 1 8 538

18688 1 1998 12988 12885 129 18 12828

12838 12848 12865 12866 12875 12888 13888 13838

13848 13858 13868 13878 13888

13998

1 3 1 8 8 19888

28888

TEXT : H<:l'1E PRINT " " F." , - PAR O . SUREAU­VTAS 1 8

M ( 1 ) - -TEST-M(2) - -AJOUTE-AS(3) "" -Sa1"AI RE­AS(4) = - INSTRUCT IONS-AS(5) = - QUITTE � SAUVEGARDE ­AS(6) = - RECHERCHE-AS(7) ". - L I GNE-

FOR 1 = 1 TO 5: HTA9 22 - 1 * 2 1 GOSUS 68 : NEXT GOSua 12888 GET AS FOR A = 1 TO LEN (NS) I F M I OS (NS ,A , I ) < ) A. THEN N EXT : GOTO 18888 IF A < ) 1 THEN TEXT : H<:l'1E ON A GOSUS 3 8 8 9 , 5888 , 18 8 8 , 7 8 8 8 , 8 8 8 8 , 2888 , 2888 GOTO 18888 REH LOGO GOSUS I l FOR 1 = 1 TO 28

J = INT ( 1 / 2) � INVERSE 2 1 - 1 , 1 . 2 , 1 1 - J , J 1 2 NEXT Gosue 1 4 : GOSue 14 GOSUS 1 3 1 F B } 128 THEN RETURN

B - 38 : C = 1 8 : GOSUS 1 6 GOTO 12848 REM SON � If'.IJERSE FOR 1 3 778 TO 9831 READ B : POKE l , B I NEXT CALL 799: REM I N I T . INVERSE DATA 1 73 , 4B , 192, I36,288,5,286 DATA 6 , 3 , 248 , 9 , 28 2 , 2 8 8 , 245 , 174 DATA 5 , 3 , 76 , 1 8 , 3 ,96 DATA 32,88,255 , 186,282 , 1 89 , 8 , 1 , 2 4 , 1 8 5 , 27 , 14 1 , 246 , 3 , 232 , 1 89 , 9 , 1 , 18 5 , 8 , 1 4 1 ,247 , 3 , 1 6 9 , 76 , 1 4 1 , 24 5 , 3 , 9 6 , 28 1 , 158,248 , 3 , 188 , 6 , 9 , 168 , 8 , 152, 72,32, 245, 238 , 184 , 1 68,282, 158,24, 288 , 1 92, 4 , 144 , 24 1 , 1 6 5 , 26 , 133,37.5 6 , 19 1 , 2 7 , 133 DATA 27, 165,24,56 , 1 8 1 ,25, 133,25, 1 9 8 , 3 7 , 238 , 3 7 , 32 , 34 , 252 , 1 6 5 , 37 , 19 7 , 27 , 1 44 , 1 , 96 , 1 64 , 24 , 177,49 , 4 8 , 4 , 9 , 128,288 , 2 , 4 1 , 63 , 1 4 5 , 48 , 29 8 , 1 9 6 , 25, 144 , 239 , 1 76 , 223,255,8 RETURN REM *. T E S T .1

COPYRI GHT (C) 1982 DENI S SUREAU DATA F I N

Message aux créateurs de logiciel Nous allons bientôt commercialiser des programmes en plus de la revue Pom's, la rémunération des auteurs s'effectuant selon le principe des droits d'auteur.

Bien entendu, les programmes destinés à ce mode de distribution doivent être des produits finis, autant par la qualité dês programmes Que par celle de la documentation et par l'environnement visuel et sonore.

Nous sommes prêts à analyser vos propositions et à vous aider à transformer des idées en produits logiciels. Envoyez-nous vos contributions ; nous vous aiderons à diffuser ces programmes.

Pom's nO 7 41

Page 42: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

BvVerba1im

DISQUffiES ET MINI DlSQUffiES TOUTES CONFIGURATIONS

- Certification unitaire 1 00 % sans erreur.

- Durée de vie : 30 millions de révolutions (standard de l'Industrie 3,5 millions de révolutions).

- Anneau de renforcement en standard sur le 5 1/4 ".

- 5 1/4 " en 48 et 96 TPI, simple et double face.

Importateur exclusif : BFI ELECTRONIQUE · 9 RUE YVART -75015 PARIS. Tél. 533-01-37.

Page 43: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

Visicalc et traitement de texte

Je tiens à remercier ici Judith Ker­lesz, une de nos fidèles lectrices, qui nous a donné l'idée de cet article en nous montrant comment mettre des minuscules dans un tableau Visicalc .

Visicalc avec des minuscules Ceux d'entre nous qui travaillent avec un Apple 1[ Plus sans la ROM minuscules regrettent parfois de ne pouvoir les utiliser dans Visicalc. En fail, cela peul se faire sans difficulté, quoique l'effort ne soit pas justifié pour un tableau d'usage peu fré­quent. Par contre, un tableau à usage multiples, servant .il. l'élabora­tion de factures par exemple, est plus satisfaisant s'il peut exploiter les minuscules de l'imprimante. Le principe est relativement simple. ILe fichier Visicalc est un fichier TEXT que ['on peut modifier à l'aide d'un programme de traitement de texte. La procédure est par consé­quent la suivante 1) Créer le tableau souhaité avec Visicalc 2) Sauvegarder le fichier correspon­dant avec {/SSFACTUREj (ou tout autre nom que . FACTURE ,.) Comme dans le livre . Visicalc sur Apple ", nous mettons entre cro­chets les textes à entrer au clavier pour Visicalc. 3) lire en traitement de texte le fichier FACTURE 4) Remplacer en mode édition les majuscules par les minuscules sou­haitées 5) Sauvegarde le fichier sous un nom qui nous rappelle la présence des minuscules, par exemple FACT.MIN

Porn's nO 7

Quand on souhaite imprimer une facture, il suffit d e faire [/SLFACT.MIN] en Visicalc, d'y ajouter les informations propres à la facture considérée, puis de lancer son impression. Quand Visicalc lit des minuscules, il fait apparaître à l'écran les majuscules correspondan­tes. C'est uniquement à J'impression {ou avec les lettres accentuées} que J'on voit qu'il y a effectivement des minuscules aux endroits nécessaires.

Les utilisateurs d'Apple Ile pourront aussi constater que le programme Visicalc fait apparaître des majuscu­les à l'écran, bien que les minuscules existent avec ce matériel.

Bien entendu, si J'on veut éviter de perdre du temps en pratiquant ainsi le va-et-vient entre Visicalc et le pro­gramme de traitement de texte, il faut se contenter de majuscules pour les informations relatives à chaque facture spécifique.

Cette façon de travailler suppose que voire programme de traitement de texte sache lire des fichiers texte . Il n'y aura pas de problème si vous travaillez avec Applewriter Il, Magic Window ou tout autre système utili­sant des fichiers TEXT.

Si par contre vous possédez le célè­bre Applewriter l, vous pouvez tout de même vous en tirer en utilisant les programmes TEXT to Applewriler 1 et Appelwriter 1 10 TEXT présentés ci-dessous.

Nous fournissons en réduction un exemple de faclure réalisée pour Pom's. Le fichier FACT.MIN se trouve sur la disquette d'accompa­gnement. Le lecteur pourra consta­ter sans effort que la solution propo-

Hervé Thiriez

sée dans cet article fonctionne sans moindre problème. Passons maintenant aux program­mes de conversion entre un fichier TEXT et le programme Applewri-1er 1 .

TEXT to Applewriter 1 Afin de convertir un fichier TEXT en format Applewriter 1, il suffit d'exé­cuter le programme suivant. Outre son intérêt pour l'utilisation liée à Visicalc, ce programme permet d'exploiter les possibilités d'Applew­riler avec tout fichier TEXT, en parti­culier pour l'édition de fichiers EXEC. Une autre application de ce pro­gramme de converssion consiste, après avoir effectué avec [/PF-E36 RETURN FACTURE] la sauvegarde du lableau à imprimer (et non plus de la description du tableau), à le convertir en format Applewriter. Le tableau Visicalc peut alors être inté­gré avec CTRL-l dans un rapport édité en Applewriter. Notre but se limite ici à vous fournir un bon outil de travail. Nous ne commenterons donc pas le mode de fonctionnement de ce programme. Nous laissons le lecleur exercer sa sagacité dans cette analyse.

Applewriter 1 to TEXT Ce programme, à l'opposé, trans­forme un fichier Applewriter quel­conque en fichier TEXT. On peul ainsi créer un fichier EXEC en traite­ment de texte, et le convertir grâce à ce programme en fichier TEXT.

• • • j • • •

43 1

Page 44: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

44

E d i t i on s MEV

4 9 � r u e LaMartine

78 0 0 0 Ver s a i l l e s

r

L

Factvre N o .

Date 1 0 / 0 1/83

STE . MICROFANA & CIE

1 3 . RUE DE L �APPLE 1

7 5 0 1 6 PARIS CEDEX 89

1 231

Références GLian t i t é P r i x Ur't Total HT

Recue i l de POM I S

POM ' S nUMéros 7 à 1 0

D i squettes recue i l

D i s Q IJettes NOS 7- 1 0 D i sqlJette V i s i c a l c

E:o i tes 1 0 V e r b a t i M

T - S h i r t s

---------

1 1

1 1 1 2 4

---------1 1 2 . 1 5 1 1 2 . 1 5

---- - -----Total H . T .

TVA A ?;( ----------TOTAL TTC

1 2 6 . 48 147 . 5 5

6 3 . 24 2 0 0 . 0 0

42 . 16 ---- - -----

T o t a l H . T .

TVA 1 8 , 6 % - ---- - -- - -T o t a l T T C

Total à pa'jer • • • • • • • • • • • • • • • • • • • • • • • • • •

---------1 1 2 . 1 5 1 1 2 . 1 5

- - - ------224 . 3 0

1 5 . 7 0 - --------

2 4 0 . 0 0

1 2. 6 . 48 1 "'17 . 55

63 . 24 4 0 0 . 0 0 168 . 63

--- - - - ---

9 0 5 . 9 0 168 . 50

- - - ---_. _ _ . 1 0 74 . 4 0

1 3 1 1 . 4 0

E n v o t r e a i M a b l e règleMent à r é c e p t i o n de facture

Editions MEV Bureaux : 59, 84 de Glatigny 78000 - Versailles g (3) 918-13-07

SARL .. u e'piul de 20 000 F - RCS Verlaille. B l22 1]5 ]]7 - SIRET 322 8]5 l]7 000]9

�-" -

Pom's nO 7

Page 45: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

TEXT to Applewriter 1 1 8 REM ••• TEXT TO APPlEWRITER .XX

28 TEXT : HOME :OS : CHRt ( 4 ) ; ONERR GOTO 18e

38 DATA 1 69 , 1 , 1 33 , 38 , 1 69 , 25 , 1 33 , 3 1 , 32 . 12,253 , 168

48 DATA 8 , 9 , 128,28 1 , 1 4 1 , 248 , 1 2 , 28 1 , 168 , 1 44 , 24 1 , 28 1

58 DATA 224 . 144 , 2 , 233 , 97 , 1 8 5 , 64 , 145 , 3 8 , 238 , 38 , 288

68 DATA 227,238 , 3 1 , 28 8 , 223: FOR l "" 7 68 Ta 888: READ J : POKE l , J I NEXT

78 HTAB 5 : INVERSE : PRINT • CONVERS 1 ON TEXT -=) APPLEWR ITER- ; NORMAL : V TAB 6 : INPUT - F I CHIER A TRANSFERE R : - ;N$ I PRINT

88 A$ = -DU DRIVE : e ; Gosue 1 38 : 0 1 = D l

PRINT lAS = -AU DRIVE : e ; Gosue 138 : 02 "" D

98 PRINT OS-OPEN-N$- , 0 - 0 1 : PRINT ()$- REA O-N$; CAlL 768

188 PRINT OS-CLOSE - ; POKE 2 1 6 , 8 : POKE 6 488 , 1 3 1

1 18 0 - PEEK <38> + PEEK < 3 1 > • 256 1 P OKE 0 , 96 : PRINT ; PRINT OS-BSAVET EXT . -N$- ,A$ 198e , l - O - 6399- , 0-02

128 PRINT 1 PRINT -TRANSFORMATI ON TERNI NEE • • • • : END

138 PRINT At, j : GEr M : I F A$ < · 1 " OR A $ ) · 2 " THEN 138

148 0 :: VAL (AS> : PRINT 0 : RETURN

Applewriter 1 to TEXT 1 8 28

38

48

'8

••

7.

.8 •• 1.8 I l . 128 13. 14. IS8

REH ••• APPLEWR ITER TO TEXT ••• TEXT : HCI1E 1 [)$ = CHRS (4) 1 CNERR

GOTO 148 PRINT " • i : It-IJERSE : PRINT " CCNJE

RSICN APPLEWR ITER """") TEXT" : NORM AL

VTAB 4 : INPUT · F I CH I ER APPLEWR ITER 1 TEXT . " ; N$ : PRINT : PRINT "METTRE LA DI SQUETTE DANS LE DRIVE 1 "

VTAB 8 : PRINT "APPUYER SUR UNE TOUCH E POUR CONTINUER" : GET A$ : PRINT : PRINT O$"BLOAOTEXT • • N$ : VTAB 8 :

GALL - 868: PRINT " F I CHIER "N$. CHARGE . . . •

VTAB 1 8 : INPUT "A TRANSFERER SUR QUE L DRIVE ? " ; 0 : I F 0 < 1 OR 0 ) 2 THEN 68

PRINT : PRINT "ATTENDEZ LE MESSAGE D E BONNE CCNCLUS I ON , LE PROCESSUS E ST ASSEZ LONG . . . · : AOR = 648 1 : PR INT O$" OPEN"N$" , 0 " 0 : PRINT [)$"WRI

TE"""" A :: PEEK (ADR) :AOR m ADR • 1

I F A ) 223 THEN A � A 7 64 I F A ) 1 9 1 THEN A - A • 32 I F A ( 32 THEN A s A . 192 I F A < 64 THEN A = A • 128 I F A = 96 THEN 158 PRINT CHRS <A> ; : GOTO 88 PRINT : PRINT O$" CLOSE " : PRINT : PR

INT " TRANSFORHAT 1 ON TERMINEE •

Micromos : Les pionniers des années 80 • Disques durs à cartouche amovible sur

APPLE Il et assimilés . .

• Mono o u multipostes

• Sous DOS 3.3

• De 10 + 1 0 à 1 0 + 130 Mo en ligne sur un seul slot APPLE Il

• Tous nos produits sont compatibles avec l 'APPLE Ile

Laboratoire : 17 , Plateau de la Ravinière - 95520 OSNY - Tél. (3) 032-16-71 - (3) 032-37-78

Porn's n O 7 45

Page 46: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

46

Hello corrigé Thierry Le Tallec et Jacques Tran - Van

Programme HELLO du Pom's nO 6 (page 34) Récapitulation corrigée

I9ID.CFD

1980- 21 2f FB 1811- 21 58 FC 21 89 FE 21 '13 181&- FE (IIJ D5 IJ C? 90 Fi 16

1i828- 21 20 Ff 4C DI 13 21 51

1828- AS A9 D3 BD Il 90 A9 ft

10- BD 81 90 Al 18 U 19 110 1838- 14 IC 90 A6 � E8 DI! F7 1841- AI 9A A9 98 2tl 8C 98 Al

lB4&- 12 86 22 211 58 FC CA 211

1851- 62 lB M fi: 89 37 IF FI 1858- IF tA " FB 18 EE 67 9B

1868- DI 13 EE 68 ft! 28 DI FI 88&8-- 88 œ ES' 2C 8J CI (() " 1871- El AC I l El 2C 81 C8 Cf 1879- 4C œ 14 Ct 28 FI 18 Cf 188t- 21 œ 19 CI te 01 15 4C 1888- 13 19 E6 12 AI ES 94 FB 1891- A5 AI 18 69 23 AS 85 FB

I� Cf Il Ft El lt2 lB BI I l IBM- FI 52 OD D8 lB DI E9 ct! IlIA&- rA œ F3 M F8 88 88 BI .8IIt- Il III En 87 88 BI Il 38 8889- Dl III EC D7 III E4 lB 91) 19CI- M 15 E8 Et 19 DI F5 2t

Ieœ- 69 9B 21 19 18 AI FC A9

1801- 2f 211 71 99 2t JE 9B 84

la- lE lM Il A2 Ji 80S IF A9

ISEI- DI 85 11 BI lE 91 18 ct! 18E8- DI F9 E.s IF E6 Il l'A DI

18FI- F2 21 58 FC A9 Il 85 12

18F&- DI 119 AS 86 18 69 23 91

1"1- 14 E6 12 A9 lB AS 84 l'

1989- A:i 88 Cf 28 91 IJ 4C 8F 1911- IS' C'1 14 DI lB 85 21 85

1919- 21 21 58 FC M 86 f6 "

1921- III lA M BI I l 31 03 F'

It2S- U 9D lt 96 E.s U CS AS

1931- 12 lA lA lA lA Il Il 90 19'39- I l S'& ca 98 90 13 96 AS' 1941- FF 85 13 BI Il 31 M 4.s 1S'48- IJ 46 13 29 i"F 90 82 96 1951- A2 17 lA lA 81 13 CA DI

1959- FA II) AS lB 2S 13 28 87

19"- 19 AS " Cf lB 81 12 69 1968- 2C 69 94 21 B7 19 lt2 IF 1971- ct! BI Il Cf AI 91 &4 Cf ma- 81 81 F5 21 ED FD CA DI 1991- EF 21 SE FD 4C FA 88 21

1" ED Fa fi? ÇiJ 41; ED FD 21

1991- 2F FB AI IF 84 24 AS' li

.� 85 17 28 58 FB B9 � lB

19At- " Ff 13 88 DB F7 98 AE

1MB- F6 87 21 24 ED 2t 9C Ft 1988- A9 15 85 24 (Il &7 9B AD

8998- 68 9B 211 24 ED AI If B9 1ge1- Be lB 99 18 14 88 It F7 19C8- li 2f FB A9 ID 8'5 24 21

1908- 9C FC Al 6A (IIJ 89 99 C9

1909- 8F DI! 12 Al 68 BE 00 17

119E1- AI ID B9 cs lB 99 Cf 17

UEe- 98 DI! F7 46 14 4& 13 2t

I9FI- 8C FD C9 AI DI 13 4C � 19fB- 98 C9 Ni DI le A9 69 AIl lAIt- FF 00 89 'lB II: 88 'lB DI

I",U- 80S C9 00 DI 16 "" If AI IAII- 90 DI Er Cf 95 DI 18 A9

tAIe- 12 8D EA 87 5) 68 M 4C 1A2I- ID 18 C9 88 111 14 A9 Il tA2&- DI Ef C9 98 ail " 85 17

1A3I- A9 ]= BD 00 17 DI 94 C9

lA38- IIC � 19 85 13 29 7f 00 M4I- DO 17 DI AB C9 84 DI "

tA4&- 85 i<1 46 Il Il EF C9 (If 1A5I- FI 58 C9 81 91 99 C9 DB lAS&- BI 9S C9 tl 91 12 E9 2C WI- E9 95 C5 ft B8 89 lA lA

lA6&- M OC " 9& 80 Il 9& 48

1A7I- 29 -= 21 FD ID 68 � 4A tA79- 4A 4A '9 11 85 12 fi) 12

WI- " 8S IC BD 13 " 85 Il lA8&- AI lE BI tl 99 oc 17 99

1i198- 74 M 88 DI F5 24 13 Il

tA9&- 2& 211 87 lA BI 81 49 lit IAAI- 91 11 A2 82 211 62 8B 41;

lM&- '0 18 2t 58 Fe A2 " li

8AB8- 94 ID 28 8C FD 38 FI 24

lA88- lE Il lIA Al 14 DI Jo: 24

IACI- 14 18 10 211 87 tA BI Il lAC&- Il lM Al lA 08 31 A9 75

8ADe- BD ca B5 M M 8D C4 B5 tAO&- Al 85 28 94 16 4C 10 18

w .... AS IIC DI 13 4C C6 AS C9

WB- t4 FI 38 91 14 Al 80 DI

WI- ID C9 12 FI 31 A' 21 21

we- B2 AS FI � Al Il El t4

1811- 18 211 DO FD 21 91 FE 21

.� 12 A7 2t lM FE 21 9C Ft IS11- 21 IC FD 28 FI 91 4C sr: IBI&- IS' 21 E3 13 28 B5 87 91

1821- 14 Al 18 DI 09 61 21 69

lB2&- 98 211 IS' 88 AD Il 'f7 BD

1838- Il 98 AB FI 17 AD 82 '7

1838- 211 FO 18 EE FI B7 28 19

1848- 8B AIl Il 89 le 98 99 Il lB4&- 98 C8 DI F1 AC le 97 AD

8858- ID S'7 21 FD 19 AI ta A9

1858- 96 21 71 98 28 19 lB 4C 1861- A6 \lA BE F4 87 aoS lE III .868- .. II: EB B7 lM lit lM '1

8811- A9 Il 85 12 28 71 9B A9

.878- IF AIl I l 21 FD 8B 28 19

1891- '8 EE FI 87 CE ED 87 Il .889- FS AD ED ce AD EE C8 Il

1899- 12 85 JE 61 SE BB es A9

1998- '6 ml CI 85 AD 68 /lA BD

'IIAI- CI B:'i 4C Od 13 fi. lE 00 IEN- lIA Dl 02 00 lIA 2D 2D l' 1II1II- IF ID 27 \3 2D 2D A8 AI

1889- D6 Cf ct ré M 03 Ci Cl

'BCI- D4 Ci os 02 03 AI cc C9

tOCS- Cl D2 C5 03 16 IF 14 12

1801- 15 21 13 18 IF 19 18 AI

,9» M M AI AI Cl Cf 03 Cl 11E1- C2 D4 CE Cf AB C3 cs CI

.BE8- 02 C7 C5 Cl! cs CE D4 AI IBFI- C4 Ci AI cc A7 C9 Il D4

.1F8- 0 Cl cs D2 te sc Et B7 lefl- 80 ED 87 01 A:5 le � BI IC18- S t:I BI 31 NJ .. 96 85

ICII- 14 [9 13 AS If> Il 96 � ICI&- 15 E9 Il 21 71 9B 21 3E IC2I- 9B 21 78 7B 18 13 A6 1"

le2&- M t5 28 96 FO AE '2 96 ml- AD 13 'l' 28 41 Ft .: BF IC»- 90 II. 14 " 6D 1. 96 85

ml- tE 95 '1' AD Il 96 6918 .C4&- 85 98 85 Mt fil ff NI A' 1(58- 17 28 71 9B 28 lE 99 85

.cse- 08 II) Il 88 29 78 9B 311

,COI- os « 66 D5 A9 01 II) [7 'C68- 90 28 9E A5 te II. 9) E7

un- 90 21 .. FI 21 D4 A? 38 IC78- EO 81 96 85 rA A9 96 EO IC9I- '1 96 85 cs 38 AS CA E9

IC8&- 12 AS A5 cs [9 .. 28 71 ICft- 9B 21 JE 9B 21 78 9B 31 .C9&- 90 4C Et EF Ai 8C 81 Il '('AI- FI 21 SI) Et B7 cs BI Il

'CAS- 80 ED 87 lM 16 AI E8 A9 lœa- 87 211 85 B7 81 42 A4 "

IC89- cs � 12 E6 12 EE FI 87 ICCI- Dt oc 4C 511 A7 Il Il AI

ICC&- Il lM Il A9 'f7 85 12 sc

tCOl- FI B7 80 FI B7 61 211 D4

la. A7 85 48 A9 16 li :J!I Ft 8CEI- 21 lA Fe 211 BE FO AlI BF IŒ&- A'I 90 sc F2 13 8D F3 13

ICFI- 49 A!5 BD F4 13 24 17 61

ICF&- li 78 9B 4C IF 90

Porn's nO 7

Page 47: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

Gestion de masques en BASIC

Pour commencer, rendons à César ce qui lui appartient ! Les routines présentées ci-après s'inspirent largement des principes développés pour la gestion des masques d'entrée/sortie de l a carle MEM/DOS 6 502 . Elles ne préten­dent pas toutefois, c'est évident, atteindre le même niveau de perfor­mance, tant en ce qui concerne la facilité d'utilisation (gestion conjointe des masques et des variables) , que le stockage sur disque (recodage des informations) ou la rapidité d'accès (stockage des masques en mémoire RAM après leur ouverture . . . ) .

Noire ambition se borne à vous offrir un utilitaire qui, combiné avec la routine d'INPUT publiée clans le numéro 6 de Porn's, vous permette de réaliser une gestion d'écran plus souple el plus complète que par les seules instructions du BASIC.

Routine de gestion de masques Le principe consiste â « dessiner . le masque directement sur l'écran, puis â sauver la page TEXT correspon­dante pour un chargement ultérieur â partir de vos programmes. Le pro­gramme Applesoft GESMASK vous permet, dans les traitements CRÉA­TION et MODIFICATION, de réali­ser ces « mise en pages _. Quelques touches de fonction ont été prévues pour faciliter ce travail : • Déplacement vers la droite ou la

Pom's n" 7

gauche sans affecter le contenu de l'écran par les touches « - _ et « - -. • Déplacement vers le ba, poe RETURN. • Déplacement vers le haut pa, CTRL·R. • Passage en mode INVERSE par CTRU • Passage en mode NORMAL par CTRL·N . • Décalage de tout l'écran vers la droite à partir d'un point donné par CTRL·D. • Décalage de tout l'écran vers la gauche à partir d'un point donné par CTRL·G. • Répétition verticale d'un caractère par CTRL-V (il faut se placer sur le caractère concerné, puis faire CTRL·V). • La touche REPT conserve sa fonc­tion habituelle. • La touche ESC permet de valider l'écran et de le sauver sur disquette {ou de revenir au menu en cas de consultation} .

Vous constaterez rapidement qu'i! est plus agréable de réaliser par ce moyen des écrans complexes ou " esthétiques _ que d'utiliser une suite d·instructions BASIC telles que VT AB, HT AB et autres PRINT. .

De plus, si vous perdez de la place sur disquette (chaque écran occupe 6 secteurs) , vous en économiserez en mémoire centrale, l'encombre­ment de vos programmes étant réduit.

Gérard Michel

Hard-Copy TEXT Cette routine « standard _ vous per­mettra : • d'imprimer vos masques afin de repérer l'endroit où seront position­nées les variables (paramètres H et V qu'i! faut fournir à la routine d'INPUT). • d'imprimer des écrans à partir de vos programmes après consultation (vair le programme Applesoft MASK.DEMO)

Impression paramétrée Pour éditer sur imprimante des don­nées sous une forme quelque peu présentable, il faut bien souvent commencer par définir un tableau à la main. 11 faut ensuite jongler avec les SPC, LEFT$. â l'intérieur du programme BASIC pour retrouver le tableau voulu sur l'imprimante.

La solution proposée ici consiste , une fois encore, à dessiner le tableau sur l'écran pour le reproduire ensuite sur papier. Les masques correspon­dants peuvent être créés par GES­MASK. Chaque ligne d'impression est repé­rée par deux caractères de « con­trôle • identiques entre lesquels elle doit se trouver. Ces caractères peu­vent être n'importe queHe lellre de A à Z affichée en INVERSE sur l'écran (ceci impose de ne pas mettre de let­tres en INVERSE dans les lignes à imprimer) . Deux lignes différentes doivent en outre comporter des

OLlVEnl PRAXIS AVEC INTERFACE APPLE

5400 F h.t. L'i�primonte qui est aussi une machine à écnre. Marguerites interchangeables.

TOTALE FORMATION 114, o� Chorles.<:Je-Goulle 92200 Neuilly · Tél. 745.62.71

47

Page 48: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

48

caractères de contrôle différents. Le programme MASK.DEMO fournit une illustration de ce type de traite­ment (si votre interface/imprimante réalise une impression simultanée à l'écran, rajoutez PRINT CHR$ (9)

"80 N" après chaque PKIF 1 de ce programme) .

d'INPUT présentée dans le numéro 6 de Pom's. Il est difficile de ra répéter ici, d'autant que le mode d'emploi peut aussi être découvert par tâtonnements ou, dans le pir.e des cas, par analyse du programme !

Mode d'emploi Le lecteur est prié de se reporter au mode d'emploi décrit dans la routine

Programme GESMASK

1 9 HJMEH: 37349 29 D$ : CHR$ ( 4) : 0 1$ = CHR$ ( 13) + 0$ :

PRINT �" BLOAO INPUT , OBJ" I PRINT O$"BLOAO MASK I N . OBJ" : PRINT O$"B

LOAO HCT .OBJ" 39 ONERR GOTO geeO 40 GOTO 308 78 VTAB 22: HTAB 1 : INVERSE f PRINT ZM$

; : NORMAL : INPUT " ? " ; Z$: VTAB 2 2 : GALL - 868:Z$ = LEFT$ ( Z$ , 1 ) : I F Z$ : " 0 " OR Z$ - "N" THEN RETURN

7 1 GOTO 70 80 REM 90 REM ROUTINE D ' I NPUT tOO REM 149 VTAB V I HTAB HI PRINT LEFT$ (Po.,L

0) " " ' 1 VTAB V : HTAB H : I F ME = 2 OR X = 1 THEN PRINT ZY$<LL) : J F 8% = 8 THEN 168

150 VTAB V: POKE 8,TY: POKE 36 , H - 1 : P OKE 7 , LO : CALL 37350

154 LC = PEEK (9) : E = PEEK (6) : I F E = 9 THEN RETURN

156 ZZ. - " " : PRINT SPC( LO - LC) : I F L C = 0 THEN 168

158 FOR ZZ - 1 TO L C : Z = PEEK <784 + Z Z) - 128:ZZ$ = ZZ$ + CHR$ ( Z ) 1 N EXT

162 1 F TY < 3 THEN RETURN 163 I F M I OS ( Z Z$ , 2 , 1) s " / " THEN ZZ$ =

" 0 " + ZZ$ 164 I F MIO. ( Z Z$ , 5 , 1 ) = " / . THEN ZZS -

LEFT$ ( Z Z $ , 3 ) + " 0 " + R I GHT$ ( ZZ$,4>

165 I F lEN ( Z ZS) < ) 8 THEN Z$ = ME.( 3) : GOSUB 190 : GOTO 149

166 Z4 = VAL < MIO. < 2 2 $ , 4 , 2» : IF VAL ( LEFT$ (ZZ$,2» ) 3 1 OR Z 4 ) 1 2 OR Z4 . VAL < R I GHT. < Z 2. , 2» (

= 0 THEN 2$ = ME$(3) : GOSUB 199 1 GOTO 149

167 RETURN 168 J F HE - 2 OR x' = 1 THEN VTAB V : HT

AB H : ZZ$ - ZY$ ( lL) : PRINT ZZ$ SPC ( LO - LEN (ZZ$»

169 RETURN lBe REM 190 VTAS 2 1 : HTAB 1 : GALL - 86B: INVER

SE : FOR Z z 1 TO 159 : Z 1 = PEEK ( - 16336) : NEXT : PRINT Z$ j : NOR MAL : FOR Z = 1 TO 250 0 : NEXT : H TAB 1 : GALL - 868: RETURN

300 DATA 9 , 2 B , I , 2 , 1 7 , 36 , 1 , 1 3 1 8 FOR 1 = 1 TO 2 : REAO ZV/'( J ) ,ZH%( J ) ,

ZL.X< I ) ,TY"/,< J ) : NEXT 328 Po. = " • • , • • , • • • • • • • • , • • • • , • • " 488 TEXT : HOME : PRINT D I . " SLOAO GESHA

SK I , O I " 1 REM PREMIER MASQUE DU

PROGRAf11E 485 V 1 4 : H = 28:LO - I :TY .... 2 : X "" 8 1 ME

""' 8 : 8% = 8 4 1 8 E = 8 l GOSUB 1 4 9 : I F E = 9 THEN 4 1 8 428 ZY. = VAL ( Z Z$) : I F ZY. < 1 OR ZY. ) 6

THEN 4 1 8 438 1 F ZY. = 6 THEN HOME : END 448 V - 1 7 : H = 24:LO = 9 1 TY "" I : LL - 1 458 E = 8 : GOSUB 1 4 9 : I F E = 9 THEN 485 468 ZY$( I ) E ZZ$:M$ � ZZ$: ZHS & " ENREGIS

TREMENT CONFIRME" : GOSUS 78 : I F Z • � MN" THEN X = I l GOTO 458

478 HOME : PRINT OS"BLOAO GESHASK2" : X -. 8 :HE - 8 : 8% = 8 : REM DEUX I EME M ASQUE DU PROGRAMME

48B V - 7 : H � 29,TY = 2 : LO K I : E � 8 : GO sus 149: I F E '" 9 THEN 488

498 2Y$( I ) = Z Z. : O z VAL (ZZ$) : I F 0 < l OR D ) 2 THEN X = 1 : GOT0 488

588 I F ZY. < ) 4 THEN 568 5 1 8 HE : 8 : 0Y. = 2 1 X = 8 528 FOR LL = DY. Ta 3 : L I = LL - I : V - ZV

Y. ( L I ) : H '" ZW, < L I > : LO = ZL/.< L l> :TY - TY'/. ( L D

525 E "" 9 : GOSUB 1 4 9 : I F E ... 9 AND L L -2 THEN LL - 3 : NEXT :X = 1 : GOTO 488

538 I F E � 9 THEN LL = I : X '" 1 : GOTO 55 8

548 2Y$(LL) = ZZ$ 559 NEXT ; S = VAL <ZY$(2» : E$ = ZY$(3)

: IF S ( 1 OR S ) 5 OR (E$ < ) " O· AND E$ < ) "NM) THEN �/. E 3 : X

s i : GOTO 528 568 GOSUB 79 : I F Z$ ... "N- THEN X "" 1 : G

OTa 488 578 Z = 8 : HOME : PRINT OI$" BLOAO"HS" , O "

0 : ON ZY. GOTO 688 , 6 18 , 628 , 638 , 659 688 I F Z - 8 THEN 98 1 8 682 CALL 3758 8 : R EM ROUTINE DE GEST I ON

DE MASQUES 685 POKE 3 4 , 2 4 : PRINT O I S " 8SAVEMHS " , A I 9

24 , L I 8 24 " : GOTO 488 6 1 8 GALL 37583: GOTO 685: REM ON SAUTE

LE " HOME" DE LA ROUTINE 628 POKE 36 , 8 : POKE 37,23: CALL 37537:

GOTO 488 : REM ON SAUTE O I RECTEHE NT AU " JSR VTAS- DE LA ROUTINE

638 PRJNT OS"PRM" S : I F E$ - " O · THEN P RINT CHRS (9) " 88N"

648 GALL 37989: PRINT Dl$"PRM8 " : GCTO 4 9 8 : REM ROUTINE DE HARO-COPY TEX T

658 ZHS - -ANNULAT I ON CONF I RMEE " : GOSUS 78 : I F Z$ = "N- THEN 488

668 PRINT Dl$" OELETPM$: GOTO 488 9898 2 = PEEK (222) ; I F Z "" 6 AND Z% =

1 THEN 6BB 9 B I 8 I F Z Y. = 1 THEN Z$ = "CE MASQUE EXI

STE DEJA " : GOSUB 198 1 GOTO 488 9B28 Z$ = -CE MASQUE N ' EX I STE PAS" : GOSU

B 198 : GOTO 48B

Porn's nO 7

Page 49: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

Programme MASK.DEMO 1 9 HIMEM: 3734e 28 D$ = CHRS (4) : 0 1$ = CHR$ ( 1 3) + D$:

PRINT D$"8LOAD INPUT , OBJ - : PRINT QS" BLOAD PARA .OBJ"· : PRINT [)$"BLO

4. 45

AD HCT . OBJ" GOTO 30e REH

46 REM PLACE A L ' ADRESSE $6 LE RE DE CONTROLE EN INVERSE

50 2 = ASC <2$) - 6 4 : POKE 6 , 2 : 839: RETURN

REH

CARACTE

CALL 38

55 7. VTAB 22: HTAB 1 : II'lJERSE PRINT ZMS

i : NORMAL : INPUT · ? " ; 2$ ; VTAB 22: GALL - B66:2$ = LEFT$ ( 2$ , 1 ) ; I F Z$ = · 0 · OR Z$ = " N " THEN Rf:. , :....,"�

7 1 GCTO 79 138 VTAB 22: HTAS 1 : INVERSE ; PRINT . ,

RETURN' OU ' ? ' POUR IMPRESS I ON" ; : NORMAL : GET Z $ : I F ASC (2$) < ) 13 AND 2$ < ) " ?" THEN 138

148 VTAB 22: HTAB 1 : GALL - 868 142 I F Ase ( 2$) = 1 3 THEN RETURN 145 POKE 34 , 24 : PRINT DIS"PR* I " : GALL 3

7989: PRINT D I S " PR.e " ; RETURN 149 VTAB V : HTAB H : PRINT LEFT$ < P O $ , L

0) ; : VTAB V : HTAB H : I F HE = 2 OR X = 1 THEN PRINT ZY$(LL) : I F �/. :: 8 THEN 168

159 VTAB V : POKE S , TV : POKE 36 , H - 1 : P OKE 7 , LO : CALL 37358

1�4 LC = PEEK (9) : E = PEEK (6) : I F E = 9 THEN RETURN

1�6 ZZ$ 2 " " : PRINT SPC< LO - LC) : I F L C = 8 THEN 168

158 FOR ZZ = 1 TO LC : Z K PEEK (784 • Z Z> - 128:ZZ$ = ZZ$ . CHR$ < Z ) : N EXT

162 I F TY < 3 THEN RETURN 163 I F M I O. < Z Z $ , 2 , 1 ) = " / " THEN ZZ$ =

" 8 " • ZZ$ 164 I F M I O. < 2 Z$ , 5 , 1 ) = "/" THEN ZZ$ ..

LEFT$ < Z Z$ , 3) • " 8 " . R I GHT$ ( ZZ$,4)

165 IF LEN ( Z Z$) ( ) 8 THEN Z$ = ME$< 3) : GOSue 198 : GOTO 149

166 Z 4 "" VAL < M I O. ( Z Z$ , 4 , 2» 1 IF VAL ( LEFT$ ( Z Z $ , 2 » ) 3 1 OR Z 4 ) 1 2 OR Z 4 � VAL ( R I GHT$ ( Z Z $ , 2 » (

= 8 THEN Z$ = ME$( 3) : GOSU8 198 : GOTO 149

167 RETURN 168 I F ME = 2 OR X = 1 THEN VTAB V : KT

Exemple : masque de MASK.DEMO

AB H : ZZ$ "" ZY$<LL) : PRINT ZZ$ SPC < LO - LEN <ZZ$»

169 RETURN 198 VTAB 2 1 : KTAB 1 : CALL - 868: INVER

SE : FOR Z = 1 TO 158 : Z 1 = PEEK ( - 16336) 1 NEXT : PRINT Z$ I : NOR MAL : FOR Z = 1 TO 258 8 : NEXT : H TAB 1 : CALL - 868: RETURN

388 Po. = • • • • • • • • • • • • • • • • • • • • • " 3 1 8 DATA CREAT I ON ,MOD I F ! CAT I ON , CONSULT

ATtON 328 FOR 1 � 1 TO 3: READ L I $ < } ) : NEXT 488 TEXT : HOME : PRINT D l $ " BLOADMASK l "

:L% "" 0 4 1 9 V "" 22 : H = 3B:LO = I : TY = 2 : X = 0 :ME

8 : GOSue 1 4 9 : I F E = 9 THEN 4 1 •

428 Z% = VAL ( Z Z$) : I F Z% ( OR Z% ) 5 THEN 4 1 8

430 I F Z% "" 5 THEN HOME : END 448 I F ZX = 4 THEN 688 4�8 HOME : PRINT D I$" BLOAD MASK2" : VTAB

4 : HTAB 1 : INVERSE : PRINT U $ < 2 %) ; : NORMAL

468 �/. = 8 � < Z % ) 1) :X = 1 � ( �/. "" B) : M E - 8 : D% - 1 :TY - 2

47e �uR LL = �/. TO t8 : L I = L L / 2 : L = INT ( L l) :DH = 1 � ( L = L I ) : V = 9 • 2 � < L - DH) : H = 1 6 . 15 � OH : L o "" 9 - 2 � OH

488 E "" 8 : GOSue 1 4 9 : I F E "" 9 AND LL c 1 THEN LL s 1 8 : NEXT : GOTD 480

498 I F E = 9 AND HE = 8 THEN L% "" LL 588 I F E = 9 THEN LL = LL - 2 : HE = 2 : G

OTO 528 5 1 8 ZY$(LL) = ZZ$:ME = 2 � ( L L ( L% - 1 ) 528 NEXT : 8% = 8 : L% = 8 : I F Z% = 3 THEN

Gosue 138 : GOTO 480 538 ZH$ = " ENREG 1 STREMENT CONF 1 RHE· : GaS

us 79 : I F Z$ = "N" THEN X = 1 : �/. "" 1 9 : GOTO 479

548 GOTO 408 688 HOME : PRINT DI$" eLOADHASK3" : POKE

3 4 , 2 4 : PRINT Dl$"PRM l " : Z $ = "A" : GOSue �8 : Z$ = " S " : GOSue 58 :Z$ =

" A " : GOSua 5 8 : Z $ = " 0 " : GOSUB 58 : PRINT . 0 ; : PRINT o."PR_8"

6 1 8 FOR 1 = 1 TO 5 : VTAe 5 : HTAB 1 3 : PR INT "RUBRIQUE " 1 : VTAe 6 : HTAB 7 :

PRINT ZY$( ( 2 * J ) - 1 ) ; : HTAS 27 : PRINT ZY$( 2 * 1 ) j

628 PR!NT D I$·PRM l " :Z$ = O C " : GOSue 58 : PRINT " 0 ; : PRINT DS" PR_e " : NEXT

: PRINT DI$-PRM I " :Z$ = " 0 " : GOSue 5 0 : Z$ = "A" : GOSUB 50 : PRINT 01$

·PR_8 " : GOTO 488

.ll.l • • • • • • • • x . x . x * x •• � * . � l l . l l . l l * � l l l X l l l l l . l l X l •• lll •• * l � •• � l l l l l . X * l l l l l l l l 1 NT 1 TULE l IJAlEUR NO 1 � IJALEUR NO 2 * � l l � * l l l � � l � l � l � � l � � l l � l l l l l l l l l l l l l l l l l l l l l l X * * X X X l l l l . X l * � l * � l * l l l X • • X l • • X l l � l l lE lE RUBRI QUE 1 • 1234 . 56 l 987 . 65 l l RUBRI QUE 2 lE 2233 . 44 lE 999.88 lE le RUBRI QUE 3 le 1 8 1 8 . 28 le 234 . 56 * le RUBRI QUE 4 J: 9753 . 1 8 J: 963 . 8 8 lE l RUBRIQUE 5 l 2323 . 2 3 le 1 1 1 . 22 � l � X lE l l l lE lE l l l l l l l lE l l lE l l lE lE l l lE l * l lE lE l . l X lE lE lE X l X l lE lE X lE X lE lE lE lE lE * l lE lE lE � lE l � lE l l l l l l l l X lE lE l . lE * lE lE � *

Pom's nO 7 49

Page 50: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

50

MASKIN.SCE - Lisa 1.5 l ,lHWlmlliDIIDnllmlllUn 2 11 1 3 il 1UJ11t€ OE (lSTltH DE WISQl(S 1 � il 1 5 ;1 ctU • l't\SKIH.œJ 1 , ;1 1 1 Il 1 8 lllWnUDllDlllllIllDlJllUlJ • 1

1. J I 1 2 V2 1. lJ2 1� VI 15111 1'" 17 C 1'" 19 H � , 21 vrAi " 6{1 " ... " " " " '" " 29 " .1 32 " " SI " .. " " " .. 41 SI " " .. ., '''2 " .. .. ,,,. '1 l2 " 'OS. " " " " " .. '1 .. " " " " " " ,os, " " 7J n " "

.. .. '" œJ .... [Ill .18 [Ill il' ,Pl " EPI " "'" "' " lP1 ." " "" " "" 101 tft22 [Ill tFt« 101 tft:II .. ... ,," H

ST" "" ' 01' 1$18 " SI LM Il ST" ST" " '1 "" , Ilt' "" " SI lo:! Il ST" II< , .. DE,

JSR VTMI

.. '"

Ilt' ""

.. 52 '" Ilt' .... .. " II< , .. DEI Ilt' "" .. 54 II< , .. 50 Ilt' .... .. "

"" '

Ilt' H

BE, .. 00; ' " '1 LM ' Ilt' H "" 1 lM Il'' ST" DE" "" 1 Ilt' 1192 .. "1 DEC ' . "1 LM HI1 ST" " '1

,mSS( lEJI[ caM ;PŒITlIll Id. CI.r.aII iPœJTIIJI '.tR. ct.R5tUl 1DERJ(( llasElII EN U ;OITJ([ DE CMlC'TEfIE

jEOUEIIE lIat: ?

1 IllU IERE CIlJIERE LIIH

if.lOtflERE CIl. Dl LA liN ?

iPASSU Il IERE CIl. lIH SUIWHTE

iPOSITIN a.RSnR ,OORE[ ovw:rEJIE lEst ?

jllET1.R4 ?

JOOl .) LIN SUIWHTE

; '-)' ?

l '(-' ?

j/lll .) ow.cttRl PliEŒtDIT j '(-' 9JI 1ER tIM:. DE LA LlI.1tE

JSI 1ER ow.c./IEItE UlM: : tH RESTE LA

,OIER CAPltAIH PlilfŒDOOt

j CTII. -R ?

JOJI .) LIN MŒŒJ(JE ;51 V>=t tH PŒITIIJK Of V ;1)1 5AIJ\'[ Il LA MJHIElI: LIN

75 55l 01' "119 7.1 H S� n WI ll 79 S53 STA " '1? .II' SI

91 S52 01' KI( 81 H 57 82 "" " .. .. '" 94 57 Of' '''oS " .. ss .. lM , 87 01' .117 88 ŒIl SI 99 JSR $FOCI 11 ltJY H 'lI LM (AMI, Y 92 [te: V 93 JSR 01 94 0[( M " " 50 " S8 01' "94

rl 110 Of

98 .II' 59 " DI !.M U

III Of' "11 III H DI 1.2 lM H lU Of' "27 lM H OI Ils .If' SI 116 01 WI V 1.7 stA V2 1.8 WI H 11'1 stA H2

i crRl-1 ?

,SIMER l[ 'IIMRSE'

; crRl-H ,

jSI9W.ER tE 'IDM.'

j CTRI. ..... ?

jPREJt) UMe. H DE liN V

jMSSE A LA L1lH: SlIIIJlfllt ;N'FIC!( LE ClWlC'TERE ; IllET II ctIISlIJt (WolS LA litt: COJHt[

; CTRl-D ?

jDOtflEJ! CIl.IIOIIDl: liN 1 QI IftOIf: j!illLlJEfNU l'OSITIItl CIIISEIII

Il' OP '$21 iSI ŒIIIIER CAMe. œ: LA LIN .) PIEJ(lI( III iLE PIIDIIER DE LA SlIr.wnt 112 H 0. 113 LM M

m stA HI 115 UI: V Il' lM V 117 stA VI 118 ... 01 119 0. IN: H 121 LM H 121 stA KI 122 l..IlA V

12'3 stA VI 12'1 Dl LM "17 iltl œ:rJU LES CARACTUES DE 125 i l'IUIIHT lOtiER lIE l'EIMt JBIU'A HllVI lU STA V IV D3 UJt "U 128 ()5 JSR N'BCI 129 lDA (#OU ,r III 1Kt' m STA (AIIO ,Y 132 lM V 133 OP VI 1)1] IN 02 135 C7t HI

136 IN 02 137 011 LM V2 iltl EST A HINI .) AESTlnD IV\! ET 1311 1 tETIRt: III '1IJfI:' Dt IV\! 139 STA V 141 l..IlA 112 141 STA H 142 l1IA fW 143 JSII 01 144 D(C H 145 .If' SI '''' ; 147 ; l'RXlWl Dt D2 :) OJKKT Ctl'J[R LE DOtfIER OWICJ[Rl 148 j D'lN: l!(H S1JI LE PRDtlER œ: LA !lJ11J1fm ET RMMIR 149 ; FI c:mE UN 151 ;

Porn's nO 7

Page 51: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

151 1)2 "" " '" .. ,. '" '"CV ". lM'

'" JSR Sf!l:I

". lDr "V '" LM (AIlR), y '" STA C

". '1< , ,� l .. , '61 JSR Sf!l:I '" "" "

'63 lM t '64 srA (AI)R).Y '" "" HI

'66 H OII

'61 lM'

'68 "" VI

'69 H 011 '" .IF 011 171 DI' ,"C V 172 lM U '73 ... " 17� 1).( "" :[I[rJt[ owcrERE Pl!:CEDOIT '" ""

'76 ... '" ln Sf Of' "87 ; ClIl-b • 118 : ln ; CTfl-6.) D(tI(A6[ A 6IUH 1. ; (teE5 PIIIII:IPES fiJElrUI( IlE PCUI Cf .. -ill IBI ;

'82 '83 '" .. '" '86 '" '88 '" '91 lfl 61 '92 '93 ".

1f5 61 , .. '91

'98

'99

211

'" ..

212 &2

'"

'" '"

'" '" '"

'" '" '" '" ",

'" li' li. '" 118 21f 63

'" no Zll ZZ3 zz . . , '" zz.

ΠU ..... 511 "'" DI' "11 .. " '10 H

". .m .. "

.. "

lM '

ST' UZ lM H

ST' ,.

DI' H27

.. .. ,1< , "" "

STA H

.. ., ''''"

"'"

lDr H

JSR tflCl

LM (MII) ,V STA C

"" N .. "

",CV

l .. ,

JSR tf!l:l

lDr ""

l .. ,

$TA (AM) ,v ,1< , "" "

STA H

.. " l" , JlR "'" "" "'" S'TA (ADR), y l'" DI' HI7

", o.

Porn's nO 7

m LM H

228 '"' 67 ll9 66 LM H

231 OP HV

231 Ilil 68 ,." .. ..

l33 68 LM tw

234 JSR 01 135 LM V2 236 $TA V

'l31 LM H2 238 S'TA "

139 '"' SI 241 Sil JSR llIT 2<11 '"' SI 2<12 llIT lIll " 243 ; "" 1 .) TMlSfIlKR LES CŒl(5-(CIWf ilS OW4CTERES 244 ; PIlR AIAlIR lES '[tf.OS[' 145 CP,( .1 � H OI

?-I7 Of' "Ct! m BCS 02

'" �, 251 !if( "III 251 .K' O[ 252 02 SEC '" "" "" 154 ; Pl!ŒICUI 01 : AfFICJ( li CJ:W('1[J( [1 /UM! ar.mt 255 01 $TA C

256 LM V

251 JSR Sfll: 1 258 lDY H

259 LM C

268 $TA (Aœl,Y 261 III: H 26Z R1S 263 D01 'lIfT' ,.. 00

HCT.SCE - Lisa 1 . 5 1 jmmUlJUIRlIIIllIHllU10n 2 ;1 1 3 :1 W#lD-OPY [(:Mi TEfl 4 ;1 5 :1 COOE. • ICI ,œJ 6 ;1 7 ;1 1 B jllUUIHIIliUlIiUlHlIHHlHI . ,

Il (Ri $M 11 IBJ .. 12 V [pl $25 ; r1 llHESS11JI 1'IWKT1II

13 ADR [Pl $18 14 PlI [II/ sno 15 I..CI\ H

16 $TA V 17 la LaY' H

18 � SF!l:1 19 Hel I..CI\ (lU) ,Y 2t ; aDE-[CMI }II 4' : fJiIK" 'lQtW..' 21 OP H4II ZZ I<S I<Z 2'J ; CIX(-[(MI COf'R1S ENJ1( 2t [1 39: CAIW:, AlITRE Il( It-l EH '1JMR5(' 2<1 OP "21 " I<S 10 ,. III 1l ; tMtSF_ CMIIC, Il 'A' A 'Z' EH 'tfJIIW.' " "" "" " ... 1<2 30 10 III 31 ; TIWQIJK CAIW:, DE 'SPAC[' A '9' EH '1OtW.' 31 "" ""

. --'.--':"' L -

51

Page 52: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

52

33 1<2 .. .. : Uf'IIlWHJE " "" ; OWICTDIE SlJJ\MI' " "" "li ;DElIIIEIIE tu.CNt: ?

'" " l<, " LM ..., ;FIN Dr LIN D'ltflIESSICN

., .. ..

" ,1[ V ;lIM SUII,Wo/T[ .. LM V " OF nl8 ;DElIIIUII: liN ?

" .. ""

" ors .. DOl '1H1' " DO

PARA.SCE - Usa 1.5 1 illUlllUlJlWlllWIIDlllIDII 2 ;1 1 3 il ItflIESSltll flMKTlfi 4 il 1 5 il CŒlE • PMUII.J 1 41 ;1 1 7 illlllIlDlIIwmlDlIlDllmli . , •

" II V ,,,,.

'"

,,,.

"

"

17

18 11'4 "

li ,.3 "

22 "

"

25

(113 ,�" IIIJ 'M '1'''25 [Pl .28 !P' " ,'" lfŒD ,,. .. no v "" "

"" "

J!II tfl:l LM lADAl ,l ". C

.. .. ,

"" "

H A

LM ...,

iPOSl11CN VERTICALE W!SE\II

;ACH:SSE PIIOIIElIE IlllHE ;!'IWtC. CE COOII(l[ EH 'ltfJERSE' i!Dfll[ CE OWICTERE

i NlO DE CIl.lH€ iCALIll lUES$[ MS( LIN caJmr[

i OWICTERE [)( COOII(l[ ,

iFIN Dl LIat: D'IHSSICN

" .. ..

27 ors " 1ft ltIC Il i()l fi TIIClM LE 1ER CARH:. CiNTACU " .. ,.,

., .. , "" " ilER CNW:. coom ()[JA TIIOO.( ? " .. ,.,

" .. ..

33 ,., 'III ; OWICTDIE SUIIMIT " "" "" iŒJH[DIE COlM ? " .. ,.,

'" 11< V ;1IlN: SlJII,Wo/T[ " LM V ., OF n18 jDEltlI(R( LIN ?

" .. ,. .

.. RIS " ])Qi 'INI"

42 DO

Exemple : masque de GESMASK

1IIIIIIIIIl.l.llllllllllllllllllllllll.1 , ,

1 GEST 1 CN DE l'''ASQUES 1 , ,

1--------------------------------------1 , , 1 1 - CREAT I CN 2 MODI F I CAT I CN l , ,

l 3 - CCNSULTAT l CN 4 - IMPRESS I C N 1 , ,

1 5 - �ULAT I CN 6 - F I N • , ,

, ,

l VOTRE CHOIX l , ,

, ,

l NCI1 DU MASQUE : . . . . . . . . . 1 , ,

, ,

1IIIlIIIIIllIIllIIIIIIlIlIIlIlIlIIIIIIlI

Abonnez-vous à Porn's La vie de votre revue dépend de son nombre d'abonnés. Plus vous êtes nombreux, plus nous pouvons vous rendre service, par l'augmentation correspondante de nos moyens comme par le plus grand nombre de contributions que nous recevrons forcément de vous.

Nous avons volontairement choisi une politique de disquettes à bon marché ; ainsi, lorsque vous vous abonnez avec disquettes, chaque disquette vous revient à moins de 45 francs TTC, port compris !

Un abonnement à qualre numéros coûte aujourd'hui 295 francs. Cela ne sera-t-il pas largement amorti si une seule des 200 pages de texte que vous trouverez en quatre numéros vous résoud ce problème sur lequel vous séchez (on a vite fait de perdre deux ou Irois jours sur un problème) ? Dans de nombreux numéros, nous vous avons offert des programmes comparables à ceux qui sont vendus de 250 à 500 francs dans les boutiques. Profitez-en !

-_. - .----...-

Pom's nO 7

Page 53: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

MASKIN.OBJ

1927C. 9464

927C- 28 58 FC A9

9288- 88 85 8 7 A5 25 C9 18 08

9288- 8 9 A9 8 8 85 25 85 24 4C

9298- A I 92 A5 24 C9 28 08 8 9

9298- A 9 8 8 8 5 2 4 E 6 2 5 4 C 83

92A8- 92 28 22 FC 28 8 C FO C9

92A8- 9B D8 8 1 68 C9 80 08 8 5

92B8- E 6 2 5 4 C 8 3 9 2 C9 95 08

92B8- 85 E6 24 4C 92 92 C9 88

92C8- 08 lA A5 24 C9 88 F8 8 5

92C8- C6 2 4 4 C A I 9 2 A 5 2 5 C9

9208- 88 F8 CE A9 27 85 24 C6

9208- 25 4C A I 92 C9 92 08 8 8

92E8- C 6 2 5 1 8 B D A 9 1 7 8 5 25

92E8- 4C A I 92 C9 89 08 8 7 A9

92F8- 8 1 85 8 7 4C A I 92 C9 8E

92F8- D8 8 5 A9 88 4C F I 92 C9

9388- 96 08 1 7 A5 25 C9 1 7 F 8

9388- 9 8 2 8 C I FB A 4 24 B I 28

9318- E6 25 28 55 94 C6 24 4C

9318- 92 92 C9 84 F 8 8 3 4C B8

9328- 93 A5 25 C9 17 08 89 A5

9328- 24 C9 27 08 83 4C A I 92

9338- A5 25 80 18 8 8 A5 24 80

9338- 19 88 C9 27 08 80 A9 8 8

9348- 85 8 9 E 6 2 5 A5 2 5 8 5 88

9348- 4C 55 93 E6 24 AS 24 85

9358- 8 9 AS 25 85 88 A9 17 85

9358- 25 A8 26 28 C I FB B I 28

9368- CB 9 1 2B AS 25 CS 8 B 08

936B- l B C4 8 9 08 14 AD l B 8 8

9378- B 5 2 5 AD 1 9 8 8 85 2 4 A9

937B- A8 28 55 94 C6 24 4C A I

93B8- 92 C8 8 1 08 2E C6 25 A5

93BB- 25 28 C I FB A8 27 B I 2B

9398- B5 86 E6 25 A5 25 28 C I

939B- F B A8 8 8 A5 86 9 1 28 C4

93A8- 8 9 08 8 9 A5 25 C5 8 B 08

93AB- 83 4C 60 93 C6 25 A5 25

93B8- 4C 59 93 8B BB 4C 5B 93

93B8- C9 B7 F8 83 4C 3C 94 AS

93C8- 25 C9 1 7 08 8 9 A5 24 C9

93CB- 27 D8 8 3 4C A I 92 A5 25

9308- BD lB 88 A5 24 80 19 8 8

930B- C 9 27 D8 8 9 E6 2 5 A9 8 8

93E8- B5 24 4C E 7 93 E6 24 A5

93E8- 25 A4 24 28 C I FB B I 2B

93F8- B5 86 C8 8 8 08 16 C6 25

93FB- A5 25 28 C I FB A8 27 AS

9488- 86 9 1 2B E6 25 A9 88 B5

9488- 24 4C 16 94 A5 25 28 C I

94 1 8 - FB BB A5 8 6 9 1 2B AS 25

94 1 B- C9 1 7 F8 8 5 AS 24 4C 08

Pom's nO 7

9428- 93 A5 24 C9 27 F8 83 4C

9428- ES 93 A9 A8 28 55 94 AD

9438- l B 8 8 B5 25 AD 1 9 8 8 85

9438- 24 4C A I 92 28 42 94 4C

9448- 92 92 A6 87 E8 8 1 08 8 0

9448- C 9 C8 B8 8 6 38 E9 B8 4C

9458- 55 94 3B E9 C8 85 86 AS 9458- 25 28 C I FB A4 24 AS 8 6

9468- 9 1 2 B E 6 24 6 8

HCT.OBJ 19465. 9496

9465- A9 8 8 B5

946B- 25 A8 8 8 28 C I FB B I 28

9478- C9 48 B8 8 0 C9 28 B8 06

947B- l B 69 C8 4C B I 94 18 69

9480- B8 28 EO F D CB C8 28 00

94B8- ES A9 BD 28 ED FD E6 25

9498- AS 25 C9 18 08 03 68

PARA. OBJ 19497 . 94CB

9497- A9

949B- 88 B5 25 A2 88 A8 88 28

94A8- C I FB B I 28 C5 86 08 8 F

94AB- E 8 8 1 08 8 6 A9 BD 28 EO

94B8- FO 68 A2 8 1 4C BE 94 E8

94B8- 8 1 08 83 28 EO FO C8 C8

94C8- 2B 08 OF E6 25 A5· 25 C9

94C8- 18 D8 D2 68

INPUT. OBJ (Voir Pom·s 6 pages 19.22)

1 9 1 E 6 . 926F

9 1 E6- A9 88

9 1 E8- A6 8 7 9D I l 83 CA 18 FA

9 1 F8 - A2 88 B6 86 28 8 C FD C9

9 1F8- 80 F8 72 E4 8 7 98 8A C9

9288- 88 F8 28 28 DD FB 4C F4

9288- 9 1 C9 9B 08 8 9 E8 8 8 08

92 1 8 - 85 A9 89 85 8 6 68 C9 AC

9218- 08 85 A9 AE 4C 63 92 C9

9228- AE F8 48 C9 88 D8 8A E8

9228- 8 8 F8 86 CA C6 24 4C F4

9238- 9 1 C9 95 08 8 C A5 25 28

9238- C I FB A4 24 B I 2B 4C 63

9248- 92 C9 A8 98 AF C9 DB B8

924B- AB A4 88 C8 8 1 F8 8C C9

9258- AF B8 84 C9 AD D8 9D C9

9258- BA B8 99 E8 88 D8 84 C9

9268- A2 F8 9 1 28 EO FO 90 I l

9268- 83 EB 4C F4 9 1 86 8 9 68

53

Page 54: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

p.s.1. OIFFU;O; - - -

41-51, ,ue Jacquard BP86 ���i:gny.aIMarne Cl'du Téléphone (6) 001.59.31 P.S." BENELUX S. avenue de la Ferme R 1180 Bruxelles

ose BELGIQUE Teléphone (2) 345.08.50

r r

!ffff/l'ft' .. Ni»Ie R..:.. •. -'

• ... "lIUQ-PouJiiiœ •

EnvOYe< CI' bon """""""" de voire règlement il PS.I. DIFFUSION ou, pclUf la 8eIgoque el le Luxembourg à P S I BENELU'X

"� ------------------

Page 55: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

FID , MUFFIN et DEMUFFIN

Les programmes F1D et MUFFIN se trouvent sur la disquette MASTER du DOS 3.3. Beaucoup de lecteurs nous ont posé des questions il leur sujet el ne semblent donc pas bien maîtriser leur utilisation. Nous allons par conséquent apporler quelques éclaircissements il cel égard. Nous signalons à toul hasard que la bro­chure du DOS en français explique l'utilisation de ces deux program­mes ; le lecteur pourra aussi s'y reporter. Les fonctions du programme FlD sont multiples : il vous permet de : • copier des fichiers (1 ou 2 1ecteurs)

de toute nalure, même binaire ou lexte

• demander le catalogue • obtenir le nombre de secteurs

libres • verrouiller (LOCKI ou déverrouil-

ler tout fichier • effacer (DELETEI tout fichier Le programme MUFFIN, quand à lui, permet de transformer des fichiers du DOS 3.2 vers le DOS 3.3, y compris pour les fichiers Visi­cale.

Ces deux programmes sont agréa­bles sur le plan ergonomique. Ils savent, grâce à l'utilisation de valeurs par défaut. vous éviter des répétitions inutiles . Par exemple. lorsqu'on demande une seconde fois d'affilée la copie de fichiers. le pro­gramme ne demande plus la spécifi­cation des numéros de slot et drive. Si l'on possède un seul lecteur, le transfert se fait du slot 6. drive 1 vers lui-même ; FID et MUFFIN se chargent de vous indiquer quand il faut mettre la disquette initiale ou la disquette finale dans le lecteur.

Utilisation du signe « = »

Pour les deux programmes, la même technique d'identification abrégée des fichiers est possible. Quand le nom du fichier à copier ou à adapter est demandé, l'utilisateur peut répondre par le signe .. - ,. . Ce signe signifie « tous les fichiers . ; le programme demande alors « Do you want prompting ? • . c'est-à-dire « Voulez-vous une

Pom's nO 7

demande de confirmation à chaque fichier ? • .

Si vous répondez par l'affirmative. le programme vous demande à cha­que fichier s'il est concerné ou non par l'opération.

Si vous répondez de façon négative, tous les fichiers de la disquette sont concernés. Le signe « = • peut aussi être utilisé dans le nom. Ceci permet par exem­ple de sélectionner seulement les fichiers de texte en Applewriter avec la réponse .. TEXT = lO , Le reste se passe comme dans le cas où on a répondu par « = .,

Ainsi, en spécifiant un nom tel que « - AL - X - lO, l'utilisateur sélec­tionne tous les fichiers comportant

dans leur nom .. AL • puis .. X ,. dans cet ordre.

Retour au menu principal Lorsque l'on désire revenir au menu principal, il suffit d'entrer la réponse « Q • (pour QUIT) . C'est particuliè­rement utile pour copier ou transfor­mer un fichier dont on ne se rappelle plus bien le nom. On utilise alors l'option « - • et le « prompting " pour identifier le fichier ; une fois la copie (HO) ou la transformation (MUFFIN) assurée, il est superflu de répondre « Y ,. ou « N . à la proposition de chaque fichier ultérieur. Il suffit de répondre « Q • au lieu de « y ,. ou .. N . ,

Rappel du programme Les deux programmes résident en mémoire jusqu'au moment où un RESET a eu lieu, à moins que des programmes utilisés avant celui-ci n'aient occupé les mêmes emplace-

Hervé Thiriez

menls mémoire. On peut par consé­quent rappeler les programmes. s'ils n'ont pas été écrasés, par un simple CALL. CALL 2051 réactive FID ou MUF­FIN ; le dernier chargé en mémoire, car les deux utilisent la même zone et ne peuvent par conséquent coexister.

Création de DEMUFFIN Ceux qui ne possèdent pas le pro­gramme SUPER COPY, qui permet de transférer des fichiers dans les deux sens entre le DOS 3.2 et le 3.3, peuvent transformer leur MUF­FIN en DEMUFHN afin de pouvoir adapter leurs fichiers en DOS 3.2. Il

y a en effet encore des DOS 3.2 non transformés dans la nature. La procédure la plus simple est celle proposée par Rob Moore dans la let­tre du SNAC (Southern New Hampshire Apple Core) et publiée par CALL A.P.P.L .E. en février 81 ,

1. BLOAD MUFFIN 2. CALL ·151 15AF B3 15B6 , B2 15F7 , C4 C5 20AA , A9 lE 80 B9 B7 20 20BO FD AA 48 A9 BD 80 20B6 B9 B7 68 60 1155 00 lE 115B 09 03 1197 AA 20

Cette procédure crée un programme DEMUFFIN DOS 3.3. c'est-à-dire qu'il permet, quand on esi en DOS 3.3. de transporter un fichier sur une disquette en DOS 3.2. Il ne reste plus qu'à revenir en Applesoft et à faire : BSAVE DEMUFFIN 3.3, A$803, L$1900.

55

Page 56: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

56

Le cours de BASIC Applesoft d'André Finot Jean-Jacques Crépy

Ayant récemment acquis un Apple dans le but de permettre à mes enfants de s'initier à !'informatique, je me suis renseigné pour savoir queUes étaient les possibilités d'apprendre le BASIC à domicile. J'ai fail cette expérience avec le « Cours de BASIC Applesoft . d'André Finat. Ce cours se présente sous la forme de trois disquettes accompagnées de deux feuiUes de commentaires sur le cours, ses objectifs et son mode d'utilisation. Il ne reste plus qu'à mettre la première disquette dans le lecteur et à lire les écrans successifs, en répondant aux questions éven­tuelles. Mes enfants et moi-même avons tra­vaillé avec ce cours de BASIC. Seule l'augmentation de mes activi­tés professionnelles m'a empêchê de dépasser la leçon 8 (sur les 26 que comple ce cours en trois disquettes) . Voici donc mes premières impres­sions, complétées par celles de mes fils qui ont êté jusqu'au bout du cours. Ma première impression est favora­ble : la méthode proposée est simple et permet à quelqu'un n'ayant aucune notion d'informatique de comprendre les premiers rudiments de ce langage. Ma seconde impression générale est un peu moins bonne, et concerne principalement l'impossibilité d'effec­tuer des retours en arrière. Il devrait être possible de bloquer le déroule­ment du programme d'une leçon,

pour mieux en comprendre teJ/e ou telle partie. Je regrette personnellement de ne pouvOir me référer à des explications antérieures pour mieux comprendre le programme étudié. Ceci est parti­culièrement valable lorsqu'il est fait état de courbes et de dessins . Je pense que, si cette possibilité était offerte, le cours serait très facilement assimilé, en particulier dans ce cas précis. En ce qui concerne les révisions, l'étudiant a la possibilité de soumet­tre trois réponses. Si, au terme de la

troisième, il n'a pas réussi, la bonne réponse lui est donnée. Personnellement, j'aimerais que la réponse soit, dans certains cas, mieux explicitée, et qu'il soit éven­tuellement possible de connaître l'erreur que l'on a commise. En effet, puisqu'un retour en arrière est impossible, on ne peut comparer la mauvaise réponse avec la bonne. Il est possible de tourner cette limita­tion en inscrivant ses réponses au fur et à mesure sur un morceau de papier, mais cela me paraît peu « informatique ". En conclusion, je peux dire que je suis très content de ce cours, et qu'il en est de même pour mes enfants, dont l'opinion synthétisée suit.

Jean-Jacques Crépy

Points positifs • les instructions sont clairement

expliquées • le langage est simple et accessible

à tous • n'importe qui, même très jeune,

peut suivre ce cours • le révisions sont bien faites Points négatifs • on n'avance pas très vite • trop grande « sophistication ,. de

la présentation, qui ralentit le pro­cessus

• on est esclave du programme il faut suivre une leçon dans sa iola­lité avant de revenir en arrière

• le programme s'adresse à nous comme si \'on avait 8 ans.

Conclusion Ce programme devrait être enseigné en 6ème ou en 5ème. L'élève peut le suivre seul, le professeur circulant entre les élèves. C'est une initiation parfaite pour un débutant. Il aurait fallu que le programme comporte un tableau récapitulatif des mots réser­vés du BASIC que l'on puisse sortir sur imprimante.

David, 18 ans

Points positifs • utilisation aisée • texte clair, agréable et précis • présentation agréable

• nombreuses questions, posées 3 fois (en cas d'erreur)

• précision des questions • temps de réflexion pour les répon­

ses. Points négatifs • impossibilité d'interrompre le pro­

gramme pour faire un retour en arrière

• nombreuses questions trop faciles, qui se répètent

• pas d'explication (avec référence au cours) en cas d'erreur

Suggestions • réaliser un fichier des termes, de

leur signification et de leur mode d'emploi

• fournir un sommaire plus dêtaillé.

Philippe, 16 ans

Remarques d'André Finot

Je tiens à vous remercier de votre analyse de mon cours de BASIC. La prochaine version, déjà bien avan­cée, aura les possibilités suivantes :

• arrêts et reprises possibles du cours par page ou demi-page d'écran (existe déjà) ;

• pour un positionnement rapide dans le cours : � retour en arrière possibles ; � déroulement en avant à grande

vitesse ;

• fractionnement des leçons en par­ties avec indication sur l'écran de l'entrée et de la sortie de telle par­tie ou de te}}e leçon ;

• la plupart des programmes, sinon tous, pourront être listés sur impri­mante.

D'autre part, je vais tenir comple des points suivants que vous signalez :

• affichage des réponses aux ques-· lions ;

• tableau rééapitulatif des mots réservés ;

• sommaire plus détaillé ;

• fichier des termes, de leur signifi­cation et de leur mode d'emploi.

Pom's n O 7

Page 57: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

Etant un utilisateur quasi quotidien de Visicalc. la disponibilité de Multi­plan sur Apple I l Plus m'a tout de suite excité. Il fallait que je puisse mettre la main sur ce programme afin de l'évaluer . C'est maintenant chose faite, et je dois reconnaître que je ne regrette pas l'expérience !

Initialement disponible seulement sur CP/M, Multiplan fonctionne maintenant sur Apple Il Plus 64 K et Apple fIe. La version française du programme doit sortir sur le marché en mars/avril 1983.

Le programme fonctionne en 40 colonnes, mais il est conçu initia­lement pour BO colonnes. La com­patibilité avec les cartes suivantes est prévue Videx Videotherm, M&R Sup'R'Therm, ALS Smar­term, Vista Vision-BO et Wesper Wizard·80. Ceci dit, ce banc d'essai a été réalisé en 40 colonnes sans dif­ficulté.

Présentation générale Produit par la célèbre compagnie Microsoft, à laquelle nous devons les meilleurs BASICs sur micro­ordinateur el d'autres réalisations de tous genres (Olympie Decathlon, pour n'en citer qu'une), Multiplan se propose de remplacer Visicalc. Dans ce but, il vise à assurer toutes les fonctions de ce best-seller, et à en ajouter quelques-unes de son cru.

Le lancement est quelque peu diffé­rent : le programme est fourni avec une disquette de BOaT protégée et une disquette programme copiable à volonté.

Nous retrouvons au lancement du programme un tableau de 63 lignes et 255 colonnes, à deux différences près : • l'identification des lignes et des

colonnes est entièrement numéri­que Oe ne vois pas ce que cela apporte) ;

• les commandes apparaissent tou­tes en bas de l'écran, et peuvent être sélectionnées soit par leur pre­mière lettre, soit par validation d'un curseur des commandes que l'on déplace aisément,

Il existe aussi une différence non visi­ble au premier coup d'œil, mais

Pom's nO 7

Multiplan à l'essai

importante pour le débutant : l'exis­tence d'une fonction HELP permet­tant à l'utilisateur de se renseigner à tout moment sur le mode d'emploi de la commande en cours. Bien entendu, il faut pour cela que la dis­quette programme soit dans le drive 1 ; ce n'est pas vraiment gênant car il y reste assez de place pour mémoriser un très grand tableau.

Comme son grand frère Visica1c, Multiplan laisse l'utilisateur définir le contenu de chaque case, sous forme de libellé, de valeur numérique ou de formule. Comme lui, il recalcule tout le tableau automatiquement ou à la demande. On retrouve dans Multiplan toutes les possibilités de Visica1c ; il Y a même (symbole de l'esprit pratique des américains) un programme de conversion des fichiers Visicalc . .

Les nouveautés Les différences sont cependant nombreuses, Multiplan répondant préventivement aux critiques qui avaient été formulées antérieure­ment à l'égard de Visicalc. Les amé­liorations sont multiples : • la largeur des colonnes est variable • les formules peuvent être globale­

ment verrouîllées • toute case peut être verrouîllée • il est possible de baptiser une case,

ou une série de cases : on peut utiliser les noms dans des formu­les, ce qui est fort agréable

• il y a au maximum huit fenêtres (c'est même trop)

• de nombreux formats sont dispo­nibles

• il existe une commande de tri (SORTI

Hervé Thiriez

• les modes d'impression sont beau­coup plus riches

• le recalcul automatique s'effectue de façon réellement automatique (pas besoin d'appuyer n fois sur la touche « ! ,.).

La fonction de reproductlon est assez différente : il n'est plus ques­lion de définir, pour les coordonnées des formules, si elles doivent être prises en absolu ou en relatif. C'est au moment de la définition d'une formule que ['on indique la nature des coordonnées.

Ainsi, la formule « + R2C3 + (l .5xRC[ - 2)) ,. signifie que l'on

utilise le contenu de la ligne 2 et colonne 3 (en absolu), et celui de la case placée deux colonnes à gauche dans la même ligne (en relatif) . Si cette formule est reproduite, elle sera reproduite telle quelle, la nota­tion rendant immédiatement relatif ce qui doil l'être.

Enfin, et là se trouve la justification du nom de Multiplan, on peut tra­vailler sur plusieurs tableaux et les lier les uns aux autres, ce qui évite de devoir transférer des informations avec le formai DIF. Ainsi, par exem­pIe : • le tableau principal peut être la

consolidation de trois activités ; • chaque activité possède son

tableau principal propre ; • des tableaux annexes effectuent

les calculs secondaires.

11 ne reste plus alors qu'à définir les liens entre les tableaux.

Aspects ergonomiques Pour un habitué de Visicalc, le pre­mier contact avec Multiplan est frus­trant. Pour commencer, le scrolling (déplacement c rapide JO dans le tableau) est plus lent ; surtout, il est moins pratique : il faut utiliser les touches CTRL-E, CTRL-S, CTRL-X et CTRL-D (je ne suis pas gaucher, et préfère utiliser un doigt plutôt que deux).

Ce problème n'apparaît pas sur l'Apple Ile, qui dispose de quatre touches de déplacement.

Heureusement, on peut aussi se déplacer écran par écran. ou directe-

57

Page 58: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

58

ment en haut à gauche ou en bas â droite de la partie du tableau utilisée, Enfin, on peut donner un nom (bap­tiser) une case et s'y positionner directement grâce à ce nom.

Dans un souci de protection du con­tenu des cases, on ne peut rentrer une valeur ou une formule dans une case sans préciser d'abord « A _ (alpha), « V _ (value) ou utiliser un symbole mathématique (value) . L'expert ès Visicalc court au-devant de surprises désagréables en entrant trop vite des libellés : « ALLOCA­TIONS _ est compris comme le texte (. A » pour alpha) « LLOCA­TIONS .

Pour la définition de cases en série, le programme maintient par défaut l'option Alpha/Value si l'on sort d'une case en mode déplacement et non par RETURN.

Enfin, el c'est là le plus gros pro­blème pour le possesseur d'Apple Il Plus, il y a deux fois moins de place disponible avec Multiplan qu'avec son grand frère. J'ai converti deux tableaux à partir de Visicalc ; voici les résultais .

Mémoire occupée

Visicalc Multiplan

Tableau 1 27 % 54 % Tableau 2 48 % 98 %

En outre, le second tableau se recal­culait en 5 secondes avec Visicalc, et 20 secondes avec Multiplan (4 fois plus lent),

Ceci nous montre qu'avec la carte langage et Multiplan, la capacité est sImilaire à celle de Visicalc sans carte langage. Bien entendu, il me reste

avec Muhiplan la possibilité de déporter une partie du tableau dans des tableaux annexes que je relierai ensuite au tableau principal : dans ce cas. seules les informations des tableaux annexes devant être trans­férées à d'autres tableaux actifs « occupent » de la place en mémoire.

T rues et astuces le travail au noir des blancs . . .

Les blancs entrés au clavier. con­trairement à ce que disent les manuels., ont une importance. Essayez d'entrer, puiS de liSier le programme suivant

10 DRAW 1 AT N,M 20 DRAW 2 ATN.M 30 HPLOT B.A TC C.D 40 HPLOT B.ATO C.D

Vous pourrez constater que .. ATO _ et « ATN .. sont tokéni­zés avec les mots réservés « TO -et .. ATN _ , alors que . ATO _ et .. AT N » le sont avec . AT • .

Les fanatiques de l'assembleur pourront trouver la raison de tout cela en épluchant la routine Applesoft débutant en $D56D.

Dernière critique . il est obligatoire d'avoir \"imprimante en sial 1. Je trouve ce type de contrainte regret­table que faire si, pour utiliser un progiciel de création graphique, mon imprimante thermique doit aussi se ttQuver sur ce sIal ? Je ne peux changer mes cartes sans arrêt, les Apples ne sont pas prévus pour cela, on s'en aperçoit vite . .

Conclusion La phase d'adaptation à partir de Visicalc une fois passée, Multiplan est un excellent programme, sous réserve que l'on ne soit pas bloqué par la mémoire. Je n'hésiterai pas à l'acheter avec un Apple /Je ou avec un Apple Il Plus équipé d'une exten­sion mémoire 32 K ou plus el d'un programme de boot Multiplan sachant exploiter la mémoire supplé­mentaire.

Si je ne dispose que d'un Apple 64 K, j'utiliserai Multiplan si la nature des tableaux que je suis amené à manier s'accommode du découpage en plusieurs tableaux. Possédant déjà Visica1c, j'estime que Multiplan m'apporte suffisamment pour l'acquérir quand même. Dans ce cas, selon l'application, je sélec­tionne le programme le mieux adapté, en n'oubliant pas que la pos­sibilité de conversion n'existe aujourd'hui que dans un sens . .

Nous venons, dans une société, de développer sur Sirius un plan straté· gique à huil ans avec Multiplan. Ce plan concernait la société française et sa filiale américaine, plusieurs acti­vités et des analyses détaillées de la production, des ressources humai­nes" .. Au total, plus de 20 tableaux reliés les uns aux autres. Impression­nant !

LI LLE . . . . . LI LLE . . . . . LI LLE . . . . . LI LLE

m.b.d.c. 1 72. RUE SOLFERINO. 59800 LILLE - TEL. (20) 57.91 .87 à 12h ET DE 14h30 à 19h

Pom's nO 7

Page 59: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

Effacement de directory en Pascal

Aprês avoir passé trois numéros de Pom's à faire l'analyse du d\reclory Pascal avec Michel Crimont, nous allons voir maintenant comment effacer de la mémoire de J'Apple le directory de la dernière disquette lue . . . A quoi cela sert-il ?

Chaque fois qu'une opération de lecture ou d'écriture est effectuée sur une disquette, son directory est placé en haut de la pile réservé aux variables dynamiques (heap). Il reste en fantôme à cet emplacement, c'est-à-dire invisible (les pointeurs de pile accessibles aux utilisateurs n'en tiennent pas compte) tant qu'il n'y a pas utilisation de cette pile (el sans doute aussi tant qu'il n'y a pas de collision avec le sommet du stack) .

Lors des accès ultérieurs aux dis­quettes, ce directory est utilisé.

Si un fichier est appelé par un nom de volume (nom de disquette), et que ce nom correspond à celui ainsi placé en mémoire, l'Operating System fait l'hypothêse que la dis­quette n'a pas été changée, et donc que le directory en mémoire est le bon.

Si un fichier est appelé par un numéro d'unité (;#:4 pour le drive 1), il lit le nom de volume et compare celui-ci à celui du directory en mémoire. S'il y a identité de nom, il suppose là aussi que l'ensemble du directory est le même.

On comprendra aisément les catas­trophes qui peuvent se produire si deux disquettes différentes portant le même nom de volume sont utilisées successivement.

Bien entendu, cela est clairement expliqué dans les manuels Apple Il, qui soulignent la nécessité d'éviter l'utilisation de disquettes portant le même nom de volume. Malheureu­sement, en particulier pour les pro­grammes de gestion, la prudence requiert le recours à des disquenes de sauvegarde qui, étant copiées globalement, portent le m�me nom !

Porn's nO 7

Le programme introduit ici montre qu'il suffit d'une seule instruction fai­sant référence au heap pour que l'Apple Il n'utilise plus le directory en mémoire.

Mise en œuvre Tout d'abord, exécuter ce pro­gramme. On peut vérifier que, si l'on essaie d'accéder deux fois de suite à un fichier sur la même disquette, J'Apple Il ne lit qu'une fois le direc­tory (mise en rotation du drive) tan­dis que, si la procédure d'effacement a été exécutée, ]' Apple Il doit aller relire le directory.

Remarques Pour que la démonstration fOnC­tionne correctement, les disquettes APPLE 1 et APPLE2 doivent être réellement présentes ; autrement, il ne peut y avoir de lecture du direc­tory.

Dans le cas de l'Apple III, il semble qu'il y ait toujours relecture du direc­tory complet d'une disquette avant lecture ou écriture, et je n'ai pas réussi à provoquer de destruction de disquette (NDLR : à quoi mène l'informatique !) .

Régis Lardennois

Par contre, j'ai déjà eu des problè­mes en lecture avec des disquettes formatées sur Apple 11/. Je n'ai pas eu le temps d'en approfondir les cir­constances, mais ils ont disparu une fois le procédé décrit ci-dessus appli­qué.

Il s'agissait d'une non-relecture du directory en lecture avec pourtant des disquettes portant des noms dif­férents, ce qui semble être un bug réel dans l'Opérating System de J'Apple fIl.

Application pratique Ce programme de test doit être placé sur une disquette dite dis­quette PROGRAMME durant son exécution et, à la demande, rempla­cée par une disquette vierge de même nom. Si vous ne demandez pas de lecture du directory de la nouvelle disquette, vous retrouverez en plus du fichier TEST tout le direc­tory de la première disquette PRO­GRAMME sur la seconde.

Attention : la seconde disquette PROGRAMME sera détruite et la vraie risque de J'être en cas d'erreur de manipulation. Il est donc con­seillé de protéger contre J'écriture la vraie disquette PROGRAMME.

59

Page 60: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

60

PROGRAM CLEARD I RECTORY j

VAR CL : CHAR j 01: $ 1 -;0 PROCEDURE TESTER l j VAR F : F I LE OF INTEGERj

BEGIN RESET ( F , ' APPLE l : TEST ' ) ; CLOSE ( F) ; ( l e f i c h i er TEST ne doi t } au t r-emen t } {

{ {

pa.s e x i ste-r car i l Y a toujours du d i rec t or y

r e l ecture} }

END;

PROCEDURE TESTER2 j VAR F : F I LE OF I NTEGER j BEGIN RESET ( F , ' APPLE2 : TEST ' ) j CLOSE ( F) ; END ;

PROCEDURE EFFACERjVAR PB BEGIN HARK( P B } ;

" I NTEGERj

END;

BEGIN REPEAT WRITE( CHR( 12» ; ( APPLE I l ) W R I T E ( CHR(28» j ( APPLE /// ) WRITELN ( ' VOULEZ -VOUS ? ' ) ; WRI TELN( ' t TESTER LA PRESENCE D " UN F I CH I ER DRIVE 1 ' ) j WRITELN ( ' 2 TESTER LA PRESENCE D " UN F I CH I E R DRIVE 2 ' ) j WRITELN ( ' 3 EFFACER LE O I RECTORY EN MEHO I RE' ) ; WRI TELN( ' E'SC F I N ' ) ; REAO(CL) ;WRITELNj CASE CL OF ' l ' : TESTER l j

' 2 ' : TESTER2; ' 3 ' : EFFACE R ;

END ; lNTI.L CL=CHR( 27) ;

END .

Suite et fin page 9

Création de fichiers EXEC Yvan Koenig

Le petit programme en BASIC ci­contre a été inspiré par le pro­gramme de création de fichier EXEC présenté par Bruno Rives (Pom's 3, pages 55-56 ; Recueil, pages 142-1431

L'inconvénient du programme, tel qu'il était présenté, résidait dans son incapacité à accepter des instructions comportant des séparateurs, par exemple POKE A,B.

Le programme ci-contre tourne la difficulté en réalisant un "' INPUT ANYTHING », c'est-à-dire qu'il autorise la rentrée de n'importe quelle chaîne. On pourra noter l'ins­truction 230 dans laquelle l'utilisa­tion du .. ON. . GOTO » fournit l'équivalent d'un « IF. . THEN . . ELSE ».

1 OS - CH� (4) : � - CHRt ( 1 3) :G$ - C HRt (7) :FG$ � CHRt (8) : TEXT : H OHE : PRINT " DONNEZ LE NOH DU F I C HIER EXEC A CREER" : INPUT N$: PRI NT [)t." OPEN"m: PRINT 1 PRINT "DCN NEZ LES COMMANDES A EXECUTER- : PR INT " <RETURN) POUR TERMINER-

a8 PRINT :CS = " " 98 GET XSs I F XS - � THEN ON LEN (C$

) ) 8 GOTO 198: GOTO 288

92 IF X$ s FGS AND LEN ( CS) ) 8 THEN C • - HIOS <C •• l , LEN <CS) - t) : P

RINT XS - ·XS ; : GOrD 98 9� IF ASC (XS) < 32 THEN PRINT GS j : G

OTO 98 lee cs = CS . XS: PRINT XS j : GOTO ge 198 PRINT 1 PRINT O$-WRITE-N$: PRINT C$

: PRINT 0$ : GOTO 88 2ee PRINT : PRINT O$"CLDSE-NS: PRINT 1

PRINT "VOULEZ -VOUS TESTER CE FICH 1ER EXEC (Q/N) - ;

238 GET AS: ON AS < -N" OR AS ) - o · GOT o 238 : PRINT : ON AS = -N- GOTO 2 68: PRINT : PRINT O$"EXEC-NS

26A END

Pom's nO 7

Page 61: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

Suite à l'article d'Hervé Thiriez dans le Pom's l, dans lequel il présente les possibilités du PLE (Program Une Editor) et du CRAE (Co­Resident Applesoh Editor), d'aucuns ont pu regretter que 1'on doive char­ger manuellement CRAE en mémoire après avoir « booté • PLE, ce dernier pouvant être chargé auto­matiquement à partir du HELLO.

Je ne reviendrai pas sur l'intérêt de ces deux programmes ni sur leurs propres commandes, ces dernières étant très largement expliquées dans les articles précités, mals plutôt sur le moyen de les charger en mémoire sans aucune intervention naturelle, si ce n'est la mise sous tension de votre Apple préféré !

Je me suis donc confectionné une disquette qui « boote • directement ces deux utilitaires d'aide à la pro­grammation. Etant enseignant, j'ai p u constater que les stagiaires n'acceptent plus de travailler autre­ment que sous ce nouvel éditeur PLE + CRAE, surtout s'ils ont peiné quelque peu sur les corrections par ESC l, J . . .

L'obstacle majeur pour la réalisation de cette association est de supprimer l'effet de l'instruction PRINT CHR$(4)"FP" contenue dans le pro­gramme PLE. En effet, il n'est pas question de traiter une quelconque instruction de chargement de CRAE après cela. La méthode que j'ai employée nécessite plusieurs étapes, que je détaille ci-dessous.

Première étape Initialiser une disquette avec le pro­gramme HELLO PLE + CRAE sui­vant :

Boot PLE + CRAE

Deuxième étape Charger PLE avec LOAD PLE.FP. Ce programme comporte une partie en BASIC, suivie d'une partie en assembleur.

La fin est identifiée par le pointeur de fin de Program Text PRGEND situé en $AF-$BO en page Zéro (on trouve normalement $1001) .

On peut trouver l'adresse de début en passant en mode moniteur et en examinant la mémoire à partir de $ BOO jusqu'au début des instruc­tions en assembleur :

NOP NOP NOP NOP TXA PHA JSR $FF5B

Cela se situe normalement, si l'on n'a pas modifié les lignes en BASIC du PLE, à l'adresse $SEO.

Troisième étape Calculer la longueur du programme en assembleur en effectuant la sous­traction (adresse de fin + 1) (adresse de début) - $1001 - $8EO - $721.

Quatrième étape Déplacer ce bloc d'instruction en assembleur à l'adresse $3000, en mode (adresse de destination) < (adresse de début). (adr. de fin) M, soit ici : 3000 < BEO.1001M.

Cinquième étape Effectuer la sauvegarde sur la dis­quette initialisée du bloc ainsi

Michel Marquis

déplacé par la commande : BSAVE PLE, A$3000, L$721.

Sixième étape Entrer le programme ci-dessous, et l'enregistrer sur la disquette sous le nom BOaT PLE + CRAE.

Septième étape Copier sur la même disquette le pro­gramme binaire livré avec CRAE (sur ma disquette, il s'appelait PLE. EDIT.PROD), effectuer la sauve­garde de ce programme avec BSAVE CRAE,A$7400,L$ICOO.

Nous rappelons que les adresses AA60/61 et AA72/73 donnent res­pectivement la longueur et J'adresse de chargement du dernier pro­gramme binaire manipulé.

NDLR : il est aussi pOSSible de Irans­fêrer PLE.EDIT .PROD avec le pro­gramme FID fourni sur la disquette MASTER, à condition de le rebapti­ser CRAE, puisque c'est sous ce nom qu'il est appelé par le pro­gramme décrit dans la sixième étape.

Huitième étape Il ne vous reste plus qu'à « booter .. pour vous trouver après quelques instants de patience en SUPER EDI­TEUR. N'oubliez pas d'appuyer SUT & pour bénéficier des pOSSibilités de CRAE.

Remarque : tout ceci s'applique à la version 48 K de l'Apple Il, mais vous n'aurez aucun mal à l'adapter à la capacité mémoire de votre Apple...

1 REM -- PROGRAMME HEllO PlE+CRAE --1 8 TEXT ; Hct1E ; ItfJERSE

S MOD I F I ES PAR PLE 38 POKE 1 8 1 5 , 135: POKE 1 8 14 , 8 : POKE 1 8 1

3 , 7 6 : REM MOD I F I CAT I ON DU VECTEU R � A .S788 , ADRESSE DE DEBUT DU PLE APRES QU' I l SE SOIT DEPLACE P AR LUI -HEME

28 VTAB 5 1 HTAB 1 3 1 PRINT - SUPER EDITEU ."

38 VTAB S I HTAB 1 4 : PRINT ·PlE ET CRAE-48 PRINT CH� (4) -RUN BOOT PlE+CRAE- :

NO�L

1 REM -- PROGRAMME BOOT PLE+CRAE --1 8 0. - CH� ( 4 ) ; PRINT o. j - BRUN PLE- :

REM LANCEMENT DE PLE 28 CALL - 22572: REH INITIALISATION

ET CONSTRUCT I ON DES BUFFERS DU DO

Pom's nO 7

48 PRINT o.j - SlOAD CRAE- : REM CI-ltIIRGEHE NT DE CRAE

S8 POKE 1 1 1 , 2 4 8 : POKE 1 12 , 1 1 S : REM M I S E A JOUR DES POINTEURS

68 POKE 1 1 5 , 248 : POKE 1 16 , 1 1 5 : REM FRE TOP ET H I MEM A LA VALEUR .73F8

78 NEW : REM NETTOYAGE DE LA PART I E DE LA MEMOIRE NON PROTEGEE

61

Page 62: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

62

Un programme de fondu enchaîné Denis Sureau

Le programme suivant permet d'effectuer un fondu enchaîné par échange très rapide de deux pages graphiques haute résolution. Il faut tout d'abord charger en mémoire le programme par BLOAD HR TRANS. et les images souhaitées dans les trois pages graphiques débutant en $2000, $4000 et $6000.

HR TRANS - Big Mac 1 l l l l l l l l l l l l l l l l l l l l

2 1 l 3 l Fil'IDU ENCf'AINE l 4 l l 5 l AVEC 3 PAGES HR l 6 l l 7 l - D . SUREAU - l 8 l l 9 l l l l l l l l l l l l l l l l ll l l

1 9 I l MAX ! = $999C 12 * UTILISE $6 , $ 7 , $ 8 ,$9 1 3 14 1 5

1 6 1 7 1 8 1 9

29 2 1 TRANS 22 23

24

25 26 27 LOOP 28 29

39

3 1 32 33 34

35

36 37 38 39 49 4 1 42

ORG

LDA STA STA

LDY LDA CLC

AOC

STA

LDA Pf'A LDA

STA

PLA

STA

!NY SNE

!NC

!NC

LDA CMP SNE

RTS

$399

"$99 $6 $8

"$99 $7

11$29

MAX !

($6) , Y

($S) ,Y ($6) , Y

($8) , Y

LOOP

$7

$9 $7 MAX ! LOOP

Il suffît ensuite de faire un POKE 7.32' M où M est [e numéro (1 , 2 ou 3) de [a première page gra­phique désirée. Un POKE 9,32'N où N est le numéro de la seconde page graphique désirée complète le travail. CALL 768 lance l'échange des deux pages.

programme est proposée sur le HELLO de la disqueHe d'accompa­gnement de ce numéro de Pom's.

Le programme en BASIC ci-dessous vous permet de créer un effet de fondu enchaîné entre trois images dont vous définissez les noms dans [es instructions 100-120.

NDLR : une démonstration de ce

; SCI1'1ET ; DE

; PAGE

;T�SFERT

HR TRANS DEMO 5 IF PEEK ( 18) - 1 THEN 18 7 PR1NT CHRS (4) " BLOAD HR TRANS"

18 TEXT 1 H(J1E

28 COLOR- 18 38 HLIN 18,38 AT 28 48 HLIN 18 ,38 AT 28 58 VLIN 28,28 AT 18 68 VLIN 28 , 28 AT 38 78 VTAB 13; HTAB 1 5 1 PRINT "DEMO TRANS

HR"

75 VTA8 281 PRINT " CI-tOlRGEJ1ENT DES LO

GOS • • • PATIENCE . "

88 Dt - CHRS (4) + "8LOAO· 98 IF PEEK ( 18) - 1 THEN 158 95 POKE 18 , 1 188 PRINT OS" lm,lC,jI_ " 0 . I ,A8192" 1 1 8 PRINT o." l mao. "0. 2,A 16384" 128 PRINT O$ " l m�o. n o . 3 ,A24576" 158 POKE - 16384 , 8 1 POKE - 16297 , 8 1 P

OKE - 16388 ,8 1 5 1 POKE - 16368,8 28e POKE 7,32; POKE 9,64: CALL 768 �8 BOSU8 1888 388 POKE 7,32: PDKE 9,961 CALL 768 358 GOSUB 1888 488 POKE 7,321 POKE 9,641 CALL 768 458 BOSUe lee6 S88 POKE 7,641 POKE 9,96: CALL 768 5S8 BOSue 18ee 688 I F PEEK ( - 16384> ) 128 THEN 788 65e GOTO 28' 788 TEXT 1 END 1888 FOR 1 - 1 TO 58 1 NEXT : RETURN

Récapitulation

l CALL - 1 5 1

1399 . 326

0399- A9 99 85 96 85 98 A9 9 9

9398- A5 97 1 8 69 29 85 9 C B I 9 3 1 9 - 9 6 48 B I 98 9 1 9 6 68 9 1 9 3 18- 9 8 C8 09 F3 E6 97 E6 9 9

9320- A5 07 C5 9C 09 E9 69 1309G

Pom's nO 7

Page 63: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

Les quatre ponts Olivier Herz

Le petit jeu en Applesoft que V(MO. m'a été inspiré par un de ces nom­breux jeux électroniques. Garne and Watch en tous genres. Ayant vu ce jeu, je me suis demandé s'il é1a.t dlf· ficile d'en programmer un . la réponse est .. non _.

:..e ..:. ::.... e.. es:: ce r.?-.;.ss;I" à empè­cher ;.es gens cie se noyer Comme IoOUS pom-ez le \"Cir. tout le ,eu est écrit en Applesoft, la seule particula­mé résidam dans des octets consti­tuant une table de formes.

Ceux qui désirent se renseigner sur la création de tabes de formes peu­vent lire l'article de Dominique Compère (Porn's 4 pages 19-28, ou Recueil pages 146 et suivantes) .

Les quatre ponts

] L I ST : LES 4 PONTS

1 0 TEXT : HOHE : VTAB 5 : INVERSE : PRIN T • O L I V I E R HERZ PRESENT E : •

28 PRINT : PRINT : NORMAL : PRINT · L E S Q U A T R E S P O N T S

"

39 J : 1 : [ � 8 : F m 8 : 6 1 � 8 : 62 = 8 : 63 0 : G4 = 8 : 6 = 9 : A B : B = B : C = e :

x = 9 : Y = Q : N = 8 : K = 8 : D = 8 : S 8 : H = 8

48 DI H AC 19) , B ( 9) , C ( 9 ) : PRINT : PRINT PRINT "VOUS DEVEZ PLACER VOTRE P

ONT A L ' UN DES QUATRE EHPLACEHENT S POSSIBLES·

59 PRINT : PRINT " -) GRACE AUX TOUCHE S A .

Z M" 68 PRINT -) OU GRACE A VOTRE JOYST I C

. " 78 PRINT PRINT "CECI A F I N DE PERHETTR

E AUX BONSHOHHES DE PASSER SANS ENCI:l'1BRE . . . "

88 PRINT 1 PRINT : PRINT ·VERSION CLAVI ER OU JOYST I CK ? " ;

85 GET A$: I F A$ < ) " J" AND A$ < ) " C· THEN 85

98 PRINT A$ : JO = 8 : I F A$ = " J " THEN JO - 1

95 I F PEEK (768) < ) 4 THEN 2888 t98 POKE 232 , 8 : POKE 233 , 3 : SCALE: 1 : R

OT'" 9 1 1 8 HI:l'1E : HGR : HCOLOR- 3 : HPLOT 8 , 9 :

CALL 62454 128 HCaLOR- 1 : FOR J ,., 48 TO 89 : HPLOT

8 , J TO 279 , J : NEXT : FOR J = 128 Ta 166 : HPLOT 6 , J TO 279 , J : NEXT

136 HCOLOR- 3 : FOR J - 48 Ta 65: Gosue 135: NEXT : FOR J = 1 28 TO 1 4 5 : G

osue 135: NEXT : HCOLOR= 2 : FOR J - 66 TO 86 : GOSUe 135 : NEXT : FO

R J = 1 46 Ta 168 : GOSUe 135: NEXT : GOTO 148

135 HPLOT 8 6 , J TO 1 1 3 , J : HPLOT 168 , J TO 195 , J I RETURN

149 REH 168 VTAB 2 1 : HTAB 1 1 PRINT " SCORE " , " H I ­

SC" , " NOYES" ; : VTAB 22: HTAe 1 : PR INT S , H , K j

179 G3 le I NT ( RNO ( 1 ) 1 4) :G3 '" 65 � (

Porn's nO 7

G3 ... 8) • 98 � ( G3 "" 1 ) .. 75 � < 6 3 = 2) • 77 • ( 6 3 : 3) : GOSUB 926

28� - 3 - I : B - 9 : C - 6 : 0 E 6 : GOSUB 9 8 6 : FOR J = 8 Ta 1 9

2 1 8 I F A ( J) < ) 1 THEN 259 228 A ( J) = 8 I C < C > = J : C : C .. 1 : I F J :

8 OR J : 1 8 THEN A = A - 1 : GOTO 250

230

240 2'0 2.0

A < J - 1) • " I F J • 1 4 O R J • 1 7

OTa 258 B < B > . J - 1 : B - B

NEXT N - INT < SOR < S,

N OR RNO ( l' )

• 4 OR J - 7 OR THEN 0 J - l ,

/ 2 • 1 > : I F A • . 5 THO\! 300

J G

270 J - I N T < 2 • RNO ( t ) ) • 1 0 • 9 , I F A < J - 1 ) - 3 - 1 OR A ( J) • 3 - 1 OR A( 6) - 1 DR AC 16) • 1 THEN 39

0 288 B ( 8 ) - J : B ,., B • I : A = A • I :A < J ) =

1 388 GOSUB 98 8 : I F C - 8 THEN 328 3 1 8 HCOLOR= 3 : FOR J - 8 TO C - I : E =

INT < C< J > / 18) : F '"' C ( J ) - 1 8 � E : GOSUe 88 9 : DRAW 2 • E AT X , Y : N EXT

328 I F a = 9 THEN 348 339 HCOLOR- 9 : FOR J = 9 TC B - I : E ""

INT ( S < J ) / 16 ) : F ,., S<J) - 16 . E : GOSUB B6 9 : HCOLOR- 6 : ORAW 2 • E AT X , V : NEXT

346 I F 0 = 6 THEN FOR J = 1 TO 5 : E = PEEK ( - 16336) : NEXT : GOTO 286

358 E � INT ( 0 / 1 8 ) : F '"' D - 18 l E : GO sua 868 : I F G = 0 THEN HCOLOR= 8 : ORAW 2 • E AT X , Y : S = S • 1 : VT

AB 22: HTAB 1 : PRINT S i : FOR J = 1 TC 1 6 : E E PEEK ( - 16336) : NEX

T : GOTO 28B 368 GOSUB 888 : Y = Y • 1 2 . ( E = I ) : X =

X • 2 - 16 1 ( E - 1 > : HCOLOR= 8 : DRAW 1 AT X , Y : FOR J = 1 TO 1 8 8 : 0

PEEK ( - 16336> : NEXT :A(O> =

e : A = A - 1 378 K = K • 1 : VTAB 22: HTAS 1 : PRI NT "

K ; : I F K - 3 THEN 4e8 386 HCOLOR= 3 : ORAW 1 AT X , Y : FOR J = 1

TO 258 - 158 1 J O : GOSUB 986 : NE XT : GOTO 266

486 VTAS 23 : HTAB 1 : PRINT "VOULEZ-VOUS REJOUER ? " ;

4 1 8 POKE - 16368 , 6 : GET A$ : PRINT A$: IF A$ - -N- THEN END

428 FOR J - 8 TO 1 9 : A ( J) - 6 : NEXT : 1 -

63

Page 64: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

64

I :A = 9 : K = 9 : I F S ) H THEN H ::: 1959 0 = 3 : 63 = 168:64 :z '5 3 : 60TO 1979 S 1868 o = 1 6 : 63 = 1 6 8 : 6 4 133

43. S = . , GOTO I l . 1 8 78 I F 0 1 = 63 �O 62 :: 00 THEN RETUR 8 • • I F E = 1 THEN 82. N 8 1 . X c 258 - 28 • F : Y = 4 6 : RETURN 1988 GOTO 998 828 X • 2 1 • 28 • F :Y = 12'5: RETURN 29ee GOTO 2828 9 • • I F JO = 1 THEN 1888 28 1 8 HEX$ = HEX$ • . N0823G" : FOR 1 = 1 •• 5 I F PEEK ( - 16384> < 128 THEN RET TO LEN ( HEX$) : POKE 5 1 1 • l , A5e

URN ( MI 1)$ ( HEX$ , I , I » • 128: NEXT , 9 1 0 G3 = PErK ( - 16384> - 128 : POKE POKE 72 , 8 : RETURN

16368 , 8 2828 HEX$ :: " 8389 : . 0 00 OA • 0 2 • 00 SA 920 I F G3 = 90 THEN G 1 3 : 63 = 86:G4 = . 0 8 E • • 3 6 8 E 7 6 76 00 29 38 3F

133: GOTO 999 28 80 20 38 IF IF .7 20 20 l e 3F .3. I F 03 = 7'5 THEN 0 = 3 : G3 = 168:G4 4C 49 49 38 F' F' F' • • . 0 20 20

53: GOTO 998 20 20 25 20 20 EO 5. 38 38 20 oe .00 I F 63 = 77 THEN 0 = 1 6 : G3 :: 1 6 8 : G 4 8C 8C 25 24 5F 28 20 38 3F 27 20

= 133: GOTO 998 20 lC" : 60SUB 28 1 8 : CALL - 1 00 95. I F G3 = 6'5 THEN 6 = 6 : G3 = 86:64 = 2838 HEX' = "8348 : 3F 67 20 40 89 92 92

'53: 60TO 9 •• 1 2 1 7 1 7 3F 38 38 3. 3. 3. 1 . 2A ••• RETURN 20 35 3. 3. 3' 20 .5 o. 20 3F 3F 99. HCOLOR= 3 , ORAl< o AT 6 1 , 6 2 : HCOLOR= 3F 27 20 20 20 00 28 28 20 l e l e

. , ORAl< o AT 63 , 6 4 : G'1 = G3 : 62 = l e 3F 20 2e 38 3F 28 20 25 3F 3F 64 : RETURN .7 20 E5 39 FF DB 92 92 12 AA 1 5

1 8 8 8 G3 = POL ( 8) : I F 03 ) 127 THEN 1.0 20 28- : 60SUB 28 1 8 : CALL - 100 0 2848 HEX' = "8388: 28 36 36 36 36 3. 3F

1 9 1 8 00 = POL ( 1 ) : I F 00 ) 127 THEN 1 0 3 3F 3. 3. 36 3E 3F •• 2C 38 2e .0 0 38 3F 27 20 20 20 2Q 20 20 20 20

1828 o - 6 : 63 = 86:G4 = 53: GOTO 1878 20 20 20 20 20 35 3F �F 4E ' 20 3. 1838 o = 1 3 :63 = 86:64 = 133: OOTO 1878 .E 3. 8 8 " : GOSUB 28 1 8 : CALL - 1 0 1848 64 = POL ( 1 > : I F 00 ) 1 2 7 THEN 1 0. 0

• 2858 60TO ...

Courrier des lecteurs Un lecteur nous ayant envoyé la petite annonce suivante .. Cause double emploi, vends logiciels amé­ricains originaux pour Apple 11_, nous avons répondu comme suit : Cher lecteur,

II ne nous est malheureusement pas possible, bien que les annonces soient gratuites dans Pom's, de publier celle que vous nous propo­sez.

En effet, des esprits mal intentionnés pourraient croire qu'après auoir acquis ces logiciels américains, et les auoir intelligement dupliqués, uous cherchiez à en amortir le coût.

Notre politique éditoriale est très stricte sur le plan éthique ; nous pré­férons, dans le doute, un excès de séuérité plutôt que de prêter le flanc à d'éventuelles critiques.

Vous demandez à uos lecteurs el à vos abonnés de uous écrire. Person· nellement, j'ai longtemps hésité car, il est dur d'auouer, je suis bloqué. S.O.S., Pom's, que dois-je faire

,?

Et pourtant, je ne uois que quatre solutions :

1 . Me résigner à des programmes rudimentaires. 2, Acheter des logiciels de «confec­tion .. sans vraiment comprendre ce qui s'y passe. 3. Etudier, étudier encore, mais dans quels livres trouverai-je ce qui m'intéresse ? 4. Vous écrire, car je dois être le type même du néophyte qui démarre et a besoin d'une revue bienueillante,

J'aimerais trouuer une solution à mes problèmes actuels de program­motion : • dans un affichage long, comment

bloquer l'écran à certaines lignes ? • comment trier un tableau qui com­

porte des données alphanuméri­ques et des ualeurs ?

M. Albert Bazin - 75020 Paris.

Pour bloquer une partie de l'écran, il suffit d'utiliser les POKE's. Ainsi, POKE 34,n bloque les n premières lignes de J'écran, comme vous pou­vez le constater facilement. Dans ce cas. HOME ne nettoie plus la partie bloquée. Le haut de l'écran reste bloqué tant que vous n'utilisez pas

TEXT ou un autre POKE 34,x (avec x<n). Un tableau ne peut contenir il. la fois des caractères alphanumériques et des valeurs, sauf si celles-ci sont défi­nies comme des alphas. En effet, le tableau porte un nom de type NOM$( ) , ou de type NOM( ) . Si le tableau est alphanumérique, les valeurs numériques seront classées selon l'ordre alphabétique (celui du dictionnaire) : si par exemple, vous devez classer ",20> et "' 1 1 1 0> , 1 1 1 passe avant 2 car son premier carac­tère est " plus petit • .

Voici le patch à apporter à HA/FA (Pom's numéro 5) pour obtenir 1 . 234.567,89F auec l'instruction : & PR/NT USR • - - - . - - F . ; 1234567.89.

Pour un 48K, il faut opérer en deux étapes successiues :

BLOAD HA/FA. CODE1,A$6800. En moniteur :

728L46 7285,2C

BSAVE HAIFA. CODE1,A$6800,

Pom's nO 7

Page 65: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

L$loo0.

BLOAD HAIFA. CODE2,A$7800, En moniteur :

7964,2E 7979A6 7990A6 7993,2E

BSAVE HAIFA .CODE2,A$7800, L$lOOO,

M. Chauvière · 21300 Chenove.

Si, après avoir utilisé le programme HELLO de Thierry Le Tallec et Jac­ques Tran·Van (Pom's numéro 6), on utilise un programme en assem­bleur implanté en $300, cela efface la page 3 du DOS. On est alors obligé de rebooter pour parvenir à utiliser le DOS. Y a+il une parade ?

André Babeanu 78350 Jouy-en­Josas.

Nous transmettons la demande aux auteurs.

/1 existe aux Pays-Bas une émission sur la chaîne nationale Hilversum 2, le dimanche de 19 h 10 à 1 9 h 45 sur 747 Khz qui se propose d'émet­tre en code des programmes d'infor­matique compatibles avec tous les micros, y compris l'Apple II.

Le système BASICODE est conçu pour 1 200 bauds. Des expériences ont lieu pour le même protocole à 300 bauds, qui doit donner une réception plus fiable.

Pour tous renseignements, contacter BAS/CODE, Administrative Alge­meen Secretariaat, NOS, P.O. Box 10, 1200 JB Hilversum. Pays·Bas.

Thierry Lombry . Rue Tienne·aux· Pierres 94 · B. 5150 Wepion - Belgi' que.

1 . Le patch de la ROM LowerCase est déconnecté par le HELLO de Pom's 6. Je suppose que c'est le module destiné à effacer PLE qui est coupable. Pourriez' vous me dire comment modifier HELLO pour éviter ce désagrément ?

2. Je voudrais faire quelques remar· ques au sujet de SNTX COM· PILE (pom's 6). Contrairement à ce qu 'écrit Hen, TASC ne provo­que pas l'effacement du pro· gramme étudié, mais seulement celui de ses deux premiers octets. Il suffit de mémoriser ces octets, puis de les rétablir. D'ailleurs, il n'y a pas lieu de' sauuegarder 104, 104, 175 et 176 puisque la mise en place de COMPILE ne les perturbe pas.

Pom's nO 7

Si l'on fait tourner le programme ci­joint, on crée un fichier KO : il suffit alors de faire EXEC Ka pour lancer SNTX COMPILE et récupérer ensuite le programme étudié. U sem­ble donc possible de créer un pro­gramme compilé selon les indica­tions précédemes.

II serait souhaitable de compiler de façon à replacer sous la HIMEM de PLE. On pourrait préuoir de placer entre cette HIMEM et SNTX COM­PILE les différents octets à mémori· ser, à savoir : ' • les deux premiers octets d u pro­

gramme étudié , • l'indication du slot 1 de l'impri·

mante, défini par le fichier EXEC et lu par $NTX ;

• ce serait préférable à /'implantation actuelle en 1912, 1913.. qui interfèrent avec l'imprimante.

3. Je joins les listings annotés de SNTX et FAIT SYNTAXE per­mettam d'imprimer sur papier les messages d'erreurs.

4. Je uous signale que le pro­gramme considère comme une erreur une ligne de DA TA telle que : 2000 DATA "Montant : . . . " Apparemment, ce sont les "' : » qui le perturbent.

Yvon Koenig ' Mosal'que Gerbino Rue du Stade · 06220 Vallauris

L Patch de la ROM LC Signalons tout d'abord que le menu ne détruit pas en fait PLE : PLE se contente d'abaisser les buffers du DOS et de se loger ainsi entre le DOS et ses buffers, de façon à ne pas être affecté entre autres par la commande FP puisqu'il se trouve de cette façon au·dessus de la HIMEM. Le menu se contente de remettre ces buffers à leur place. Or, le patch d'entrée de caractères de la ROM LowerCase abaisse de $100 ces buf­fers et la HIMEM par la même occa­sion. Un autre problème avec ce menu était le JSR SETKBD du début qui fait un IN #0 de façon à déconnecter la routine d'entrée de caractères, ce qui est nécessaire si PLE est présent, mais doit être évité dans le cas présent . Finalement, je propose le patch suivant. qui évite de réassembler le programme de menu, en utilisant une .. déviation . par quelques instructions assembleur ajoutées à la fin du code du pro­gramme.

LOAD MENU CALL -151

810 _4CFEOC CFE 20 58 FCAE 55 PA EO D06 OOOCAE56AAE09COO05 OOF A99B 4C 30 084C 13 08 AF , 170D SAVE MENU Le

2. SNTX compilé Remarquons tout d'abord que le programme que j'ai compilé est légè­rement différent du programme SNTX, car il n'y avait pas lieu de retenir les pointeurs 103, 104, 175 et 176. La compilation n'a pas été très facile : j'ai implanté la bibliothè­que RUNTIME à partir de $6500. J'ai ensuite mis le programme objet derrière (en décimal 29869) . L'ensemble a été calculé de façon à ne pas dépasser l'adresse $9000, afin d'être compatible avec PLE. Quand j'écrivais que TASC efface le programme, je pensais bien sûr à un effacement au sens des commandes FP ou NEW et non à un effacement physique. En effet, TASC termine son exécution en mettant à zéro les mémoires 800-801-802, à $801 le pointeur 103-104, et à $803 le poin­teur 175-176, ainsi que les pointeurs 105-106, 107-108 et 109-110 : il s'agit visiblement d'un NEW (ce n'est pas un FP car, si l'on change la HIMEM, elle n'est pas rétablie). Pour éviter cet ennui, il existe des petits programmes en assembleur permet­tant de récupérer un programme effacé par NEW ou FP. On peut aussi utiliser le fichier EXEC KO créé par le programme FAIT KO de la page 66 (provenant de votre lettre , après une petite m9dification) .

3 . Version imprimante de SNTX Nous n'avons pas la place de mettre ici la liste complète de SNTX modifié que vous nous envoyez. Voir en page 66 la liste des lignes à modifier dans SNTX pour pouvoir sortir l'analyse sur imprimante.

4. Un bug dans SNTX En ce qui concerne les instructions DATA mal comprises par SNTX, cela fait partie des 0,1 % à 1 % de cas que je pense avoir oubliés. Vous trouverez en page 66 la liste des modifications à apporter pour que ce problème soit résolu.

Olivier Hetz J'utilise HA/FA en version carte lan­gage. Pouvez· vous me dire com­ment charger un outre programme de musique en cours de programme

Page 66: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

66

en $DOOO ? Faut-il refaire A = PEEK(-16247), une fois, deux fois ? P. Y. Gouriou 110, auenue Lartigue -08600 Giuet

Pour charger un autre air de musi­que dans la version 64K de HAIFA (en $0000 dans le BANK 1 de la carte langage) , il faut procéder

comme HAIFA.EXEC et faire (depuis un programme ou bien au clavier) deux fois A - PEEK(-16247) avant de faire le BLOAO ; il est en outre conseillé de faire A - PEEK (-16254) après ce BLOAO pour remettre la carte langage dans l'état normal en utilisation de l' Applesoft. De même, pour charger une autre table de caractères (en $0000, $0600, $0900 ou $OCOO sur le

BANK 2 de la carte langage) il faut faire deux fois A =PEEK(-16255) avant le BLOAO et A - PEEK (-16254) après.

Votre question m'a d'ailleurs fait découvrir une erreur dans le début d� j'annexe 1 de l'article sur HAIFA (numéro 5 de Pom's) j'ai inversé les rôles des BANKS 1 et 2 de la carte langage.

Fait KO J U ST U I o. ,. CHIM ( 13) ' CHIM (4) ; � • -KO' 211 PRINT o.' OPDI·�o.'OELETE'�o.'OPDI·

P-n()t. 'WRI TE 'Nt 31 PRINT 'POKEI912,PEEK( 113) , POI(E I 9 1 3 , P

EEK( 1 1 4 ) ' 41 PRIHT 'POKE I 9 1 4 , PEEK( t7�) ,POKE I 9 1 5 , P

EEK(116)" �e PRINT 'POKE I916 ,PEEK( PEEK( 11I3)+PEEK(

1114) 12�6) ,POKE 1 9 1 1 ,PEEK( I·PEEK( 18 3)+PEEK( 114)12�6) '

68 PRINT 'SU)AO SNTX CCf1PllE' 7t PRINT "CAlL 29969' 7 1 PRIHT " II ' ni PRINT 'POKEI1I3, PEEI« 1912) , POKE I1I4,f>E

EI« 1913) IP()t(EI7�,PEEI« 1914) ,POKEI 16,PEEI« 191:1)

911 PRINT "POKEPEEI« 1 9 12) +PEEI« 1913) 1256 ,PEEI« 1916)'

98 PRINT 'POI(E I+PEEI« 1912) +PEEK( 1913)12 56, PEEI« 1911> "

9:1 PRINT " D E U , I ' 188 PRINT ()t.'ClOSE'�()t.'lOCK·�

Fait syntaxe IMP J U ST 38 PRINT 'PQKE 1914,P[EK( 183) , POK( 1 9 1 �

,PE(I« 18")" 411 PRINT 'POKE 1916,PEEK ( 1 7�) ,POKE 1 9 1 7

,PEEI« 176) "

SNTX IMP III ST

97 PRINT CHRt (4) ' PRI I ' CHIM ( 13) , POl<

Courrier des clubs

E 16�1.98 ,yI( - l , RETURN lU IF NOT ERR GOTO 1311 1 11 2 I F ERR AND Y I( • 8 THEN GOsue 97 184 PRINT 'UGNE " U ' INSTR " I ST' ) ' "

I F ERR - 2 OR ERR - 3 THEN PRIN T e. I ' " ,

1 111 I F ERR < 8 AND ERR < ) Il THEN PRI NT '11111 · 1

:1111111 ERR - I l , ON YI< _ Il OOSUS 97: PRINT 'UGNE ' L I ' INSTR ' I ST " ) 'ERtCE

RR) ,PTR • NlI GOTO 1811811 11111113 GOsue III,LN • A : GOSUB 1 8 : L N • A

1 256 + UN : L I • � 11111116 REH Ilele IST ,. IST + 1 12111111 PRINT 1 POKE 16�7.411, PRINT CHIM

(4) 'PR.e" , PRINT "VOULEZ-VOUS RE VENIR AU PROGRAMME INITIAL? ' ;

128211 PRIN" M I I F AS - 'd' THDI POKE le3, PEEl< ( 191") , POKE 184, PEEl( ( 191:1) 1 POI<E 17�, PEEl( ( 1916) : PO I(E 116, PEEl( ( 1911>

2e288 PTR - PEEl< ( 1914) + PEEl< ( 19 1�) li 2�6

SNTX BUG III ST '31' 3318

33211 33311 334e 33:111

ERR " 12 G0SU9 1 8 1 IF A • Il OR A ,. �8 THEN

'00 I F A ( ) 34 THEN 33111 GOSUS 1 8 , I F A • Il THEN 188 IF A - 34 THEN 33111 OOTO 3331

L'Association Floppymathique anime un club de micro­informatique sur matériels Apple et Sharp. Ce dub s'adresse à des jeu· nes (à partir de la classe de 4e) et à des adultes .

Le 12 janvier 1983, une vingtaine d'architectes, utilisant professionnel­lement des Apples 11 et III, se sont réunis à Paris , à la.suite de quoi des axes d'intérêt majeur et des actions communes ont été définis.

demander la liste des participants, afin de contacter le plus proche. Les producteurs de matériels et de logiciels susceptibles d'être utilisés dans notre profession sont aussi priés de se faire connaître. Jean-Michel Guillaume - 110, ave­nue du Général-Lederc - 75014 Paris.

Niveau : initiation ou perfectionne­ment. Pour tous renseignements, télépho­ner le jeudi de 16 h à 18 h ou le samedi de 14 h à 18 h au (20) 73.94.80. Sinon, le soir vers 20 h au 1201 89.90.76. R. Courouble - Association Floppy­mathique - 54, rue de liUe - 59100 Roubaix.

En outre, la fondation d'un club d'utilisateurs a été décidée. Les architectes équipés d'Apples sont invités à y participer et priés de se faire connaître à l'adresse ci­dessous, afin d'ètre informés des développements ultérieurs.

Ceux qui ne possèdent pas encore de matériel et qui souhaitent avoir des renseignements peuvent nous

Robotwar

Appel à tous les utilisateurs de Robotwar. Un concours va être organisé. Prendre contact d'urgence avec Jean-Marc Ser­vat. Tél. : 651.66.61 (de préfé­rence après 19 heures) .

Pom's nO 7

Page 67: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

Offre de lancement :

14985:.T Tanl au 01.01 �

• APPLE marque déposée APPlE CO'YIPUle' INe -CPIM marque déposée drgrra/ 1esearCh INe

1 7 bis, rue Vauvenargues 7501 8 Paris Tél. : 229 19. 74 + Télex : 280 150 F

1 1

1 1

1

IMPORTATl:UR EXCLUSIF r - - - - -._>.J

Page 68: Magazine Pom's : la collectionsbm.ordinotheque.free.fr/apple/poms/Poms07.pdf · • Journée d'initiation - Dates: 18 avril, 16 mai, 20 juin ... Multiplan à l'essai par Hervé Thiriez

.1 •

! 1 ., • ;

,

JCR,DES MICRO-ORDINATEURS PROFESSIONNEL ET GRAND PUBLIC.

JEUX r-:;;<')-- ÉDUCATION

gamme ' d'accessoires,

GESTION BUREAUTIQUE

Apple il + 48K + Disk avec Contr61eur + Moniteur 12".

SHARP PC 1500 Ordmateur de poche de l.as Ko de mémOire v"lVe extensible avec module de 8 K CE 155.

CE 150 Mini table traçante 4 couleurs drrec!e­ment connectê'ble SUI PC 1500, Inler­face K 7 incorporé. �41"" r '-"-.'"'�_+ CE ISO. �

EPSON HX 20 Un système compact clavier écran LeD avec imprimante.

Micro K 7,

Extension 16 K.

EPSON Impnmanles de haute qualité ct'im­pressiOn.lnterface parallèle type Cen­trames. MX 80 IT . 80 cps. :o\t ou 132 compressés 5 800F" -MX 100 : 100 cps. 132 caractères , ou 233 cornp,""""". [8200 Fl

-

APPLE I I I L'outil professionnel par excellence. 128 Ko ou 256 Ko. Unité de disque incorporée. Sortie RS 232. Nombreux interfaces dJsponibles. Adjonction possible d\m disque dur de 5 méga. Profilé. Êcran vert haute résolunon antireflets. Clavier Azerty - Qwerty . Nous consulter. _ tr&R) t}NcoRE }oiolNS C _

-

COMMODORE VIC 20 Un vrai micro-ordinateur pUISsant el évoluùf idéal pour j'imtIation comme pour la pratique de la programmation. 16 couleurs RAM 3,5 K. �r VersIon en PAL. �

-

-

• ATARI 400 et 800 • APPLE Il E • CASIO PB 100 • SHARP PC 1251 • SHARP PC 1212 • INTERF. RS 232/pC lSOJ • VICTOR Il 48 K HR

T0 7 THOMSON Un ordmateur 100% français 8 Ko extensible à 32 Ko. Fourni avec un lec­teur optique. Sortie couleur Péritel. Clavier Azerty accentué . Idéal pour apprendre en famille. 3650F

Vente par correspondance Catalogue gratuit sur demande

Crédit 4-36 mois Leasing 36-48 mois

BOUTIQUE 58, rue Notre-Dame-de-Lorette 75009 PARIS

Tél. (I) 282.19.80 - Télex : 290350 F

59. rue du Docteur Escat 13006 MARSEILLE

Tél. (91) 37.62.33

Homites d'ouverture du magasin - du mardi au samedi : 10 h - 12 h 45 / 14 h - ·19 h