2IMGCdrP@@@ )4   "D}, M ) TiTWiWg2 Ԣ` H i`iK ԩ`GៀL` HK!HKH@L,0 )i/ XA)Lb +)D\]g_ ?/"p@͸  ɜUUɛ`ff  ܪ330 ˩ʙppʙppp˩pwp̺ppwwwwp&Xb0qqwqqwqwqwwqwqwwwwwwwqwqqwqwwwqwwqwqwwqwqqwwwwwqwwqqqqqqqqqqqwqqqqqqqqqwqqqqqqqwqqwqwwqwqwqwwqwqwwwwwqqwqqwwqqwwwqwqwqqwwqqqqqqqqqwqqqqqqqqqwqqqqqqqqqqwwwwqwwqwwwqwwqqwwwwqwqwqqqwqqwwwqwqwwqqqGSINF7<-' @'GSINFOSC<-7 ARTICLESJ<-<&COUV.7A<-} ICONS"<-<2GS.INFOS.7,<-<4PROGRAMMES<-< FINDER.ROOT< <FINDER.DATA < <?Alb ,@ main lb """") ;8[il"H"hHHH "hHH"iHH"F:""""d:"" moqsuwy{d}dddd  "S," :""  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHI""{imH"H"HiH"HiH""iHH"H"HiH""{i+k*/SYSTEM/TOOLSJVous avez un seul lecteur,remettez le disque SYSTEME et appuyez sur retour*/SYSTEM/TOOLS ;8[i"S," :""""{i+k/gsinf7/gsinfosX Remettez le disque GsInfo et appuyez sur la touche retour /gsinf7/gsinfos ;8[iH"h{i+k ;8[i d H{iH "h  ̉  {i+;ik ;8[iHH}H "h11""""ϭцө{iHJ"{iHJ"{iH{iH"HH"H "h  9"{i+k/gsinf7/couv.7 ;8[i  3" {iH"{iH" ~ ~ g g Y Y E E 2 2     {iH "{iH" z z V V @ @ {iH"{iH"" " {iH"{iH""HHH-"hH "HHH-"hH "HHH-"hH "HHH-"hH "HHH-"hH ""H"h*"{i+k==les plus\N447.==GS Infos V.2\N446 ==Jeux\N445==Spy products \N444==Palettes 16\N443==Emul.Minitel\N442==Domaine Public\N441>> Le coin hard et soft \N3==Algorithmie \N415.#==Pascal et Toolbox (exemple)\N414==Pascal et Toolbox\N413==Assembleur\N412>> Initiation \N2== RS 232\N512.== Musique et GS\N511== Annonces\N510== Infos\N509== Courrier\N508== Solutions de jeux\N507== Le Vulcan\N506== GS astuces\N505 == APDA\N504== Mise au point\N503== Editorial\N502>> Sommaire \N5== Quitter\N411*Qq. == Rserv aux non-membres\N402== Imprimer un article\N401>> Fichier \N12>>@\N0X==A propos de GS Infos...\N400==-\N401D. ;8[i """"""""""""H""{i+k ;8[i{iH(XJ"HH{iH "h"{iHhn}J"{iH yyH """ :"22"":""""F:""""i:""s:"""(:""2:"UU"P:""Fi:"  "s:""}:"":""H"h "{i+kFCertains portions of this software are copyrighted by TML Systems,Inc.(c)-1987 TML Systems,Inc. D.MelchiorGSclubCMaintenez le bouton de la souris enfonc et appuyez sur une touche.7D.Ottello, J.Rey , B.Tomeno , D.Toussaint , C.Virrion EJ-P.Arnaud , C.Dreyfus , Y.Gobin , V.Hemeury , G.Jarrige , F.Lerman Rdacteur en chef:Editeur:&Pour quitter un article avant la fin :Ont particip ce numro :FGS Infos n7,le magazine du GS pour les membres du club exclusivement.Vu ;8[idݭ : i ݢ:"""ɢd,:"" """"H"hH "h={iHJ"{iHU" {i+k-Pressez une touche pour continuer la lecture. ;8[iHHH "hۆݩۍݍ" ,"j "N%  "$&(*,.02468:<>@BDFHJLHH "hHH""",:""""""HH "{i+k2Cliquez la souris pour quitter l'article. ;8[i{iH((XdJ"HH{iH "hۆۢ" :"" """:"mm"-:",,"{iH(7J"{iH ))H "H"hۢ "{i+kVu@Les fichiers sont des fichiers de type texte avec fonte tendue.=Rcuprez le fichier avec GS/Write ou un traitement de texte. Vous voulez imprimer un article: ;8[i%%"  ""{i+kInitiation l'algorithmie/gsinf7/articles/Art.Algo ;8[i"}}'""{i+k&La liste des disques du domaine public/gsinf7/articles/catalogue ;8[i """{i+kEmulation minitel/gsinf7/articles/Art.Emul.Minit ;8[i"mm""{i+kPar Arnaud Jean-Paul/gsinf7/articles/art.palettes ;8[i" ""{i+kTrois programmes du Spy Network/gsinf7/articles/art.spy ;8[icc"UU""{i+k Quelques jeux/gsinf7/articles/art.jeux ;8[i """{i+kGS Infos nouvelle version/gsinf7/articles/art.GS.INFOS.7 ;8[iPP"GIKM O "{i+kLes plus/gsinf7/articles/art.les.plus ;8[i"""{i+kla nouvelle rubrique jeu/gsinf7/articles/Art.solution ;8[i;;"13579"{i+k Editorial/gsinf7/articles/art.Editorial ;8[i"#""{i+k"GS Infos, vous avez dit GS Infos !/gsinf7/articles/Mise.au.point ;8[i88" ""{i+kUn avis sur le Vulcan par J.Rey/gsinf7/articles/Le.Vulcan ;8[i"""{i+kLes trucs et astuces du GS/gsinf7/articles/Art.Astuces ;8[i%%"""{i+kLes liaisons sries D.OTTELLO/gsinf7/articles/RS232 ;8[i"zz""{i+kLa carte Fasmath/gsinf7/articles/Art.Fastmath ;8[i"5""{i+k4Initiation au langage assembleur par Vincent Hemeury/gsinf7/articles/art.Ass ;8[i~~"y{ } "{i+kAPDA/gsinf7/articles/ADPA ;8[i"2""{i+k1Initiation Pascal et la toolbox par Marc Lerman/gsinf7/articles/Art.TML.3 ;8[i"]]+""{i+k*TML et la toolbox: exemple par Marc Lerman/gsinf7/articles/Art.TML.3.ex ;8[i"""{i+kLes membres nous crivent/gsinf7/articles/Art.Courrier ;8[irr"ZZ""{i+kLes dernires nouvelles/gsinf7/articles/Art.Dernieres ;8[i"""{i+kLe prochain numro/gsinf7/articles/Art.Numero3 ;8[iR R "= = ""{i+kLes petites annonces/gsinf7/articles/Art.Annonces ;8[i " ""{i+k Musique et GS/gsinf7/articles/Art.Infomusic ;8[i{iH"J"{iH00"{iHY0Y0"{iH00"{iH//"{i'H//"{iGHU/U/"{igH//"{iH.."{iH.."{iHQ.Q."{iH.."{iH--"{i'H--"{iGHM-M-"{igH - -"{iH,,"{iH,,"{iHI,I,"{iH,,"{iH++"{i'H++"{iGHE+E+"{igH++"{iH**"{iH**"{iHA*A*"{iH**"{iH))"{i'H~)~)"{iGH=)=)"{igH(("{iH(("{iHz(z("{iH9(9("{iHP0J"HH{iH "hHH"{iHixJ"HH{iH 6(6(H "{iHJ"{i{iHH{iHHH """:"((":"''"#:"''"-:"''"7:"y'y'"A:""o'o'" K:"7'7'" U:"&&" _:"&&":""&&"H"hHH "{i+k;GS CLUB 6 Impasse la Croix Pommier 94120 FONTENAY-SOUS-BOIS3Si vous ne dsirez pas devenir membre, effacez-la .8Cette disquette est l'organe de liaison interne du club.7GS Infos et ses articles ne sont pas du domaine public, ATTENTION)Vous recevrez GS Infos tous les deux moisDes domaines publics gratuits.'Vous bnficierez des services du club.Cotisation annuelle : 360 F..Pour recevoir GSInfos, devenez membre du club!Vu@0000000000000000000000000000000000000000000000000000000000000000@0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0@0F000000000000000000000000000000000000000000000000000000000000F0@0F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F0@0F0FFFFFFF111111F111111FFFFFFF111111FF11FF1111111FF1111111FFF0F0@0F0FFFFFF11111111F111111FFFFFF11FFFFFF11FF11FFF11FF11FFFF11FF0F0@0F0FFFF1111111111F1111111FFFFF11FFFFFF11FF11FFF11FF11FFFF11FF0F0@0F0FFFF1111FF11111F1111111FFFF11FFFFFF11FF11FFF11FF11FFFF11FF0F0@0F0FF11111FFF11111FF111111FFFF111111FF11FF11FFF11FF1111111FFF0F0@0F0FF1111FFFF1111FFFF11111FFFFFFFFFFFF11FFFFFFFFFFF11FFFFFFFF0F0@0F0FF1111FF111111FFFF11111FFFFFFFFFFFF11FFFFFFFFFFF11FFFFFFFF0F0@0F0F11111FF11111FFFFF11111FFFFFFFFFFFF11FFFFFFFFFFF11FFFFFFFF0F0@0F0F11111FFFFFFFFFFF11111FFFFFFFFFFFFF11FFFFFFFFFFFFFFFFFFFFF0F0@0F0F11111FFFFFFFFFF11111FFFFFFFFFFFFFF11FFFFFFFFFFFFFFFFFFFFF0F0@0F0F11111FFFFFFFFF11111FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F0@0F0F11111FFFFFFFFF11111FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F0@0F0F11111FFFF1111F11111FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F0@0F0FF1111FFFF1111F11111FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F0@0F0FF1111FFFF1111F111111FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F0@0F0FF11111FF11111F1111111FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F0@0F0FFF11111111111FF11111111FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F0@0F0FFFF11111111FFFF1111111FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F0@0F0FFFFFF1111FFF11FF1111FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F0@0F0FFFFFFFFFFFFF1111FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F0@0F0FFFFFFFFFFFFF11111FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F0@0F0FFFFFFFFFFFFF111111FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F0@0F0FFFFFFFFFFFFFF11111FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F0@0F0FFFFFFFFFFFFFFF11111FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F0@0F0FFFFFFFFFFFFFFFF1111FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F0@0F0FFFFFFFFFFFFFFFFFF11FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F0@0F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F0@0F000000000000000000000000000000000000000000000000000000000000F0@0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0@0000000000000000000000000000000000000000000000000000000000000000 ;8[iߥ߂""" y"r"k"d"]"V"O"H"A":"3","%"""" """""""ɐ7ɑ6ɒ5ɛ4ɜ7ɝ6ɞ5ɟ4ɹ3ɺ2ɻ1ɼ0ɽ/ɾ.ɿ-,+*)('&%$#"! ,"{i+;ik ;8[i H{iH"hͥ͂ "   {i+k ;8[i"""""""""{i+kH;i{HH ;[ H "H"hHHH "hhH "HHHH "hhe: "kHH ;[HH"HH""" d&y)H "h "Ԣ"""H"8kHH"h"kHH"k0;8 ;[H"h#H({iH "h%)))XHH "h: ) )d   +;i08k"k ;[ 0 1 :T+  ;i k ;[ k l e:e::D+  ;i k ;[   :0 )   h)+H   ;i(k HH;[H"h H "    hh+;ik ;[HH""+;ik ;[0  +  ;i k ;[0  +  ;i k ;[0   +  ;ik ;[  Ȁ +  ;ik ;[  Ȁ +  ;ik ;8 [  d) e )e     ;e i ;[907301 )80'e     +  ;ikHH ;[ d0b) W  gF @ e )e)8 0  ):  +;ik HH;[ F0D @0>)8 04  8 8  e :e   hh+  ;ik H;[d 8 2 )    8 ) h+  ;ik {cH;[hh+hk {cH;[ JJJ -)0 0 0 0 0 0 0  hh+hhk {cH;[  :JJJ 1)0 0 0 0 0 0 0  hh+;ik{cH ;[ +;ik{cH ;[ I7+;ik{cH ;[ 7+;ik ;[   (+;i (k ;[I7   (+;i (k ;[ I7  (+;i (k ;[ jjjjjjjj +;ik ;[JJJ+)0 0 0 0 0 0 0 7    (+;i(k H;[IIʩ FeI+k H;[ I Iʀ f  8 F F I+kcck8k H;[IIIIʀFf ee&IIhhhh+k H;[ I I IIʀ&&ff !  8  FfFfͥ  IIzzzzzz+kIIkIIk##kkCCkIIk8 # zz(k *kJjkjjjk***k;8 ;[  {iH "{iH{i H " +;ik;8 ;[  {iH "{iH{i H " +;ik;8 ;[H({iH "h+;ik;8 ;[H({iH "h)+;ik ;[:"hH "h::H:"+;ik;8 ;[{iH "{iHU""+;ik;8  ;[{i H)" 8   {iHU"+;i k;8 ;[{i H)" 8d  "zH"HHg"h{iH ~"h"+;ik;8 ;[{i H)" 8d  "zH"HHg"h{iH~"h"+;ik ;[) eH0"+;ikHHH ;[ HHHHH &"  Ȁ8: ))e:  +  ;ikHHH ;[H HHH HH '"  Ȁ 8: ))e:  +  ;i k;8% ;[$ &{i$H-H+H{iH "{i$H{iH1H/H "+'+&*;i)k ;[HHH)H ("h +;ik ;[HHHH)H )"h h +;ik;8& ;[.H,H{iH{iH{iH "{iH2H0H "+(,'+;i*kHHH ;[ )f A [8Ai a {8ai 80))  J ) J) +  ;i k""""""""""""""""""""""""""""""""33333333333333333333333333333333DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUffffffffffffffffffffffffffffffffwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww ;[;8 ")) )))));i+;ik ;[ HH H HHH "+  ;i k ;[;8")) ;i+;ik ;[;8" ;i+;ik ;[;8+" ;i+;ik ;[HHHHHH H$"h hhh+;ik ;[;8 " ;i+  ;ik ;[;8 " ;i+  ;ik ;[;8 " ;i+  ;ikHH;iHHHHHڢ "hhk    hhZ"HHkHHHH "hk ;[  "ኇ+ ;i k   ;[Z z Z"+hhhk . &     ;[Z z Z"+hhk ;[ ڢ "+  ;ik ;[  "+  ;ik   ڢ "+  ;ik ;[ " +hhk;iHHHڢ "ኃhhk ;[d  +hhk ;[ȗȥ @ȩ+hkH "hk ;[ "  +hhkHH "hhkH "hk;iH "hk "  k H H H H "(p0   ;ik;8  ;[dd\:"hi ) A[i     + ;ik;8 ;[$&{iH"` V$&") d d dd{iH"$&{iH"(+$#;i"k;8$ ;[HH,*"hH,*."h222202 2 2 22 2.)dHHH" "h!#%#2%2# {iH" 22+&2%1;i0k;8 ;[$$G$dd{iH"$$$$$ $$ + $#;i"k;8( ;[HH0."h! " "666646 6 6 66 62)AHHH" "h!#!%!'%6'6 66H0.2"h)6)66646 6 6 66 62)_HHH" "h!#!%!'%6'6) {iH" 666dd{iH"+*6)5;i4k;8 ;[  ' dd{iH"   + ;ik;8 ;[$$A${iH"$$HH""+ $#;i"k;8 ;[$& " {iH"+$#;i"k;8 ;[ "{iH"+ ;ikk;8 ;[  < $& d {iH"L  +$#;i"k;8 ;[  < $& d {iH"L  +$#;i"k;8 ;[$$n$HHHH$H " "hh {iH"${iH"{iH"+$#;i"k;8 ;[  2 {iH" H"zz$&+ ;ik ;[) +;ik;8 ;[$$$$$) d {iH"L $+ $#;i"k;8  ;[&&& d {iH"!&&  &!L &+"&!%;i$k ;[) +;ik ;[ HH"+;ik ;[ HH"+;ikHH ;[   ȥ  "+ ;i kHH ;[  )   "+;ikHH ;[    ȯ   ȯ   "+ ;i ktruefalseHHHHH ;[HHHHH &"  Ȁ 8 : ) )e:   "+  ;ikHHHHH ;[HHHH HH '"  Ȁ 8 : ) )e:   "+  ;ik;8) ;[//3 (3*(5 *{i(H9H7H{iH "{i(H{iHHH "5/1"++7*6;i5kHZHH ;[ 80,* )e)     HH"%  ȷ ȷ HH" +kHH ;[   ") "+  ;ikHH ;[   "  ) "+ ;i kHHHH ;[":e   Ȁ :    +  ;ikHH ;[   "%HHeHژ8 ("h "+ ;i kHH ;[   " ,HHHeHژ8 )"hh "+ ;i k;8* ;[0002"LHH{iH{i H{i H "{i H6H4H "02"+,4+3;i*kZHH ;[ "N)   Ș "Ȁػȷ)  Ȁ阠+hhhhkZ ;[ )? HH"% ȷȷ HH"+kZ ;[ ) )   +k;8 ;[d)  : )) H"h{i H)"{i H "H{i H{i HO"h)HH:" HH")j{i H)"H i H:" @HHg"{i HHH H H~"h"H 8 H:"HH "h)5HH "h)!HH ")  "+;ik;8< ;[BB)) H"h{i H)"{i1H "H{i H{i1HO"h)HH:"d{i H)"  i{iHV"᩼ {iHV"᩼ H({iH "hХ ɥ) {iHU" H i H:"႑v8pI9) {i H)"H H"8hH H:" 8 i{iHU"H"  B5 HHg"{i1HHH H H~"h"H 8 H:"Ⴋd;HHH "hhh=H ""h9) 4;Ȅ;  "= "BN&; " " ";;Ȅ;  9 ";f) B +>B=A;i@k;8 ;[d)  : HH " " +;ikprinter: console: keyboard: d3&3 '45 @ DOc h^k`n^q` ^`        q t wz}     ``W     ^`( +/^2`G Q T^W`ep s~ ^`  ),/258B E W g jmw z`}`W > n5 yy11 5yy!$. 147:@FILV Y\f nq    5' MPS V \5` c f i l o r u 75  ~ ~ g g Y Y E E 2 2             75     z z V !V $@ '@ 67:=L5P" S" V Y \_behknqtwz}75       $'3 D ILX i v   O  Y  c  m  w                       &  :  Y  o yr y         2 2                 ! +  8  E  U  X [ e  u  x {              U U            " %(2 B EHR b ehr               #%?95e x {  yy ! *036@ FLORUX[^adg j"m$p&s(v*y,|.02468:<>@BDFHJLNPRTVXZ\       ' *|; H U X[e kKor|     & 6 C P SV` m } mm  ,,  ))   yy%%5  5LyOyRU[5_be}h}n5ryy55<y?yBEK5ORUmXm^5byy55$y'y*c-c357:=U@UF5Jyy55yyP P5GI #K'*M.3O7<{y~y55yy;;51 3579#&gyjympv5z}5yy885 5 `ycyfio5svy|5yy%%55IyLyORX5\_bzezk5oyy55ByEyH~K~Q5UyY\{`e}inyy55,y/y25;5?BE]H]N5Ryy55)y,y/r2r85<?BZEZK5Oyy55 y y R  R  5 " % = ( = . 52 } y y   5     5 ! !0!0!C%!Y0(!Y0+!C9!044C44T4%4\4%4e4%4y444#4444!44 4 4 5&55&55 5 5 5 5 5 5666-6M636N6?5@X<&@X<t@@@<A@xA<~A@AtDAtDHHHHHHHHL.bLX<L0b L0bMT+MKEMzLLMTXNTNKNaNaOzLOTPTQTQTQTQTRT}RTRTSTWSThS=STqTTTTTTUwWQUwWUUUUUUUUUUUUUwWDVwWVwWdWwWWSWWWWWWWWXZ)XZTXZmXZXZY+Z0YZ[Y+ZYZY+ZZZ?ZZzZZZTZZZZZZZZ\\\\\T\6[\\`T`]``bT@baTb6[hb] ;[ ):  +;ik;8 ;[ ,@ ~global ;[ ):  +;ik;8 ;[     : p%r% ie H  HH H"2+ H) H1 H"& :    A+;ik;8" ;[(@**d(*)ȷȷ)ȷ)Ȅe2 4  )ARTICLESu' <-' '$ADPAL<-(J,ART.COURRIERR <-%J(ART.ALGOY)?N<- J+ART.ASTUCES <-"J,ART.ANNONCES<-0 JFINDER.DATAɒ<-<J.ART.EMUL.MINITW<-'J,ART.SOLUTION <-8J-MISE.AU.POINT <- J-ART.DERNIERES;;<-5 J)LE.VULCAN <-3 J-ART.INFOMUSIC;<-; JPrim'vert Editions, si vous avez dvelopp sur votre GS, cela peut vous voquer quelque chose et pas toujours en bien quant au prix et la qualit des photocopies que l'on recevait. Heureusement, les temps ont chang et Prim'vert Editions est devenu APDA France. Maintenant, il diffuse directement les "packages" amricains et un prix correct. Nous avons reu le catalogue concernant la famille Apple II . Ci-dessous vous trouverez quelques exemples. Les prix indiqus comprennent le port. APW versiKMNOPon 1 .0.2 900,00 F APW C version1.0.2 700.00 F APW C ensemble complet 1600,00 F Programming Tools and interfaces for APW 1.1 : permet d'utiliser les fonctionnalits de Gs/Os 5.0 avec APW 400,00 F Merlin to ORCA/M Source Code Translator 240,00 F Micol Macro for the Apple II GS 800,00 F ORCA/Desktop 530,00 F ORCA/M 1.1 620,00 F ORCA/M library 360,00 F ORCA/M utility 320,00 F AC/Basic 1000,00 F Micol Basic 1200,00 F TML Basic version 1.10A 1000,00 F ORCA/C 1200,00 F ORCA/Pascal 1200.00F TML Pascal II 1000,00 F TML Pascal II Source code library 400,00 F GS Bug and debugging tools 240,00 F ICONIX permet de grer le graphisme du GS partir du basic Applesoft 400, 00 F SONIX permet de grer l'ensonic du GS partir du basic Applesoft, le schma d'un digitaliseur est inclus 400, 00 F Apple II GS Toolboox Reference Volume 3, Beta Draft inclus les dernires nouveauts apparues dans la bote outil du GS avec GS/0S 5.0.2 280.00 F Nous avons gard le meilleur pour la fin et le plus utile pour tous, sachant que le systme franais ne sera pas l avant fin janvier. L'Apple II GS System Disk 5.0.2 la dernire version amricaine du systme d'exploitation pour 200,00 F. Tout ceci n'est qu'une fraction du catalogue o l'on trouve outils de dveloppement, programmes, documentation et livres. Pour se le procurer: APDA France PRIM'VERT Editions 36, rue des Etats Gnraux 78000 VERSAILLES TEL (1) 39 02 33 44 D. Toussaint Art.Courrier QUELLE IMAGE, POUR QUI, ET POUR QUOI? D'Eric Jarrige ---------------------------------------------- Je lance un appel tout adhrent comptent en matire de graphisme pour aider les autres sortir du labyrinthe que forment les diffrents formats de sauvegarde des images: - pict - apple preferred - etc.... Ma question est la suivante: comment savoir sous quel format sont sauves les images quand on emploie GS Paint et son alter-ego PaintWorks Gold, 816 Paint, Print Shop, VS DrQSTUVWaw, DeLuxe Paint, Cheapaint etc..... ( les fichiers en hexa ne sont pas trs parlants)..... Quand je veux charger une image dans un logiciel, quelqu'il soit, en quoi dois-je la convertir ( avec SHR Convert, par exemple ) pour la faire apparatre. Et quels sont les critres pour obtenir un rsultat entre le mode 320 et le mode 640. Et les images SHGR? Etc.... Le spcialiste pourrait-il faire une sorte de tableau de rfrence et les changements que l'on peut y apporter pour sortir enfin de cet imbroglio d'images. NDLR: Un article fichier texte envoyer au club... Copy.killers ------------ Un adhrent nous signale un problme avec ce jeu du domaine public, prsent sur la disquette GS Infos 6. Ce serait un crash suivi de l'information pack virus. Nous n'avons pas trs bien compris ce qui lui arrivait. Si vous avez dtect cela, informez-nous de la raison de ce message. Un bon point pour un concessionnaire Apple -------------------------------------- M. Luneau nous crit tout le bien qu'il pense de la socit A2I Soissons. Ce concessionnaire lui a mis son GS jour ds la sortie de celle-ci et lui a crit pour qu'il amne son matriel. Ayant des difficults avec son ImageWriter LQ , le directeur lui a prt la sienne en attendant la rparation. Un vendeur de softs ----------------- M. Thliou nous signale que les magasins COCONUT propose une vingtaine de softs de jeu pour Apple IIGS. COCONUT ETOILE 41, Avenue de la Grande Arme 75016 Paris Tel (1) 45 00 69 68 Un vendeur de livres ------------------ M. Dreyfus nous informe de sa dcouverte d'une librairie consacre l'informatique: Le Monde en tique 18, rue Matre Albert 75005 PARIS Tel: 43 25 45 20 SOS Jeu ------ Dans Alien Mind , je cherche la solution de la 9me nigme: "my password is a scale" Eric Jarrige Pr Chateau 42330 Saint Galmier Programmation ------------- Cherche un programmeur intress par la conception d'un simulateur de centrale nuclaire. M. Leborgne Patrice 5, rsidence du Gros Chne 45460 Les Bordes Initiation l'algorithmie et la programmation structure. Art.Algo Il m'est arriv, en tant que formateur bnvole dans des clubs d'informatique, d'tre mis en difficult par des lves totalement rcalcitrants au Pascal et la programmation structure. Souvent bourrs de prjugs quant l'utilit et aux performances du Pascal, ils ne parviennent pas se dbarasser de certains "tics" contracts avec leur Basic Machin-chose. L'absence de numros de lignes, de GOTO, les contrarient normmeXZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~nt. Lorsque je demande un basiqueur de traduire un programme Basic en Pascal, il s'obstine le plus souvent vouloir le transcrire tel quel, sans utiliser les intressantes possibilits du Pascal, et le plus souvent sans aucune structuration. J'ai moi-mme une solide exprience du Basic, tant sur Commodore64, que sur AppleII en Applesoft et en GS.Basic. Mais malgr tout le respect que je dois au Basic et sans renier mes racines de bidouilleur, je n'envisage plus de programmer en Basic pour la simple et bonne raison que ce langage est trop loign de mes propres exigences de performance et d'efficacit. Quoiqu'il est vrai que les dernires moutures du Basic n'aient plus grand chose voir avec le bon vieil Applesoft, par exemple. Un bon programme doit tre relativement facile lire, comprendre, modifier et corriger, mme pour une personne trangre sa conception. Cela ne veut pas dire qu'il soit facile pirater puisque ce n'est jamais le code source qui est commercialis mais sa version compile. Pourtant on voit encore trop souvent dans des revues des programmes en Basic, voire mme en Pascal, qui sont incomprhensibles sauf pour celui qui les a crits, sans compter les bugs. Bravo en tout cas aux initiations Pascal, Assembleur et Toolbox de GS.Infos. J'espre que cet article pourra vous aider dans votre apprentissage du Pascal. Je ne pense pas en tout cas qu'il fasse rptition avec l'excellente initiation de Marc Lerman. Les exemples que je vais vous prsenter vont sans doute paraitre lmentaires certains, surtout s'ils sont aguerris au Pascal... cet article ne s'adresse pas eux quoique je leur conseille de le lire, histoire de vrifier s'ils sont aussi bons qu'ils le pensent. Cet article s'adresse avant tout ceux qui dbutent en informatique. Avertissement : les exemples que j'utilise ci-dessous sont connus et employs par de nombreux profs d'informatique et je dfie quiconque d'en revendiquer la paternit. Premier problme : Lire deux nombres A et B et changer leur contenu. Avant de vous lancer dans l'criture du programme, surtout si vous tes un dbutant, prenez la peine d'exposer le problme sur une feuille de brouillon et d'y rflchir un moment. Je ne suis pas l pour vous surveiller alors faites un effort et jouez le jeu. Lire tout de suite la solution ne vous mnera rien, d'autant qu'il n'y a pas une solution miracle et que la vtre, quoique diffrente de la mienne, peut tre parfaitement fonctionnelle et intelligente. Lorsque vous aurez fini, vous pourrez poursuivre la lecture de cet article. Certains d'entre vous vont penser que je les prends pour des demeurs et qu'il est vident qu'il faut utiliser une variable intermdiaire. A ceux-l je rtorquerai que ce n'est pas du tout vident et qu'il existe un moyen pour rsoudre ce problme sans variable intermdiaire comme je le montre dans la solution n2. Allez, avouez que a vous en bouche un coin. Voici ma premire solution : Solution n1 : Lexique Variables : a, b, c : rels (c' est la variable intermdiaire) Dbut Lire a, b c <-- a a <-- b b <-- c Afficher a, b Fin. D'accord, a ne ressemble pas proprement parler un programme en Pascal et si vous l'entrez tel quel sur votre compilateur, il plantera coup sr. Il s'agit d'un algorithme. Le langage Pascal ayant t cr par un professeur d'algorithmie, vous pouvez noter les similitudes avec le Pascal. N.B. : le symbole "<--" est tout ce que j'ai trouv pour symboliser une flche avec le clavier. Ce symbole veut dire "reoit". En d'autres termes, la variable c "reoit" le contenu de la variable a, la variable a "reoit" le contenu de la variable b, etc... Les basiqueurs doivent absolument oublier le "=" qui est une aberration, tant sur le plan logique que mathmatique. En Pascal, la flche se traduit par ":=" pour viter cette aberration. En Pascal, et a dplait beaucoup aux basiqueurs, il faut dclarer au pralable les variables que l'on va utiliser dans le corps du programme. Ce n'est pas une relle contrainte. Cela oblige une certaine rigueur, c'est tout. Cela permet galement, lorsque l'on relit un programme 6 mois aprs l'avoir crit, de s'y retrouver, surtout si l'on a pris la peine d'crire son algorithme proprement et en le documentant correctement. Voici le codage de l'algo en Pascal : PROGRAM permutation (input, output) ; VAR a, b, c : REAL ; BEGIN WRITE (' Introduisez le premier nombre ') ; READLN (a) ; WRITE (' Introduisez le deuxieme nombre ') ; READLN (b) ; c := a ; a := b ; b := c ; WRITELN (a:5:2,' ',b:5:2) ; WRITELN (' Pressez RETURN pour quitter ') ; READLN ; END. N.B. : WRITE et WRITELN sont quivalents au PRINT du Basic et READLN INPUT. En Pascal, les "" du Basic sont remplacs par des '' pour afficher les chaines de caractres. Les () sont indispensables, ainsi que les ";". Lors de l'affichage de a et de b la fin du programme, vous notez que j'ai ajout ":5:2" aprs a et b, ce qui veut dire que la machine affichera le contenu de a et le contenu de b avec 5 chiffres avant la virgule et 2 chiffres aprs. C'est tout fait facultatif. J'utilise le mode Input,Output du TML/Pascal qui est bien pratique pour dbuter car il permet de travailler dans un environnement en mode texte. Le READLN l'avant-dernire ligne ncessite que l'utilisateur presse la touche RETURN sinon il n'aurait pas le temps de lire le rsultat de la permutation. Tapez ce programme, excutez-le, vrifiez que la permutation s'effectue bien quelles que soient les valeurs de a et de b (nombres entiers, virgule ou ngatifs). Comparez l'algorithme et son programme Pascal. Vous noterez que dans l'algorithme, on ne perd pas de temps faire des affichages du style "Introduisez le premier nombre", ces problmes bassement terre--terre tant rservs la rdaction dans un langage. Vous noterez galement, et ce ne sont pas les basiqueurs qui pourront me contredire, qu'un algorithme comme celui-l est trs facilement transposable dans n'importe quel langage (Basic, Cobol, Pascal, etc...). Et maintenant, chose promise, chose de, voici ma.. ..Solution n2 (sans variable intermdiaire. Mais si, c'est possible) : Lexique Variables : a, b : rels Dbut Lire a, b b <-- b + a a <-- b - a b <-- b - a Afficher a, b Fin. Surtout ne vous laissez pas impressionner. On ne se sert jamais de cette solution mme si elle est trs belle sur le plan de la logique. Elle a nanmoins une grande valeur pdagogique car elle permet au dbutant de bien comprendre l'utilisation qui peut tre faite des variables. Pour vous aider dcortiquer cette solution, commencez par la coder en Pascal. Puis faisons ensemble son "jeu d'essai", que l'on appelle aussi "table de vrit". Cela consiste tester dans un tableau sommaire les valeurs successives des variables utilises, en suivant pas pas le cheminement du programme pour envisager tous les cas de figure et s'assurer qu'ils fonctionnent : a ! b ------!------- 3 ! 9 ( Lire a, b ) 3 ! 12 ( b <-- b + a ) 9 ! 12 ( a <-- b - a ) 9 ! 3 ( b <-- b - a ) 9 ! 3 ( Afficher a, b ) Entrainez-vous faire ce jeu d'essai avec d'autres valeurs telles que des nombres virgule ou ngatifs. Faites aussi le jeu d'essai de la solution n1, histoire de vous faire la main. Faites galement le jeu d'essai de votre propre solution et, si elle ne marche pas, tchez de voir pourquoi et comment la corriger ou l'amliorer. Pour ceux qui se poseraient des questions quant l'utilit des permutations, disons qu'elles sont le plus souvent utilises pour effectuer des transferts de valeurs d'un tableau l'autre ou dans un mme tableau. Vous verrez les notions de tableau plus tard, rien ne presse. C'est en tout cas l'une des utilisations les plus puissantes que l'on puisse faire du Pascal et c'est souvent trs pratique. S'il s'agit de votre premier programme, il y a de grandes chances pour qu'il soit faux ( moins que vous ne soyez un gnie). N'en faites pas un drame. Il m'arrive d'attraper des fou-rires lorsque je relie les vieux programmes de mes dbuts, bourrs d'erreurs et de contradictions. Le principal est de s'accrocher. La programmation est une cole de patience et de persvrance. Dites-vous que les petits gnies que l'on voit dans les sries amricaines ne sont que des dlires de scnaristes qui ne connaissent rien l'informatique. Et je ne dis pas a pour vous faire plaisir, c'est la stricte vrit. Je vais vous soumettre un autre problme que je laisserai votre apprciation. En vous rfrant la solution n1 (avec variable intermdiaire) vous devriez le rsoudre assez facilement. Lorsque ce sera fait, essayez de le rsoudre avec la solution n2 (sans variable intermdiaire) : Lire trois nombres a, b et c et ralisez une permutation circulaire. En d'autres termes : a --> b --> c --> a Si vous schez, utilisez une variable intermdiaire d pour effectuer la permutation suivante : a --> b --> c --> d --> a L, j'ai peur d'en avoir trop dit. Vous tes remis de vos motions ? Trs bien. Nous allons maintenant tudier les structures dites alternatives du genre : Si Alors Sinon FinSi En d'autres termes : Si la condition est remplie Alors excuter l'action1 Sinon excuter l'action2. FinSi Exemple : Si Alors Sinon FinSi On remarque dans cet exemple que la condition correspondante au Sinon est facultative. On aurait donc pu crire simplement : Si Alors FinSi En langage courant on appelle a un test. Vous verrez, a n'a rien d'effrayant et c'est trs pratique. Voyons sur le champ le.. ..Problme n2 : Lire trois variables a, b, c quelconques. Permuter le contenu de ces variables de faon obtenir a >= b >= c. Ecrivez l'algo, le jeu d'essai, puis le programme Pascal correspondant. (Eh oui, a se corse, mais il faut bien en passer par l). Rflchissez un moment au problme puis revenez cet article. Lorsque je soumets ce problme mes lves occasionnels, je suis toujours frapp par la diversit des solutions apportes. A moins que certains ne profitent de la copie du voisin, il y a au moins une solution diffrente par lve. Certaines sont compltement farfelues, d'autres, quoiqu'incroyablement lourdes (parfois jusqu' 15 ou 20 tests) fonctionnent nanmoins, mlant maladroitement les Alors et les Sinon. Dans le cas prsent, trois tests (IF..THEN..) suffisent. Il est vident que l'on va se servir ici des permutations vues prcdemment. Maintenant que vous savez tout a, retournez votre solution et rflchissez au moyen de l'amliorer. Si vous ne trouvez pas du premier coup, ne vous acharnez pas inutilement. Soufflez un peu et revenez-y. En programmation, on progresse par palier : on peut buter pendant un certain temps sur un problme, puis brusquement tout semble s'claircir comme par miracle. Chaque personne a son propre rythme d'apprentissage, c'est encore plus vrai pour les programmeurs. Passons aux choses srieuses. Avant de me lancer dans la rdaction de l'algo, je vais, pour vous et en excluvisit, faire une analyse du problme pour cerner tous les piges viter. Commenons par passer en revue tous les cas de figure : Cas 1 - Si a >= b >= c Alors Rien 2 - Si a >= c >= b Alors Permuter b et c 3 - Si b >= a >= c Alors Permuter a et b 4 - Si b >= c >= a Alors Permuter a et b puis b et c 5 - Si c >= a >= b Alors Permuter b et c puis a et b 6 - Si c >= b >= a Alors Permuter a et c On remarque que "Permuter b et c" se rpte dans 3 cas. On remarque que "Permuter a et b" se rpte dans 3 cas. On remarque que "Permuter a et c" ne se prsente qu'une fois. Ces 6 hypothses se rsument donc 3 cas maximum. On doit donc pouvoir rduire le problme 3 conditions : 1 - Si c >= a Alors Permuter a et c 2 - Si c >= b Alors Permuter b et c 3 - Si b >= a Alors Permuter a et b Voil, le plus gros du travail est fait. Algorithme : Lexique Variables : a, b, c, d : rels (d est la variable intermdiaire) D{but Lire a, b, c Si c >= a Alors Faire Permuter (a,c) FinSi Si c >= b Alors Faire Permuter (b,c) FinSi Si b >= a Alors Faire Permuter (a,b) FinSi Afficher a, b, c Fin. Sans cet effort d'analyse, je ne serais sans doute jamais parvenu une telle simplification du problme. J'ai volontairement simplifi la rdaction de l'algo au niveau des actions pour ne pas l'alourdir. Vous remarquerez qu'un algo comme celui-ci ressemble trangement du langage naturel. La traduction en Pascal ressemble plus un exercice de traduction que de programmation. Au moins, il ne s'agit plus ici de bidouille, mais presque vritablement de programmation rigoureuse et efficace. Avant de passer au codage en Pascal, faisons quelques jeux d'essai pour s'assurer de la bonne marche du programme. a ! b ! c -------!-------!------- 1 ! 5 ! 2 2 ! 5 ! 1 5 ! 2 ! 1 a ! b ! c -------!-------!------- 9 ! 4 ! 5 9 ! 5 ! 4 Les 2 exemples ci-dessus correspondent respectivement aux cas n5 et n2. Vrifiez pour les 4 autres cas que le programme fonctionne correctement. Passons au codage en Pascal : PROGRAM permutation (input, output) ; VAR a, b, c, d : REAL ; BEGIN WRITE (' Introduisez le premier nombre ') ; READLN (a) ; WRITE (' Introduisez le deuxieme nombre ') ; READLN (b) ; WRITE (' Introduisez le troisieme nombre ') ; READLN (c) ; IF c >= a THEN BEGIN d := a ; a := c ; c := d ; END ; IF b >= a THEN BEGIN d := a ; a := b ; b := d ; END ; IF c >= b THEN BEGIN d := c ; c := b ; b := d ; END ; WRITELN (a,' ',b,' ',c) ; READLN ; END. Comparez la syntaxe de l'algo et du Pascal pour vous familiariser avec leurs diffrences. Notez que le FinSi de l'algo se traduit par un ";" en Pascal. Prenons un autre exemple, factice celui-l. Lorsqu'une seule condition entraine plusieurs actions... IF THEN BEGIN (ceci est un bloc) WRITELN ('Bonjour') ; a := a + 1 ; IF a >= 15 THEN WRITELN ('Rebonjour') ; ... END (pas de ";" avant un ELSE) ELSE BEGIN ... (ceci est aussi un bloc) END ; De toute faon, le TML/Pascal est ainsi fait qu'il signale tout manquement aux rgles syntaxiques de son compilateur par des messages du genre "End expected" ou "; expected". Pas franchement agrable, mais efficace. Le problme c'est qu'il ne s'agit que d'un debugger syntaxique. Il n'est pas capable de localiser et de signaler des erreurs de logique. Alors attention au programme qui fonctionne bien fonctionne bien fonctionne bien... tellement bien qu'il ne s'arr^ete plus, ou qu'il plante. Je ne le rpterai jamais assez, faites des sauvegardes avant chaque tentative d'excution de votre programme. Remarquez dans l'exemple ci-dessus qu'on peut imbriquer un test dans un autre. Voyez galement l'exemple ci-dessous : IF note < 8 THEN WRITELN ('candidat limin') ELSE IF note < 10 THEN WRITELN ('candidat admissible l''epreuve de rattrapage') ELSE WRITELN ('note = ',note,' : candidat admis') ; En d'autres termes : Si la note du candidat est infrieure 8 Alors le candidat est limin Sinon Si la note est infrieure 10 ( 8 <= note < 10 ) Alors le candidat est admis l'preuve de rattrapage, Sinon le candidat est reu ( note >= 10 ) FinSi FinSi Eh, oui ! On peut imbriquer des tests ainsi, sans avoir jongler avec les GOTO du Basic. Avec a, si je n'ai pas russi en convertir quelques-uns au Saint Pascal, je n'ai plus qu' me dbugger le COS (Cervical Operating System). Il y aurait encore beaucoup dire sur le Pascal. Les oprateurs boolens mriteraient un bouquin eux-seuls. Sans compter l'utilisation des procdures, des fonctions, des tableaux, des structures rptitives telles que les boucles, etc... Lorsque vous serez familiaris avec ces notions, vous vous rendrez compte qu'un mme problme peut avoir une multitude de solutions, toutes plus bonnes les unes que les autres. Mais je laisse Marc Lerman le soin de vous parler de tout a. Je ne peux que vous conseiller de lire tout ce qui vous tombe sous la main en matire de programmation en Pascal. Les compilateurs se ressemblent beaucoup. Un livre sur le Turbo Pascal (de Borland) peut parfaitement convenir tel que "Turbo Pascal, mode d'emploi" aux ditions SYBEX qui cote 49 F. Les ditions Marabout et PSI ont aussi de bons bouquins sur le sujet. Le Turbo Pascal est un compilateur pour compatible PC. Les diffrences avec le TML rsident surtout dans les fonctions graphiques et sonores, les PC tant plutt pauvres en la matire. Il existe mon sens peu de livres intressants consacrs l'algorithmie. J'espre ne pas vous avoir trop assomm avec ma prose. Que voulez-vous, je suis aphone depuis deux jours, il faut bien que je me rattrape quelque part. Sur ce, il ne me reste plus qu' vous souhaiter bon courage. Moi je vais me coucher. P.S. : pour ne pas vous laisser sur votre.. faim ?, voici le dessert : un petit problme supplmentaire et ma solution : Lire une chane de caractres, la partager en deux, centrer et afficher les deux moitis l'cran en les accolant. Algo simplifi : Dbut - lire la chaine ; - rcuprer sa longueur (avec l'instruction LENGTH) ; - sachant que l'cran a 80 caractres de large, calculer l'espace insrer entre le bord gauche de l'cran et la chane pour qu'elle soit centre ; - recopier dans moitie1 la premire moiti de la chane (avec COPY) ; - recopier dans moitie2 la seconde moiti de la chane (avec COPY) ; - afficher moitie1 et moitie2 accoles et centres ; Fin. PROGRAM texte (input, output) ; USES consoleIO ; VAR phrase : STRING[80] ; moitie1, moitie2 : STRING[40] ; longueur, espace, demi_phrase : INTEGER ; BEGIN WRITELN ('Entrez votre phrase et pressez RETURN.') ; READLN (phrase) ; longueur := LENGTH (phrase) ; espace := ( 80 - longueur ) DIV 2 ; demi_phrase := long DIV 2 ; moitie1 := COPY (phrase, 1, demi_phrase) ; moitie2 := COPY (phrase, demi_phrase+1, demi_phrase) ; EraseScreen ; GotoXY (espace, 10) ; WRITE (moitie1) ; WRITELN (moitie2) ; REPEAT UNTIL KEYPRESSED ; END. L encore, voici une proposition de solution. Ce n'est pas forcment la meilleure. A vous de voir. Certaines fonctions comme USES, ConsoleIO, LENGTH, COPY ou KEYPRESSED sont expliques dans le manuel du TML. Bon amusement. JARRIGE Gregory. Art.Astuces PHOTOGRAPHIEZ VOS CHEFS D'OEUVRE Il est agrable de faire sous DeluxePaint ou PaintGold ou ... etc... de jolies crations colores , et on peut avoir envie de les conserver sous forme de diapositives. Voici quelques conseils pour ne pas avoir trop tatonner. On suppose que vous travaillez avec un appareil reflex bien videmment . 1 ) Utilisez une pellicule 100 ASA , travaillez sur pied et avec un dclencheur souple . 2 ) Mettez le centre de votre objectif bien en regard du centre de l'cran et le plan du film bien parallle au plan de l'cran ( pour viter des dformations courbes en bordure de document ) . 3 ) On peut se contenter d'un objectif standart ( focale de 50 ) mais un petit tl-objectif diminuera encore ce risque de dformations courbes des lignes droites en priphrie d'cran , en permettant de se mettre plus distance ( effet de parallaxe ) . Toujours pour minimiser ce risque essayez que votre dessin n'occupe pas trop les bords ( du moins avec des lignes droites ) 4 ) Cadrer votre photo et rgler la nettet . 5 ) Travaillez dans le noir le plus absolu ( la nuit , rideaux tirs , vitez tout reflet lumineux sur l'cran , mme pas le rouge d'une cigarette ! ) . 6 ) Reglez le contraste et la luminosit de l'cran au maximum . 7 ) Travaillez avec un diaphragme 3.5 et un temps de pose long ( 1/4 ou 1/8 de seconde ) . Une ouverture 5.6 et une pose la 1/2 seconde peuvent aussi convenir . 8 ) Dtail idiot ( mais tout peut arriver ) : avant d'appuyer sur le dclencheur faites disparaitre la barre des menus (!) et mettez le curseur dans un coin pour viter de le retrouver au beau milieu de la diapositive. ************************************************************ ECHANGES DE DONNEES EN APPLE GS ET MACINTOSH ************************************************************ Il est probable que certains d'entre nous soient amens changer de temps autre des donnes entre un Apple II GS et un MacIntosh . Cela peut se faire via un cable reliant les deux machines mais aujourd'hui nous nous contenterons de quelques tuyaux pour les changes "via disquettes". Nous nous mettrons dans l'hypothse o| on veut rcuprer sur un Mac des donnes issues d'Appleworks ( mais le principe reste valable pour d'autres softs , au besoin en ayant d'abord rcupr les donnes du dit soft sous Appleworks via une sauvegarde en mode TXT < ou mode Ascii c'est pareil > ) . 1 ) Rcuprer des donnes Traitement de Texte ---------------------------------------------- C'est le cas le plus facile : il suffit dans Appleworks de sauver le document sur disque par l'option "Imprimer sur disque un fichier Ascii " ( prendre l'option pomme-p et non pas , comme pour une sauvegarde habituelle , l'option pomme-s ) . On travaille ensuite uniquement sur le MAC . On lance le programme APPLE FILE EXCHANGE qui va lire votre disquette GS mise dans un drive du MAC et vous permet de rcuprer sur une disquette MAC votre fichier Ascii . A partir de l , la quasi totalit des Traitements de Textes du Mac ont une option pour charger un fichier Texte . 2 ) Rcuprer des donnes Base de Donnes ------------------------------------------ Au lieu de sauver votre fichier ADB par pomme-s , sauver le par pomme-p , soit sous forme Ascii , soit sous format DIF ( soit les deux , nous verrons pourquoi plus loin ). Si votre fichier contient des rubriques vides il est possible que cela pose ensuite quelques problmes : remplissez les avec n'importe quoi ou bien crez un format-liste comportant les catgories que vous voulez exporter et , par pomme-o , demandez ce qu'un tiret soit imprim en cas de rubrique vide . Notez bien le nombre de rubriques que vous avez par fiche . Sous Mac et grace APPLE FILE EXCHANGE transfrez vos fichiers Ascii et DIF sur une disquette MAC . Pour rcuprer sous WORKS ( qui est un "intgr" genre Appleworks ) choisissez "Importer", donnez le nom du fichier sauvegard en Ascii , et dans la case " Nombre de Return " inscrivez le nombre , sus-not , de rubriques . Pour rcuprer sous Quatrime Dimension ( data base clbre et performante ) , commencez par crer un fichier comportant autant de rubriques que votre fichier de dpart ( les noms des rubriques n'ont pas besoin d'tre les mmes ) , puis importer votre fichier en indiquant 9 et 13 comme sparateurs ( c'est d'ailleurs ce qui vous est propos par dfaut ) . 3 ) Rcuprer des donnes du Tableur ------------------------------------- Vous ne rcuprerez que le contenu des cellules , pas les formules hlas ( ou alors je n'ai pas trouv comment le faire ! ) , mais c'est dja mieux que rien . Dans Appleworks sauvez le fichier par pomme-p en choisissant le format DIF avec l'option "Colonnes" et non pas l'option "Lignes" . Sauver aussi un exemplaire du fichier en mode Ascii . Transfrez le fichier sur disquette Mac toujours avec APPLE FILE EXCHANGE. Certaines versions d'EXCEL recupreront le fichier sous format Ascii , d'autres sous format DIF . Le tableur de WORKS rcuprera les fichiers ASCII . On peut aussi partir d'un fichier DIF , rcupr sous un tableur Mac , le re-sauver sous mode Ascii ( ou Texte , c'est synonyme ) et le rcuprer sous un autre tableur qui ne lirait pas directement les fichiers DIF . B.TOMENO Art.Annonces Le GS Club et Hyperstudio ----------------------- Hyperstudio version 2.0 remplit toutes les fonctionnalits annonces par R. Wagner et qui ne marchaient pas dans la version prliminaire 1.2 , livre aux premiers acheteurs. Les premires XCMD ou commandes externes existent. On peut dfinir ses propres actions en crivant les routines en assembleur. Les perspectives de ce logiciel dans le monde de l'informatique personnelle et ducative sur Apple IIGS sont trs vastes. Le club se propose de crer une section hyperstudio, avec un catalogue des meilleures piles et commandes externes qui pourraient tre diffuses soit en freeware, soit en shareware. Le club s'associe une action envers les coles primaires quipes d' Apple IIGS. Pour que cela soit vraiment utile, il faut que les piles soient en franais. Un important travail de rdaction d'articles, de crations de banques de sons, d'images, de "clip art" et de traduction de piles amricaines rendra cette section vraiment utile. Nous faisons appel tous ceux que cela intresse, contactez le club. A Vendre -------- Apple IIGS-1Mga-Couleur-Nlles Roms + 2 lecteurs 5.25 + 1 lecteur 3.5 Doc APW + toolbox 1 et 2 + Music Studio + Delux Paint II + Multiscribe + Music Construction Set + logiciels du domaine public Le TOUT 7000 F (indivisible) Cherche IMW II d'occasion moins de 3000F M.Oblin Marc 24, rue P. Picasso 93000 BOBIGNY. :$~|NEXT.NDA CLAVIER.VFGEST.BOURSIEREHGESTION.TITRESLe programme Emul-Minitel: Si vous ne possdez pas VS/Com, vous pouvez tout de mme utiliser le cable de liaison GS/Minitel l'aide du ShareWare 'Emul-Minitel' de Messieurs CARBONNEL F., RAMET JP. et PEREZ A. Il permet la connection, la consultation, l'impression et la sauvegarde des changes par liaison VidoText, en monochrome sur le GS et le IIc mais en couleur sur un //e quip d'une carte Eve. Pour l'utiliser, transfrer le sous-catalogue 'Emul.Minitel' sur votre disque de travail et lancer le programme Basic 'Startup'. Un menu d'aide dcrit les touches de fonctions, la touche 'Esc' permet l'impression d'un cran en cours de communication. Sur l'Apple IIGS, il est ncessaire de configurer le port modem au tableau de bord de la faon suivante avant l'utilisation du programme: - Ajouter LF aprs CR : OUI - Bits Donnes/Stop : 7/2 - Parit : Paire - Handshake DCD : NON - Handshake DSR/DTR : NON Toutes les autres options sont celles donnes par dfaut. N'oubliez pas d'arrter et de relancer votre GS pour que ces modifications soient prises en compte. J.Rey SALUT A VOUS TOUS LES JOYSTICKEURS FOUS, JE VOUS EXPLIQUE EN QUOI CONSISTE CETTE NOUVELLE RUBRIQUE: ELLE EST DESTINEE A DONNER DES SOLUTIONS,TRUCS&ASTUCES POUR TOUS LES JEUX EXISTANT DANS LE COSMOS GS. SI VOUS EN CONNAISSEZ CA SERAIT SYMPA D'EN FAIRE PROFITER LE CLUB,ALORS ECRIVEZ MOI SUR PAPIER , LISIBLEMENT AVEC VOTRE SOLUTION A: CYRIL DREYFUS CENTRE MURAT 143 BOULEVARD MURAT PARIS 75116 I M P O R T A N T:TOUTES INFORMATIONS SUR ALIEN MIND SERONT LES BIEN VENUES, TOUS CEUX QUI M'ENVERRONT DES SOLUTIONS AURONT MA RECONNAISSANCE ETERNELLE. NB:EVITER LES SOLUTIONS POMPEES D'AUTRES JOURNAUX... JE LES LIS AUSSI.,SI VOUS BLOQUEZ SUR UN JEU EN PARTICULIER DITES LE JE FERAI UNE ANNONCE ,ET UNE PARTIE DE LA RUBRIQUE SERA RESERVEE POUR LES QUESTIONS-REPONSES(ELLES AUSSI DONNEES PAR LES AIMABLES MEMBRES DU CLUB). VOILA POUR LE TOPO ,ET MAINTENENT LES SOLUTIONS: TASS TIME IN TONE TOWN VOICI LA SOLUTION DEPUIS LE DEBUT JUSQU'AU POINT POUR NE PAS SE FAIRE DEVORER PAR LE CROCODILE(FRANKLIN SNARL): S.CLIQUER SUR POT VERT.TAKE KEY.N.W.OPEN DOOR WITH KEY.LOOK FISH BOWL. GET PICKS.LOOK GENERATOR.THROW SWITH.ENTER HOOP.N.LOOK TRENCH. GET SILVER JAR.E.S.E.TALK CHAZ.CHOOSE FEATHER FOIL.E.BUY HOOPLET.WEAR HOOPLET.BUY JUMPSUIT.WEAR JUMPSUIT.BUY SHIRT.WEAR SHIRT. ET VOILA MAINTENENT A VOUS DE TROUVER. MAINTENANT LA SOLUTION COMPLETE DE RENDEZ.VOUS.EN.URSS (GS.CLUB.14) PRENDRE TELEPHONE.PRENDRE PAPIER.PRENDRE STYLO.E.S.FRAPPER PORTE. ENTREZ.PARLER.PRENDRE UN BILLET.N.PRENDRE LOUPE.O.VOIR SOUS-MAIN. LIRE NOTE.E.DIRE 3615.O.APPUYER BOUTON.EXAMINER CABINE. PRENDRE CLEF.O.O.AIDER UN TYPE.E.ENTRER.PARLER UN EMPLOYE. DEMANDER CARTE.PRENDRE UNE CARTE.S.O.O.O.O.PARLER REDACTEUR. PRENDRE UN MINI.E.E.S.RETIRER ARGENT. Ce moment l le banquier vous demande votre numro(et je n'y arrive pas).un fois qu'il vous a donn l'argent il faut changer des dollars et demander un carte euro.N.N.acheter tout ce que vous pouvez,mais ne touchez pas aux conserves.sortir.O.S.S(dans l'aeroport).prendre valise.et finalement donner billet. (POUR SAUVER UNE PARTIE :SAUVER PARTIE , POUR LA CHARGER : REPRENDRE PARTIE). VOICI QUELQUES PATCHS POUR DES VIES INFINIES MAIS ATTENTION JE VOUS CONSEILLE DE NE LES EFFECTUER QUE SUR UNE COPIE DE VOTRE ORIGINAL ,CAR CES PATCHS M'AYANT POUR LA PLUPART ETE DONNES PAR DES AMIS,NE SONT GARANTIS NI PAR MOI NI PAR LE PERE NOEL. ROADWAR 2000: PASSE UN CERTAINE DATE ON A PERDU,POUR Y REMEDIER : DANS LE FICHIER ROADWAR.GAME METTRE D00000 DES OCTECT 1E A 21 WARLOCK :POUR AVOIR VITALITY POWER INFINI BLOCK 240 OCTECT 1D1 METTRE 2C BLOCK 241 OCTECT 68 METTRE 2C ZANY GOLF: BLOCK 7D OCTECT 28 METTRE 80 A LA PLACE DE F0 ET UN ACCESSOIRE DE BUREAU APPARAITRA DANS LE MENU DU JEU POUR AVOIR DES VIES INFINIES. LEISURE SUIT LARRY: VOUS POUVEZ GAGNER PLUS DE POINTS EN DONNANT DU VIN AU VAGABOND.ET AUSSI EN TELEPHONANT AU 555.69.69.VOUS POUVEZ AUSSI GONFLER LA POUPEE. JEU DE LA SEDUCTION (GS.CLUB.36): DANS LE DIRECTORY /SED IL Y A UN FICHIER NOMME Q.S IL CONTIENT TOUTES LES INFORMATIONS AU SUJET DU PERSONNAGE,POUR DRAGUER TRANQUILLE METTEZ: LIGNE 4:90,90,90,90,90,90 LIGNE 6:9999,90,0,02 LIGNE 10:500,0,2,0,2,5,2 POUR LEISURE SUIT LARRY UN TRUC AUQUEL JE NE CONNAIS PAS LE RESULTAT: APRES AVOIR DONNE SON AGE (18ANS ET +) TAPER LA TOUCHE % (POURCENTAGE),PUIS SELECTIONNER CANCEL APPUYEZ SUR LES TOUCHES OPTION ET X ET POUR TERMINER UN PETIT TRUC POUR TRICHER AVEC LES JEUX D'AVENTURE: -FORMATEZ UNE DISQUETTE DONNEZ LUI LE PREFIX DE VOTRE JEU -SAUVEZ VOTRE PARTIE SUR CETTE DISQUETTE DEPUIS LE TOUT DEBUT ,AVANT TOUTE CHOSE. -PRENEZ UN OBJET OU QUELQUE CHOSE QUE VOUS N'AVIEZ PAS AVANT, -SAUVEGARDEZ TOUJOURS SUR CETTE NOUVELLE DISQUETTE VOTRE PARTIE -COMPAREZ A ENSUITE LE CONTENU DES 2 FICHIERS, REPEREZ L'OCTECT CHANGE -ET TENTEZ D'ETABLIR LE RAPORT (DU STYLE 0 NE POSSEDE PAS OBJET;1 POSSEDE OBJET) -CHANGEZ UNPEU AU HASARD LES AUTRES OCTECTS PAR CELUI QUE VOUS AVEZ REPERE (VOUS ME SUIVEZ?) -CHARGEZ LE JEU REPRENEZ LA PARTIE DU FICHIER CHANGE _VOIR SI CHANGEMENT ET BONNE CHANCE... VOILA C'EST TOUT POUR AUJOURDHUI A DANS DEUX MOIS. (ET BENI SOIS-TU QUI M'ENVERRA DES ASTUCES&SOLUTIONS) NDLR: Dis, Monsieur le joueur fou, pourquoi cris-tu en majuscules ! A la fin de 1989, quelques remarques d'utilisateurs de GS Infos n'tant pas membres du club et un incident nous mettant en cause nous ont amens faire cette petite mise au point. GS Infos n'est pas du domaine public. Cette disquette contient des domaines publics, mais aussi des articles qui eux sont rservs aux membres du club. Une personne inconnue, au tlphone, laquelle je rpondais qu'elle n'tait pas membre, m'a rtorqu que nous avions mis dans chaque disquette un menu "Rserv aux non-membres". Bien sr, le but de notre association est de grandir et nous savons que nos disquettes circulent. Elles ne peuvent d'ailleurs circuler que par vous au point de dpart. J'aimerais que vous le fassiez de faon positive. Donner la disquette GS/Infos sans aucune explication pour celui qui la reoit est ngatif. Nous avons rencontr des auteurs de logiciels qui pensaient que GS Infos contenait seulement des documentations de programmes, nous avons vu circuler des versions modifies, on nous a accus de propager un virus, sur une disquette de donnes...!. La disquette est l'organe de liaison interne de l'association, elle est seulement le reflet d'une partie de nos activits et non une vitrine. Le club, c'est beaucoup plus que cela. C'est d'abord un groupe important et totalement indpendant pouvant dialoguer avec Apple France. C'est ensuite l'accs quasiment gratuit, puisque seul les frais d'envoi sont votre charge, des domaines publics de source sre. C'est la possibilit d'tre conseill gratuitement par des personnes comptentes. C'est la possibilit de ne plus tre isol grce l'annuaire. C'est la possibilit de rductions importantes auprs de certains commerants. C'est la volont de grossir encore nos rangs Payer une cotisation au GS Club, c'est payer pour soutenir, permettre et bnficier de tout cela. C'est pourquoi nous demandons maintenant aux non-membres d'effacer la disquette aprs en avoir pris connaissance et que nous vous demandons de ne la donner que dans le but d'obtenir une nouvelle adhsion. Un soi-disant auteur nous a tlphon un soir en nous accusant de diffuser son logiciel aprs l'avoir dplomb et modifi la page de prsentation. Un autre ou le mme a appel certains de nos membres pour leur tenir des propos similaires en se faisant passer pour un enquteur de l'Agence pour la Protection des Logiciels. L'agence contacte nous a assurs que cela n'tait pas de son fait.. Nos sources d'approvisionnement sont des Users Groups amricains, nos membres ou les auteurs eux-mmes, aprs avoir obtenu leur accord, comme Fontasm de Hadinger ou Boucing Blaster de JF Dou et JM Vallat. Si un auteur ne veut plus ce mode de diffusion , sa demande nous cesserons aussitt. Alors Auteur soi-disant spoli, envoie nous un courrier non anonyme, avec la copie incrimine que nous puissions tudier le problme de faon constructive. Il n'est pas exclu que quelqu'un se serve de notre nom des fins douteuses. Dans ce cas, il doit tre averti que notre association est assure contre ce genre de problme et peut se retourner contre lui. Le monde de l'Apple IIGS et fragile, tous les passionns de cette machine ont mieux faire que de nourrir des querelles et si nous voulons trouver des produits en France et les services affrents, il faut que les boutiques vendent... Le reste est une vidence: achetez les logiciels que vous utilisez et surtout, n'achetez jamais, mme bas prix, une contre-faon un revendeur sur liste de produits pirats, personnage mprisable qui mrite largement ce qui lui arrive parfois. Le Bureau du GS Club Art.Dernires Infos diverses Le Beau GS nouveau ------------------ 18 Octobre 1989, 18 heures, Avenue de l'Ocanie, les Ulis, vos serviteurs du GS-club sont reus chez Apple France par le Team Apple II au grand complet. Atmosphre de complot, nous nous enfermons dans une salle de runion, dernier regard vers la porte et Emile Schwarz nous extrait un GS de dessous la table, GS tout fait banal en apparence. Petit sourire entendu de Marc Ducamp qui nous ouvre la machine, tiens, le look de la carte mre ne nous est pas familier ? Bon sang, mais c'est bien sr ! (je connais mes classiques), il s'agit du nouveau GS dont tout le monde disait qu'il tait prsent l'Apple Expo !. Une heure plus tard, nous quittons les Ulis "La Machine" sous le bras !. C'est officiel maintenant, ce nouveau GS va tre commercialis en France trs prochainnement, nous pouvons donc vous parler de nos tests qui ne peuvent bien sr tre complets car il aurait t ncessaire de disposer de la machine plus longtemps. Au boot la machine affiche "TURBO 28" et "ROM 03" il s'agit donc d'un modle de prsrie, il est donc possible que certains dtails varient sur les machines commercialises. Regardons la carte mre, en haut gauche du slot n1 t place la pile qui n'est plus cette fois soude mais installe dans un support comme sur les tous derniers Macs. En dessous se trouve le VGC (Vido Graphic Controler) dont la rfrence n'a pas chang et qui, lui, t soud ce qui n'augure rien de bon en ce qui concerne un possible mode 640X400 ( moins que ?) Plus bas encore se trouve le Mega II, ses priphriques et les 128 kO de mmoire dite lente du mode Apple II. Sous les slots se trouvent l'IWM qui reste la mme et ne peut donc grer les nouveaux lecteurs 1600 kO, le Slot Maker et le SCC qui prside aux communications sries. Au centre les modifications sont plus marquantes: droite du 65816 se trouvent deux ROMs de 128 kO et 8 chips 511000 qui forment les 1 MO de mmoire rapide (le nouveau GS ne possde donc que 1,128 MO au lieu de 1,256 sur l'ancien quip de sa carte d'extension mmoire) Enfin nous constatons que le processeur du clavier est nouveau (le clavier aussi bien sr, au niveau lectronique s'entend), quelques composants ont chang autour de l'Ensoniq qui a conserv ses 64 kO de mmoire ddie. Mais regardons maintenant ce qui se passe la mise sous tension: Le boot se trouve rduit d'environ 7 8 secondes, ceci s'explique par le fait que nombre des outils se trouvent en ROM et n'ont pas tre chargs depuis la disquette; la machine tourne toujours 2,8 MHz et tous les programmes essays ne paraissent pas aller plus vite, en fait les amliorations apportes par une meilleure gestion de la mmoire et des outils en ROM ne sont pas particulirement significatives avec la plupart des softs qui n'exploitent pas des timings particuliers. Par contre de nouvelles fonctions se trouvent au tableau de bord: grand choix de vitesse de souris et surtout possibilit d'affecter les slots une carte externe sans interdire le fonctionnement du port interne (en association avec le GS-OS 5.0). La gestion des fentres l'cran semble aussi plus rapide, mais il est difficile dire de combien De nombreuses amliorations hard tout de mme: La sortie son prsente une rduction du souffle notable et la reproduction stro devient parfaite avec la carte STEREO V 2.0. La machine, soumise un ensemble de programmes de commutations de palettes vido fonctionnant par niveaux d'interruption successifs, a parfaitement pass le test y compris le lancement d'un programme Basic (sous Prodos 8) puis "quit" et retour au Finder sans perte de fonctionnement des programmes d'interruptions, ce qui est fatal la machine actuelle. Une partie trs intressante concerne le nouveau processeur ADB contrlant le clavier et qui permet les fonctions "Sticky Keys" et "ADB Mouse". Ces options, particulirement utiles aux personnes qui ne peuvent physiquement actionner qu'une seule touche la fois, permettent de raliser les combinaisons telles que "Pomme/Comtrol/Esc" en pressant les touches squentiellement au lieu de simultanment. La fonction "ADB Mouse" autorisant le dplacement du curseur l'cran en pressant les touches du pav numrique ainsi que la simulation du "clic" de la souris. Cette nouvelle partie du GS, laquelle il faut associer la ralisation par Apple d'une souris ADB commande par les mouvements de la tte, fait de l'Apple IIGS la machine la plus parfaitement adapte aux personnes handicapes par sa souplesse d'utilisation et la possibilit de lui adjoindre toutes sortes d'interfaces permettant l'accs de nombreuses facilits. Au chapitre des compatibilits, mon disque dur Apple SCSI est parfaitement reconnu mais pas acclr, la carte Apple-Tell fonctionne parfaitement ainsi que la Sonic-Blaster et la TransWarp, mon disque Vulcan n'tant arriv que quelques temps aprs que nous ayons rendu la machine, je ne peux que m'appuyer sur les affirmations de son constructeur concernant son fonctionnement. Par contre il y a problme avec ma GS-Ram Plus car le dcodage mmoire n'est plus le mme du fait du Mga de RAM interne, ceci n'est pas grave le simple changement d'un composant PAL sur la carte et tout rentre dans l'ordre; si vous tes possesseur d'un nouveau GS et si vous commandez une GS-Ram Plus, prcisez le pour que vous soit livr la bonne version de dcodage (et uniquement dans ce cas bien sr). Aucun "Upgrade" n'est prvu et c'est logique, cette machine n'est pas rellement nouvelle c'est une simple volution et rationnalisation de la fabrication ( moindre cot certainement). Il n'est donc pas ncessaire de sauter pieds joints sur votre ancienne carte mre, vous possdez plus de 90% des performances du nouveau GS. De toute faon les changes standards se feront encore longtemps l'aide des stocks d'anciennes cartes. Par contre si vous avez l'intention d'acheter une machine supplmentaire, essayez d'avoir la nouvelle !. Chez Epsilon, la journe Apple II du 18 Novembre: ------------------------------------------------- Impressionns par la description des nouvelles possibilits de notre cher GS, les gens d'Epsilon Informatique, qui nous consentent par ailleur 25% de remise sur le matriel Apple, ont voulu en savoir plus. Aussi nous ont-ils propos d'organiser une demi-journe entirement consacre l'Apple II. Le calendrier de fin d'anne tant trs charg, l'improvisation fut rapide et nous nous en excusons auprs de nos membres qui n'ont pu prvoir de se dplacer. Il est probable qu'Epsilon renouvelle l'exprience dans les prochains mois, vous en serez informs plus longtemps l'avance cette fois !. L'espace tant relativement rduit, nous avions prvu seulement 4 GS auxquels se sont ajouts les deux de notre insparable tandem: Marc Ducamp/Emile Schwarz, le Teem Apple II, qui nous a honor de sa prsence. Rez de chausse, la boutique, dbarrasse pour la circonstance de tous les Macs qui l'encombrent d'habitude, Thierry Mornet accueuille et remet aux visiteurs un petit dossier sur la Socit Epsilon; droite le Prsident du GS-club, Denis Melchior, plong dans une superbe dmo d'Hyperstudio version 2.0 (en exclusivit Franaise ce jour l !), gauche notre ami Bernard Tomeno est entour de tous les fanas d'AppleWorks 1.4 et 3.0 auxquels il distille sa science des macros TimeOut. Au fond enfin, votre serviteur (mzigue) prsentant un GS turbo quip TransWarp, GS-Ram Plus, Sonic-Blaster, carte Apple-Tell et disque dur interne Vulcan, le tout fonctionnant sous GS-OS 5.0 sous les yeux merveills des possesseurs de Macs qui trouvrent leur machine bien lente. Ce n'est pas tout, l'tage, Eric Leguay propose les rafraichissements et nous invite contempler les dmonstrations du protos de GS-OS 5.0 francis et des nouvelles possibilits de ce systme permettant de manipuler des "ressources" la manire du Mac, la manoeuvre: le Teem Apple II. Enfin, l'exceptionnel tant toujours gard pour la fin, le matriel de notre conseiller "Hard", M. Paul Lafonta, s'tale en une chane ininterrompue de disques durs, cartes exotiques, manettes diverses, imprimante couleur jet d'encre et sourtout lunettes spciales pilotes par le GS permettant de dcouvrir des images en relief et en couleur dans lesquelles il est possible de dplacer en profondeur un point lumineux l'aide d'une poigne de jeu. Le ralisateur de service, Thierry Renard, l'homme de "l'Hard" d'Epsilon qui est toujours prt rparer les petites misres de vos machines, immortalis sous forme de cassette vido cette journe qui aura surtout impressionn tous ceux qui pensaient que le GS tait mort ! Le GS-club au Tlthon ---------------------- La demi-journe Apple II organise par Epsilon n'a pas impressionn que les possesseurs de Macs, des responsables de l'AFM qui taient invits ont dcouvert ce jour l la machine parfaitement adapte leur problme. H oui, tout peut tre raccord un GS : Turbo Mouse, claviers spciaux, souris ADB commande par les mouvements de tte, etc ... Et en plus la machine fonctionne comme un Mac et c'est en couleur !!. Le mouvement tait lanc, l'AFM demande Apple France la prsence de GS sur les deux sites micro-informatique du Tlthon: le train qui traversera la France et le Hall de la Maison de la Radio. Grincements de dents chez Apple : -" Nous pouvons vous fournir des Macs SE ! " -" Oui, mais nos enfants veulent la couleur" -" Vous savez bien que l'on ne peut rien faire avec un GS !" -" Le GS fonctionne trs bien, mais si ne voulez pas en prter nous demanderons ATARI" -" Gllpp !!!!" Et c'est ainsi que trois GS se retrouvrent dans le train en compagnie de deux reprsentants de la Socit Epsilon et de notre incontournable Brjoux, trois autres GS trnrent sur le stand install la Maison de la Radio anim par Thierry Mornet ( d'Epsilon ) et votre serviteur. Exprience fantastique et inoubliable, pendant plus de 12 heures de jeunes enfants myopathes ont manipuls ces trois machines sans jamais les mettre en dfaut, les deux Macs IIcx, ct, ont plant 4 fois !, et je ne parle pas des Ataris et autres Amstrads qui se bornaient distiller des jeux en mode gros pavs couleur. J. Rey. Les News Franaises: ------------------- Upgrade ------- En plus d'Hyperstudio 2.0, nous pouvons obtenir depuis mi-Dcembre la version 1.1 d'AppleWorks GS entirement compatible et livre avec le systme GS-OS 5.0. Le temps de chargement des modules est rduit, la base de donne et le tableur contiennent de nouvelles fonctions de recherches et les temps de calcul ont t amliors, des corrections ont t apportes sur l'importation des graphiques, un fichier BDD est fourni pour crer des tiquettes au format 1 inch et un utilitaire pour transformer vos anciens fichiers BDD dont le format a lgrement chang. AppleWorks GS 1.1 rcupre les fichiers d'AppleWorks 3.0 et surtout son nouveau driver d'imprimante utilise celle-ci en mode bi-directionnel et nous offre la fois l'option "Color" mais aussi "Darker" comme dans celui de Multiscribe GS qui a fait notre bonheur pendant longtemps. L'upgrade ne coute que 75,00 F, la Socit Brjoux n'attend que vos trois disquettes originales (et votre chque !). J. Rey. Boutique Apple II prs de Paris ------------------------------- La boutique TOOLBOX est ouverte:6, rue Henri Barbusse 95100 ARGENTEUIL . Pour toute information, tlphonez au (1) 30 76 18 64. REVUE DE LA PRESSE AMERICAINE _____________________________ Pour ce troisime trimestre, Call Apple nous annonce qu'il devient trimestriel. Est-ce la fin en douceur? Pour ce numro,bien sr beaucoup plus de pages mais cela compense-t-il le mensuel? Donc dans CALL APPLE d'automne 89: - le systme 5.0: un article trs document avec en prime un programme de dmonstration fait par le Team Apple II amricain. - le message center du IIgs - le source du NDA Double pomme (nda 202) - programmation de la boite outils - le TML Pascal II - les compilateurs C de l'Apple II (test sur 5) - les modems: comment sont transfrs les fichiers - merlin 16/16+ et APW ou Orca/M - supergraphix 256 ( programme pour le graphisme en shr partir de l'Applesoft - XCMDs (commande externe pour Hyperstudio) - rubrique basic habituelle (TML basic) - le nouveau Basic System du 5.0 - les virus ( source de Vaccine) - une application desktop ( menu et boucle d'vnements) - les fichiers Exec avec orca/apw - les rubriques habituelles mais dernire pour le catalogue TechAlliance ------------------ APPLE IIgs Buyer's guide - un exemple de mise en page avec Appleworks GS - comparaison d'Appleworks GS, GraphicWriter, Medley, PublishIt, Springboard Publisher en ce qui concerne la sortie sur imprimante - le IIgs et la tlmatique - les diteurs de fontes ( fontdoctor, Gs fonteditor, font factory GS) mais bien videmment par un mot sur Fontasm pourtant bien suprieur.... - le GS et la vido - Hyperstudio - logiciels ducatifs: grizzly bear- easy street-explore a classic-math blaster mystery-world geograph - les jeux :tomahawk-silpheed-AAARGH-machII joystick - logiciels: animal tracker-great western shootout-jack and the beanstalk- the New talking stickybear alphabet-where in the world is carmen san diego?- - Multicache ( acclrateur de lecteur???) - Disque dur Vulcan ---------------- NIBBLE octobre - test de Test drive II, de Crystal Quest et de Xenocide. - Widgets, un jeu de simulation de chef d'entreprise en Basic. - les modems ( il semble que les amricains dcouvrent la tlmatique...) - stocker des donnes ( en basic) - les sous programmes en basic (deuxime partie) - les formes et leur animation (assembleur) - petit programme en assembleur pour lire un caractre dans un texte - afficher une image au boot - inverser l'cran HR - appleworks: faire une base de donnes pour le cinma ------------------- NIBBLE novembre - l'assembleur de Nibble - les bases du stockage des donnes ( en basic) - logiciels: revolution 76, jack Nicklaus' greatest 18 holes of major championship Golf, sporting nex baseball, laserforce, great western shootout, john elway's quarterback, windwalker, omega, space rogue - trinium ( un jeu un peu comme othello (basic) - les sous-programmes en basic ( troisime partie) - recherche linaire ( for next) et binaire ( en basic) - visisort (nouvelle mouture d'un programme de tri) - un programme pour lire les fichiers ascii (assembleur) Yannick Gobin . Le disque interne VULCAN: A peine le nouveau GS avait-il rejoint les Ulis que le facteur m'apporte un colis, provenance: Brjoux SARL, Waoooouu !!! J'extrais de cet emballage douillet une longue bote noire et une carte lectronique. L'installation est trs simple, le manuel tant suffisamment explicite. Des interrupteurs sur la carte permettent de configurer celle-ci de telle faon que le disque peut-tre reconnu comme tant en slot 7 alors que son interface est place en slot 3, 4 ou 5 par exemple ceci sans gner la fonction primitive du slot en question. Cette manip est particulirement rserve ceux qui possdent une Ramkeeper qui interdit l'utilisation du port 7. C'est prt, contact ! 20 secondes aprs me voil sur le desktop du Finder (et j'ai tout de mme charg 770 kO de systme et accessoires divers !), en fait c'est la vitesse d'accs l'information qui tonne ds les premiers temps d'utilisation. Etant curieux, j'ai voulu vrifier et pour cela "Prosel 16" possde un outil nomm "repair volume" qui a une option de test de lecture pour disque dur. Il faut bien sr lancer Prosel partir du Finder pour que le Driver du Vulcan soit actif (c'est lui qui est responsable de la vitesse), les rsultats sont probants: Disque Vulcan Disque Apple SCSI lecture linaire 4,75 ms 9,80 ms lecture alatoire 20,00 ms 46,50 ms Le disque fonctionne parfaitement sous GS-OS 5.0, il a t divis en deux partitions de 20 MO (le systme d'exploitation des Apple II ne supporte pas de volumes suprieurs 32 MO). Pour cela utiliser le programme fournit que l'on peut lancer depuis le Finder, vous pouvez diviser votre disque en 16 partitions qui peuvent tre indiffremment en Prodos, DOS 3.3, CP/M ou Pascal, je n'utilise personnellement que GS-OS et je n'ai pas test le disque sous d'autres systmes. Un accessoire de bureau classique permet tout moment de parquer les ttes avant transport, de fixer la partition de boot (on peut fonctionner alternativement avec GS-OS 4.0 et 5.0 par exemple) et de verrouiller les partitions en criture ce qui est trs utile lors de l'utilisation de disquettes de provenance douteuse. Le boitier du Vulcan est un peu plus gros que celui de l'alimentation originale du GS mais l'utilisation du slot 1 reste possible, par prcaution j'ai coll deux bandes de mousse de 2 mm d'paisseur sur le ct du boitier pour viter tout contact intempestif d'une carte lors d'une manipulation (attention, ne pas boucher les trous de ventilation !). Le Vulcan n'est pas totalement silencieux mais, c'est une impression personnelle, je le trouve plus supportable que le 20SC d'Apple. Sur le plan fiabilit on peut faire confiance au disque de marque Western Digital qui est bien connu du monde micro-informatique, la carte interface est d'excellente facture (comme toujours avec Applied Engineering) et comporte une mmoire cache qui acclre les processus de lecture (Brjoux annonce de nouvelles amliorations de vitesse dans le courant de l'anne), quelques ennuis d'alimentation ont t signals - nos amis amricains n'avaient certainement pas bien compris que notre secteur est en 220 V - mais le problme est cern et ne devrait plus se reproduire. Ce n'est pas un disque SCSI ce qui peut rebuter certains. Bien sr il ne sera pas rutilisable si vous achetez un Mac et c'est prendre en compte avant l'achat, pour ce qui est de la compatibilit avec les futurs OS je gage qu'Applied fera toujours le ncessaire. Pour celui qui souhaite un GS compact et sans filerie envahissante le Vulcan est une des solutions J. Rey Voici pour les passionns d'informatique musicale, quelques infos et adresses utiles que j'ai pu collecter par ci, par l : Art.infomusic: Tout d'abord, une petite merveille que le clarinettiste que je suis rverait de trouver dans ses chaussettes un certain 25 dcembre prochain : Midimic. C'est une petite boite compose d'un microphone, d'un convertisseur de signaux audio en signaux MIDI et de prises MIDI. Il se branche sur la prise MIDI IN de n'importe quel synth ou micro-ordinateur. En d'autres termes, vous branchez votre interface Midimic sur votre interface Midi Apple, puis votre interface Midi Apple sur votre AppleIIGS, puis vous vous saisissez de votre instrument prfr pour jouer le solo du sicle, enregistr avec votre logiciel squenceur favori. Ensuite vous pouvez rcouter votre morceau avec le son de votre choix (piano, saxo...). Tout l'avantage d'un synth avec en prime l'exprssivit inimitable de votre saxo ou de votre clarinette (trmolo, vibrato, poil au dos). Le rve quoi. Mme les chanteurs peuvent s'en servir. Vous pouvez galement enregistrer un solo de votre musicien prfr pour le rcouter ensuite sur votre AppleIIGS. En bref, pour moins de 2000 F vous transformez votre instrument favori, voire mme votre voix, en instrument Midi. A cela il faut ajouter le prix de l'interface Midi Apple (environ 1000 F) et d'un logiciel squenceur. Quand on voit le prix des instruments vent lectroniques Midi, qui de plus ne respectent pas rellement le cltage traditionnel des instruments (saxo, clarinette, flute...) qu'ils sont censs imiter, il y a de quoi vous mettre l'eau la bouche. Vous vous retrouvez avec un Home Studio pour un prix somme toute raisonnable. Midimic est monophonique ce qui veut dire qu'il s'adresse en priorit des instruments monophoniques du type instrument vent et qu'il ne peut "capter" plusieurs instruments en mme temps : il n'est donc pas destin la scne par exemple. Seul problme, Midimic aura du mal faire la diffrence entre votre solo du sicle et les aboiements du chien du voisin. Autre problme : j'ai vu cette merveille fonctionner sur micro-ordinateur Atari mais j'ignore si elle fonctionne correctement sur Apple IIGS, le Midi rservant parfois des surprises au niveau de la compatibilit, tant matrielle que logicielle. Aussi, si des membres du GS.CLUB ont dj tent l'exprience, j'aimerais qu'ils me fassent part de leurs impressions. J'allais oublier, ce bijou est une invention franaise de la socit DIGIGRAM (spcialise dans les logiciels musicaux pour Atari) et diffuse en France par COMUS France, filiale de Bontempi, dont voici l'adresse : COMUS France, 67 Boulevard J.-B. OUDRY, 94035 CRETEIL CEDEX. A propos de logiciels musicaux, il serait temps de faire le mnage dans la logithque musicale du II GS. Malgr les qualits sonores du GS, on trouve encore peu de logiciels musicaux de qualit sur cette machine. Music Studio, qui cote plus de 900 F et est un logiciel de composition musicale utilisant la souris et permettant de composer sur deux portes, est une arnaque. Il permet d'utiliser 15 sons simultanment mais certains de ces sons sont pleurer de honte (l'Atari 520 ST fait mieux) et mes 950 F me sont rests en travers de la gorge. Ce ne serait pas un mauvais logiciel s'il ne tirait pas si mal parti des possibilit{s sonores de la machine, et si son interface utilisateur ne laissait pas tant dsirer. De plus, l'implmentation MIDI permettant d'couter les compositions sur un synth externe de type CASIO est grotesque. Le GS n'a-t-il pas dj un Ensoniq sous le capot ? Il eut t plus judicieux de soigner les sons du programme. Pour un prix plus raisonnable (environ 450 F chez Brjoux) et une qualit suprieure, le logiciel Music Construction Set est un bon soft. Il ne permet d'utiliser que 2 sons simultanment (un son par porte), mais quels sons ! Les qualits sonores du GS sont ici mises en valeur de belle faon. Quoique le produit fonctionne sous PRODOS8, alors que MusicStudio est sous PRODOS16, l'interface utilisateur est bien respecte et le produit est agrable utiliser. Moyennant quelques amnagements, il serait vraiment pro. La composition musicale assiste par ordinateur est mon avis une bonne faon de s'initier la composition en gnral. Mais le travail avec la souris devient assez vite fastidieux. De plus, aucun de ces 2 logiciels ne permet de slectionner une imprimante autre que l'Imagewriter et ils ne reconnaissent pas ma bonne vieille DMP ce qui fait que je ne peux vous dire lequel des deux fait les plus belles impressions. L'idal serait un logiciel de composition musicale permettant de rcuprer des fichiers de musique enregistrs sur logiciel squenceur pour les mettre en forme sur partition, et permettant de tirer des impressions de qualit pour d'ventuels dpts la SACEM (225 avenue Charles de Gaulle, 92200 NEUILLY, pour ceux que a intresse). On en trouve sur Mac ( des prix exorbitants), sur Atari ( des prix intressants), alors quand sur GS ? A propos de logiciel squenceur, avez-vous vu la dmo de Diversi Tune (disponible au catalogue du GS.CLUB) ? Superbe, isn't it ? Voil un soft un prix raisonnable (moins de 500 F chez Brjoux) qui mrite de figurer en bonne place dans toute logithque. C'est un squenceur 16 ou 32 pistes qui ncessite l'utilisation d'une interface MIDI et d'un instrument lectronique (synth, orgue, piano, Midimic..) et permet de s'enregistrer. Pour ceux qui ne le sauraient pas, tous les tubes entendus actuellement au TOP 50 sont faits avec des logiciels de ce type. Malheureusement comme les musiciens de varit sont nuls pour 80 % d'entre eux, on entend toujours les mmes rythmes prprogramms et les mmes sons d'usine minables. La House Music en est un exemple flagrant. Un bon soft ne transformera jamais un mauvais musicien en un bon, quoique puissent prtendre certaines publicits tape l'oeil. Comme mon compte en banque n'est pas extensible, je n'ai pas vu ce dont est capable Instant Synthesizer, logiciel disponible galement chez Brjoux. Dans la deuxime dition du guide AppleII que j'ai reu rcemment, merci et bravo Apple France, j'ai dcouvert que les logiciels squenceur Master Tracks et Master Tracks Pro sont maintenant ports sur Apple IIGS et disponibles chez Numra (11 rue Primatice, 75013 PARIS). Je ne sais pas quel prix. Tant que j'y pense, il serait peut tre bon de rappeler ce qu'est l'interface MIDI et ce qu'est un squenceur. Le MIDI, vous en avez tous entendu parler ne serait-ce qu'en manipulant votre GS.OS et en farfouillant dans les sous-rpertoires SYSTEM. Dans le sous-rpertoire DRIVERS vous avez pu voir un Driver APPLE.MIDI. Dans votre sous-rpertoire TOOLS, vous avez un TOOL.32 qui est un outil de programmation pour le MIDI. Le soft PolySons de notre clbre BABAR Saint Cyrien (excellent programme, je le dis au passage, disponible au catalogue du GS.CLUB) utilise entre autres ce driver et ce tool. Le driver Midi permet aux logiciels en mode natif d'utiliser une interface MIDI Apple relie l'un des deux ports srie du GS. Le MIDI est le seul standard de l'informatique musicale avoir russi s'imposer aux industriels de ce secteur. Il permet, par un jeu de prises (IN, OUT et THRU) de relier entre eux des synths de marques diffrentes. Vous pouvez par exemple utiliser deux claviers, l'un dont vous prfrez le toucher et sur lequel vous jouez, tandis que ce sont les sons de l'autre synth que vous entendez. Atari et Yamaha ont t les premiers quiper leurs micro-ordinateurs de prises MIDI en standard. C'est l'une des raisons du succs de l'Atari 520 ST, en plus de son prix modique, auprs des musiciens amateurs et professionnels. Lorsque vous jouez sur votre clavier reli votre micro-ordinateur quip d'un logiciel squenceur, ce ne sont pas des sons qui transitent par le cordon MIDI et sont stocks dans les mmoires du micro, mais des paramtres MIDI hexadcimaux correspondant aux notes que vous jouez. Lorsque vous enfoncez une touche de votre clavier musical, le clavier envoie, via le cordon MIDI, une suite de codes correspondant la hauteur de la note, sa dure, et ventuellement la force de pression que vous avez exerce sur la touche, ce qui donne plus d'expressivit au son. Le squenceur enregistre sur l'une de ses "pistes" tous les paramtres MIDI que vous lui envoyez, sans le savoir, en jouant sur votre clavier. Vous pouvez changer de piste d'enregistrement (par exemple prendre la 3) et, tout en coutant la piste n1 (qui peut tre le chant) enregistrer l'accompagnement, puis sur une autre piste des lignes de percussion, avant d'effectuer quelques arrangements, de rejouer quelques squences ou de changer quelques sons qui vous dplaisent. Une fois que vous tes content de votre oeuvre, vous n'avez plus qu' emmener votre maquette-disquette dans un studio d'enregistrement pour faire rejouer votre morceau par le micro du studio ( condition que ce soit le mme que le vtre bien sr) et le faire mixer et enregistrer. Il en rsulte une conomie substantielle pour le musicien quand on sait ce que cote une journe d'enregistrement dans un studio professionnel. Bien sr j'ai un peu simplifi, mais comme je l'ai dit plus haut, un grand nombre de tubes se font aujourd'hui sur ce principe. Si vous allez voir Jeanne Mas en concert, vous n'entendrez pas de diffrence avec ses disques. C'est simplement parceque, derrire la scne, trois Macintoshs avec un squenceur en mmoire pilotent tous les synths qui sont sur scne. Il ne reste plus beaucoup de place ses musiciens pour l'improvisation. Remarquez que je ne lui jette pas la pierre, elle n'est pas la seule le faire. Seuls quelques "grands" comme Vangelis, Sting, etc... se payent encore le luxe de ne pas avoir de squenceur sur scne. Mais me direz-vous, quel est l'avantage du squenceur, les magntophones multi-pistes savaient faire la mme chose aussi bien. Eh bien non justement. Si le multi-piste reste toujours indispensable pour enregistrer les instruments acoustiques et la voix, il a contre lui un prix souvent lev et les problmes de bruit de fond et de souffle inhrents toutes bandes magntiques, mme de trs bonne qualit (chrome ou bioxyde de chrome) et avec un rducteur de souffle de type Dolby ou DBX. Sur un squenceur on peut mixer deux pistes et les recopier sur une troisime sans y ajouter de bruit de fond, recopier une piste sur une autre, manipuler des squences de notes, faire "jouer" une mme piste par plusieurs sons d'instruments simultanment, ralentir ou acclrer le tempo sans altrer la hauteur des notes ni la qualit du son, ce qui est impossible sur un magntophone normal : lorsque vous acclrez la vitesse de votre magnto ou de votre tourne-disques, le son devient plus aigu, c'est un problme purement mcanique qu'on ne connait pas sur squenceur. Si vous ne me croyez pas, essayez donc la dmo de Diversi Tune. Dans un autre registre, et pour ceux que la musique synthtique passionne, voici un nom ne pas oublier : CRYSTAL LAKE. C'est une association qui a un catalogue important de 33 tours, K7 et CD de musique exprimentale et lectronique introuvables dans le commerce. Vous pouvez demander leur catalogue l'adresse suivante : CRYSTAL LAKE, B.P. 177, 75224 PARIS Cedex 05. Les prix des albums sont trs raisonnables et ne dpassent pas 70 F en moyenne. Vous pouvez aussi, moyennant un abonnement au journal de l'association, devenir membre de l'association et bnficier de tarifs prfrentiels sur les albums. Je vous conseille d'essayer les titres suivants pour commencer : - House of sleeping beauties, de Lucia Hwong (trs beau, Lucia aussi, d'ailleurs), Ryuchi Sakamoto qui a compos entre autres la musique du film FURYO a particip la ralisation de cet album. - Secret Luminescense, toujours de Lucia Hwong. - Empetus, de Steve Roach. - The Big Picture, de Michael Shrive et David Beal : tonnant album ralis entirement partir de percussions lectroniques MIDI relies une arme de synths. Essayez aussi Steve Roach, Michael Stearns, Klaus Schulze, etc... Bien sr il est difficile d'acheter des albums de musique par correspondance, d'autant qu'on peut tre du, mais les gars de Crystal Lake peuvent vous conseiller et vous aider dterminer vos gots et vos centres d'intrt. Les enregistrements sont de qualit, les labels prestigieux quoique inconnus du grand public.. on est l bien loin des sentiers battus du TOP 50 et des mlodies prfabriques. On appelle a de la musique exprimentale, ou planante, voire mme "new age". Ce sont quand mme des musiques "difficiles" pour les oreilles profanes. Il faut aimer. Pour ceux qui voudraient s'informer sur les recherches en cours en matire d'informatique musicale, je leur conseille de s'adresser aux Editions du Centre Pompidou (75191 PARIS Cedex 04), qui ditent un certain nombre de brochures de l'IRCAM (Institut de Recherche et de Coordination Acoustique/ Musique) trs intressantes et pas chres du tout. Jugez plutt : Le compositeur et l'ordinateur, 112 pages, 23 F, La composition assiste par ordinateur, 25 F, Sons multiphoniques aux instruments @ vent, 20 F, Archivage numrique des sons, 15 F, The computer as a sound processor, 15 F, Computer aided model of stereophonic Systems, 15 F, etc... (tarifs frais de port non inclus) L'IRCAM est rput mondialement pour ses recherches et la qualit de ses ralisations. Ces brochures s'adressent tous mais intressent quand mme surtout les dveloppeurs. Enfin, pour ceux qui voudraient en savoir plus sur le MIDI et l'informatique musicale, voici une liste non exhaustive de livres consacrs ce sujet : - Le Mini Studio, thorie et pratique, de Denis Fortier, Editions Frquences (ce bouquin est passionnant), - Les synthtiseurs, une nouvelle lutherie, de Claudre Gendre, Editions Frquences (bien fait et la porte de tous), - L'indispensable pour la musique assiste par ordinateur, Editions Marabout (on ne prsente plus cet diteur), - Le Systme MIDI, de Jean-Jacques Quinet, Les Dossiers de l'ACME. (trs bon bouquin). L'ACME est l'Atelier Cratif de Musique Electro- Acoustique de Bruxelles (ACME, 99 avenue du Cor de Chasse, B-1170 Bruxelles, BELGIQUE). L'ACME est une association but non lucratif. Elle offre entre autres avantages ses membres la possibilit de commander les documentations techniques qui les intressent, comme par exemple la doc technique du Mirage, synth de la gamme Ensoniq, qui contient le mme processeur sonore que le GS, et ce au prix de la photocopie. C'est un peu le DDA des musiciens, et ces docs peuvent rendre de grands services aux d veloppeurs de softs musicaux. Ca va de la doc technique du Fairlight CMI (de Jean-Michel JARRE et de Peter GABRIEL notamment) l'EPS d'Ensoniq en passant par les synths ARP, Oberheim, Yamaha, les magntos FOSTEX, etc... Je conseille l'Ensoniq Sampling Guide (guide de l'chantillonage pour Ensoniq) qui peut rendre de prcieux services aux "preneurs de sons" sur GS. JARRIGE Grgory. J%RS232?z<- J)ART.TML.32)<- JART.TML.3.EXG<- J'ART.ASSI:Gp<- J)CATALOGUE:p<-; J,ART.LES.PLUS<-.J'ART.SPY "<-& J.ART.GS.INFOS.7R<-JART.JEUX<-:JART.EDITORIAL<-+ J,ART.PALETTES<-( J LIAISONS SERIE ASYNCHRONE Art.RS232 1.0 ORIGINE ELECTROMAGNETIQUE Pour mieux comprendre la liaison srie asynchrone, il faut se rfrer son origine : la tlgraphie lectromagntique. Ce mode de liaison se fait en srie, impulsion aprs impulsion (bit aprs bit), et en mode asynchrone, c'est dire qu'un nouveau caractre compos de plusieurs bits successifs peut tre mis tout moment. Considrons un systme lectromagntique reprsentant un metteur et un rcepteur de tlgraphe du type "sta  !"#$%&'()*+,-./0rt-stop" Sur l'metteur, la frappe d'un caractre ferme certains des contacts 1 5 en fonction d'un code et aussi le contact "start" qui, lui, sera toujours ferm quel que soit le caractre frapp. Le contact start, en se fermant, commande un embrayage qui met en route un moteur vitesse constante entrainant un bras mobile en sens anti-horaire. Ce bras enverra successivement sur la ligne de transmission des impulsions correspondant d'abord au niveau bas (zro) en passant sur start, puis une combinaison d'impulsions rpondant la combinaison des bits du code du caractre frapp en passant sur les contacts 1 5 de la piste, puis un niveau haut au retour sur stop o le bras s'arrtera. Sur le rcepteur, on trouve un dispositif similaire o les contacts 1 5 sont remplacs par des bobines d'lectro-aimants. Au repos le courant passant excite le relais D. L'metteur passant sur "start" interrompt le courant dans la ligne, le relais D bascule, et excite l'embrayage du moteur du rcepteur qui tournera vitesse constante et gale celle du moteur de l'metteur. Le bras mobile du rcepteur, en tournant, "chantillonnera" les impulsions mises et excitera ou non les relais correspondant 1 5. Le 6me contact (F) dtecte le retour au "stop" de l'metteur et commande alors la frappe du caractre correspondant la combinaison des lectro-aimants. Au repos un courant parcours la ligne. L'tat "1" (courant) est appel marque (mark) L'tat "0" (pas de courant) est appel espace (space) Il est vident que pour que la transmission se passe dans de bonnes conditions, il soit ncessaire que les moteurs de l'metteur et du rcepteur tournent une vitesse strictement identique. 2.0 TRANSPOSITION ELECTRONIQUE L'lectronique a repris les mmes principes que l'lectromcanique. En restant en logique positive, la ligne de transmission supporte le niveau haut "1" au repos. C'est l'tat d'attente. Une coupure pendant un temps unitaire correspond l'indication de l'envoi d'un caractre: c'est le bit de "start". Les bits suivants (5 8 suivant le code utilis) donnent la codification du caractre. Il peut y avoir un bit supplmentaire qui est le bit de parit Puis un, un et demi ou deux bits de "stop" aprs quoi la ligne reste haute dans l'attente d'un nouveau cycle pour le caractre suivant. La transmission est donc asynchrone, mais la srie des bits doit respecter des temps prcis et rigoureusement calibrs. Chaque bit se voit imparti un temps donn, sur lequel le rcepteur est synchronis, faute de quoi la rception ne pourrait avoir lieu. C'est le front descendant du bit de start qui dclenche, la rception, l'horloge de lecture. 3.0 LES CODES CODE BAUDOT Le premier code longueur constante, sur 5 bits, a t imagin en 1874 par Emile BAUDOT et porte son nom. Ce code ne permet que 32 combimaisons (5 bits) et est pratiquement abandonn. CODE TELEX CCITT N2 Le telex utilise un code cinq bits, normalis sous le nom de CCITT n2, CCITT tant les initiales du Comit Consultatif International des Tlphones et Tlgraphes. L'artifice pour tendre les possibilits de codage consiste dans l'utilisation des combinaisons "11111" et '11011" qui prcisent respectivement si les caractres qui suivent sont des lettres ou des chiffres et des symboles. Caractres Numro Code international n2 Lettres "Figures" du 5 tats symbole (utilis par le Tlex) ------------------------------------------------------------ -------- A - 1 ZZAAA B ? 2 ZAAZZ C : 3 AZZZA D Qui etes-vous 4 ZAAZA E 3 5 ZAAAA F * 6 ZAZZA G * 7 AZAZZ H * 8 AAZAZ I 8 9 AZZAA J Sonnette 10 ZZAZA K ( 11 ZZZZA L ) 12 AZAAZ M . 13 AAZZZ N , 14 AAZZA O 9 15 AAAZZ P 0 16 AZZAZ Q 1 17 ZZZAZ R 4 18 AZAZA S ' 19 ZAZAA T 5 20 AAAAZ U 7 21 ZZZAA V = 22 AZZZZ W 2 23 ZZAAZ X / 24 ZAZZZ Y 6 25 ZAZAZ Z + 26 ZAAAZ Retour Chariot 27 AAAZA Autre ligne 28 AZAAA Lettres 29 ZZZZZ Figures 30 ZZAZZ Espace 31 AAZAA Rptition 32 AAAAA (*) Rserv pour affectation nationales. Condition A Z Bits 0 1 Code start-stop Espace(start) Marque(stop) Perforations Pas de trou Trou prsent Tension unique Pas de tension Tension Double tension +V -V Modulation amplitude Non modul Modul Modulation frquence Frquence haute Frquence basse Modulation phase & ref. Opposition phase En phase Modulation phase diff. Inversion Pas d'inversion CODE ASCII Les codes se sont multiplis, surtout vers les annes 60. L'un des plus utiliss est, actuellement, le code ASCII, abrviation de American Standard Code for Information Interchange, dfini par l'American National Standard Institution ou ANSI. C'est un code 7 bits. Le plus souvent, on utilise ce code en lui ajoutant un huitime bit, de parit ou d'imparit ou toujours "0". C'est pourquoi on dit parfois qu'il s'agit d'un code huit bits. Dfinition des caractres de contrle ASCII NUL Null Absence de caractre SOH Start Of Heading Dbut d'en-tte STX Start Of Text Dbut du texte (Fin d'en-tte) ETX End Of Text Fin du texte EOT End Of Transmission Fin de transmission ENQ Enquiry Demande. Peut servir pour demander au destinataire de s'identifier. ACK Acknowledge Accus de rception positif BEL Bell Sonnerie BS Backspace Retour en arrire de un caractre HT Horizontal Tabulation Tabulation horizontale LF Line Feed A la ligne suivante VT Vertical Tabulation Tabulation verticale FF Form Feed A la page suivante CR Carriage Return Retour chariot SO Shift Out Hors code. Les caractres suivants sont hors du code standard SI Shift In En code. Retour aux caractres standard DLE Data Link Escape Change la signification d'un ou plusieurs caractres suivants. DC1 Device Control(XON) Commandes de terminaux DC2 ou priphriques. DC3 (XOFF) DC4 NAK Negative Acknowledge Rponse ngative SYN Synchronous Idle Caractre de synchronisation. Lorsqu'aucun caractre n'est transmis, peut tre mis continuellement. ETB End Transmission Block Fin de transmission d'un bloc de donnes CAN Cancel Annulation donne prcdente EM End of Medium Fin physique d'un support de donnes: carte, bande, disque ou autre. SUB Substitute Remplacement ESC Escape Echappement des codes. Extension des possibilits de codage. FS File Separator Sparateur de fichier GS Group Separator Sparateur de groupe RS Record Separator Sparateur d'enregistrement US Unit Separateur Sparateur d'unit Caractres de sparation utilisation optionnelle, mais hirarchique, de FS le plus gnral US. SP Space Espace ou blanc. DEL Delete Suppression CODE EBCDIC Le code EBCDIC est un code sur 8 bits, principalement utilis par IBM et BULL. Les 256 possibilits de codage ne sont pas toutes utilises et, de ce fait, c'est un code discontinu. BITS PAR SECONDE ET BAUDS Il ne faut pas confondre bits par seconde et bauds, car ces deux units de mesure de dbit de transmission d'informations numriques ne sont pas synonymes bien que dans la plupart des cas elles soient quivalentes. BAUD Indique le nombre d'tats discrets ou de niveaux transmissibles en une seconde. Le dbit en bauds, est l'inverse de la dure (en secondes) du plus court signal transmis. Si cette dure est de 20ms, soit 0.02s, le dbit sera: 1/0.02= 50 bauds (dbit caractristique du tlex) BITS/S Indique le nombre de bits transmis pendant l'unit de temps, c'est dire le nombre de niveaux 0 ou 1 car il n'y en a alors que deux possibles. En transmission classique sur deux niveaux en binaire, 1 bit par seconde est quivalent 1 baud. Examinons le cas d'une transmission par groupe de deux bits, appels DIBITS. Il faudra 4 niveaux de tension pour coder les 4 combinaisons possibles. Niveau 3 -->11 ____ 3 volts Niveau 2 -->10 ____! 2 volts Niveau 1 -->01 ___! 1 volt Niveau 0 -->00 ____! 0 volt Si en une seconde on transmet deux niveaux,par exemple 0 puis 2 volts, on aura transmis 4 bits. La vitesse sera alors 4 bits par seconde mais 2 bauds. Supposons une transmission srie asynchrone travaillant avec des caractres ASCII cods sur 10 bits et la vitesse de 1200 bits/s. Chaque bit occupe alors 833 microsecondes, et un caractre 8.33ms. Le nombre de baud est de: 1/0.000833= 1200 bauds. Dans ce cas de transmission classique, le nombre de bauds est gal au nombre de bits par seconde. Si nous transmettons ce mme caractre ASCII avec des DIBITS et toujours la mme cadence soit 1200 par secondes soit toujours 1200 bauds, chaque caractre n'occupera plus que 4.165ms. On transmettra deux fois plus dans le mme temps soit 2400bits/s. Dans ce cas nous avons toujours 1200 bauds mais 2400 bits/s. Des configurations autres que les dibits existent On ne peut donc confondre bauds et bits par seconde que lorsque la liaison est assure en binaire sur deux niveaux. EIA RS232C ou CCITT avis V.24 Plusieurs organismes ont tent de normaliser les conditions d'interconnexion entre les ordinateurs et leurs priphriques ; c'est ce qu'on appelle l'interfaage. L'EIA (Electrical Industry Association) amricaine a, en coopration avec les Bell Laboratories, mis les 'recommandations' RS232, alors que le CCITT (Comit Consultatif International Tlgraphique et Tlphonique) publiait l''avis' V.24, trs proche. RS232 et V.24 n'tant que des recommandations ou avis et non pas des normes, il faut s'attendre quelques problmes avec certains constructeurs peu scrupuleux qui appellent RS232 ou V.24 ce que le technicien appellerait entre/sortie srie ou qui utilisent certains signaux en dehors de leurs dfinitions. En effet, en matire de connexion, il ne suffit pas que les bons fils soient relis aux bonnes broches pour que la communication s'tablisse, il faut encore que les signaux soient du niveau correct, que la logique - c'est dire l'ordre des signaux - soit respecte et que le protocole logiciel soit suivi et commun aux interlocuteurs CARACTERISTIQUES Transmission sur 1 fil par rapport la masse Rception ... . ... ... ....... . .. ..... Longueur maximum du cble : 17 mtres Dbit maximum : 20000 bauds Tension maximum de sortie en circuit ouvert : +25V ou -25V Tension minimum de sortie en charge : +-5V Rsistance minimum sortie : 300 ohms Courant maximum de c/c : 500 mA Seuils maxima du rcepteur : -3V et +3V Tension maximum l'entre : -25V +25V Niveau des signaux: MARK (off) tat logique 1 : de -3V -25V SPACE (on) tat logique 0 : de +3V +25V -La majorit des constructeurs limitent ces tensions +12V et -12V Connecteur normalis 25 broches type "SUB-D" Deux types de connecteurs existent (hors connecteurs prolongateurs): Femelle Le plus utilis, indique une configuration DCE Data Communication Equipment Male En principe, utilis uniquement pour les quipement qui n'mettent pas. Indique une configuration DTE. Data Terminal Equipment AFFECTATION DES BROCHES DU CONNECTEUR FEMELLE Broche Nom Sens Fonction EIA CCITT 1 FG <--> Protective Ground AA 101 2 TD --> Transmitted Data BA 103 3 RD <-- Received Data BB 104 4 RTS --> Request To Send CA 105 5 CTS <-- Clear To Send CB 106 6 DSR <-- Data Set Ready CC 107 7 SG <--> Signal Ground AB 102 8 DCD --> Data Carrier Detect CF 109 12 SDCD --> Secondary DCD SCF 122 13 SCTS <-- Secondary CTS SCB 121 14 STD --> Secondary TD SBA 118 15 TSET --> Trans. Sig. Ele. Tim. DB 114 16 SRD <-- Secondary RD SBB 119 17 RSET <-- Recei. Sig. Ele. Tim DD 115 19 SRTS --> Secondary RTS SCA 120 20 DTR --> Data Terminal Ready CD 108.2 21 SQD <-- Signal Quality Detect CG 110 22 RI <-- Ring Indicator CE 125 23 DSRS <--> Data Sig. Rate Select CH/CI 111/112 24 TSET <-- Trans. Sig. Ele. Tim. DA 113 Tous les signaux de dialogue sont actifs au niveau bas (SPACE = +12V) DESCRIPTION DES CIRCUITS Circuit AA - Protective Ground (CCITT 101) Ce circuit doit tre reli lectriquement au chassis des quipements. Il peut tre connect une terre externe si ncessaire. Circuit AB - Signal Ground ou Common Return (CCITT 102) Ce circuit tabli le commun de rfrence de potentiel pour tous les circuits sauf AA. Il est possible de connecter ce point au circuit AA (Protective Ground). Circuit BA - Transmitted Data (TD) (CCITT 103) Vers le DCE Les signaux sur ce circuit sont gnrs par le DTE Le DTE doit verrouiller le circuit BA (TD) dans la condition "mark" pendant les intervals entre caractres ou entre mots et tout le temps de non mission. Dans tous systmes, le DTE ne doit pas transmettre sans qu'une condition "ON" soit prsente sur tous les circuits suivants s'ils sont implments: CA (Request to SEND) CB (Clear to Send) CC (Data Set Ready) CD (Data Terminal Ready) Circuit BB - Received Data (RD) (CCITT 104) Viens du DCE Le circuit BB doit tre maintenu au niveau 1 ("mark") pendant tout le temps o le cricuit CF (Received Line Signal Detector -DCD- ) est dans la condition OFF ("mark"). En demi duplex, le circuit BB (RD) doit ^etre maintenu au niveau 1 ("mark") quand le circuit CA (Request to Send) est ON ("space") et pour un court instant suivant la transition ON OFF du circuit CA (RTS) pour permettre la fin de la transmission. Circuit CA - Request to Send (RTS) (CCITT 105) Vers le DCE Utilis pour mettre le DCE en mode transmission et, pour une liaison demi duplex, pour contr^oler le sens de transmission. Pour une liaison simplex ou plein duplex, la condition ON ("space") maintient le DCE en mode transmission. La condition OFF ("mark") maintient le DCE en mode de non transmission. Dans une liaison semi duplex, la condition ON ("space") maintient le DCE en mode transmission et inhibe le mode rception. La condition OFF ("mark") maintient le DCE en mode rception. Une transition de OFF ("space") vers ON ("mark") demande au DCE de passer en transmission. Le DCE rpond en prenant toute action ncessaire et indique l'excution en mettant ON ("space") le circuit CB (Clear to Send), pour indiquer au DTE que la donne a t transfre sur le circuit BA (TD). Une transition de ON vers OFF demande au DCE de finir la transmission des donnes pralablement charges sur le circuit BA (TD), puis de se mettre en mode de non transmission ou de reception suivant le mode. Le DCE rpond en mettant OFF le circuit CB (Clear to Send) quand il est prt rpondre une ventuelle condition ON du circuit CA (RTS). Lorsque le circuit CA est pass OFF, il ne peut tre remis ON que si le circuit CB (CTS) est mis OFF par le DCE. Les circuits CA (RTS), CB (CTS), CC (DSR), et, si implment, CD (DTR) doivent tre ON pendant tout le temps de transmission du DCE sur le circuit BA. Circuit CB - Clear to Send (CTS) (CCITT 106) Viens du DCE Ce signal est gnr par le DCE pour indiquer qu'il est prt transmettre Une condition ON sur ce circuit avec des conditions ON sur CA (RTS), CC (DSR), CD (DTR) indique au DTE que des donnes vont tre tranmisent sur le circuit BA Une condition OFF indique au DTE qu'il ne doit pas transmettre de donnes sur le circuit BA (TD). Si le circuit CA (RTS) n'est pas implment sur un DCE, il doit tre considr comme en permanence ON. # Circuit CC - Data Set Ready (DSR) (CCITT 107) Viens du DCE En condition ON, indique: Le DCE est connect sur la ligne de communication Le DCE n'est ni en test, ni en numrotation, ni en 'parole' Le DCE a reu la tonalit de la ligne Une condition OFF du circuit CC (DSR) indique qu'une au moins des conditions i dessus n'est pas remplie. Circuit CD - Data Terminal Ready (DTR) (CCITT 108.2) Vers le DCE Controle la connexion du DCE sur la ligne de communication La connexion du DCE sur la ligne de communication ne doit se faire que par la prsence combine des conditions ON sur les circuits CD (DTR) et CE (Ring Indicator) La condition ON sur le circuit CD (DTR) indique que le DTE est prt transmettre ou recevoir. Une condition OFF sur le circuit CD (DTR) doit faire deconnecter le DCE de la ligne de transmission aprs avoir termin sa transmission. Aprs que le circuit CD (DTR) soit pass OFF, il ne doit pas revenir ON jusqu' ce que le circuit CC (DSR) soit pass OFF par le DCE. Circuit CE - Ring Indicator (RI) (CCITT 125) Viens du DCE Une condition ON indique que le DCE reoit sur la ligne de communication. Cette condition doit apparaitre en co~#incidence avec la tonalit de sonnerie (Sonnerie en marche) et passer OFF pendant les cycles d'arrt de la sonnerie. Cette opration ne doit pas ^etre inhibe par la condition OFF du circuit CD (DTR). Circuit CF - Received Line Signal Detector (DCD) (CCITT 109) Viens du DCE Une condition ON indique que le DCE reoit un signal qui correspond aux critres dfinis par le constructeur du DCE Une condition OFF doit mettre le circuit BB (RD) au niveau 1 ("mark") Pour le demi duplex, le circuit CF (RI) est maintenu OFF tant que le circuit CA (RTS) est en condition ON et pendant un court instant aprs la transition ON OFF du circuit CA (RTS) Circuit CG - Signal Quality Detector (SQD) (CCITT 110) Viens du DCE Une condition ON est maintenue tant qu'il n'y a pas de raison de croire qu'une erreur est survenue Une condition OFF indique qu'il y a une grande probabilit d'erreur. Circuit CH - Data Signal Rate Selector (Source DTE) (CCITT 111) Vers le DCE Permet de slecter une vitesse de transmission parmi deux. Une condition ON slecte la vitesse la plus grande Circuit CI - Data Signal Rate Selector (Source DCE) (CCITT 112) Viens du DCE Circuit DA - Transmitter Signal Element Timing (Source DTE) (CCITT 114) Vers le DCE Une transition de ON OFF indique le milieu de chaque bit transmis sur le circuit BA (TD) Si le circuit DA est implment sur le DTE, il doit donner les informations de temps sitot la mise sous tension. Il est permis de bloquer le circuit DA pendant que le circuit CA (RTS) est en condition OFF Circuit DB - Transmitter Signal Element Timing (Source DCE) (CCITT 114) Viens du DCE M^eme utilisation que le circuit DA mais pour le DCE. Blocage permis si CC (DSR) est en condition OFF Circuit DD - Receiver Signal Element Timing (Source DCE) (CCITT 115) Viens du DCE Les transitions ON OFF indiquent le milieu des bits du circuit BB (RD). Ces informations doivent ^etre prsentes lorsque le circuit CF (DCD) est en condition ON. Circuit SBA - Secondary Transmitted Data (STD) (CCITT 118) Vers le DCE Equivalent au circuit BA (TD) exception faite qu'il s'agit d'un deuxime canal. Les signaux sur ce circuit sont gnrs par le DTE Le DTE doit vrouiller le circuit SBA (STD) dans la condition "mark" pendant les intervalles entre caractres ou entre mots et tout le temps de non mission. Dans tous systmes, le DTE ne doit pas transmettre sans qu'une condition "ON" soit prsente sur tous les circuits suivants s'ils sont implments: SCA (Secondary Request to SEND) SCB (Secondary Clear to Send) CC (Data Set Ready) CD (Data Terminal Ready) Si le canal secondaire est utilis uniquement comme circuit de contrle ou comme interruption sur le canal primaire,le circuit SBA (STD) est normalement non prvu. La porteuse du canal est mise ON ou OFF suivant l'tat du circuit SCA (Secondary Request to Send). La porteuse OFF est interprte comme une condition d'interruption. Circuit SBB - Secondary Received Data (CCITT 119) Vers le DCE Equivalent au circuit BB (RD) Si le canal secondaire est utilis uniquement comme circuit de contrle ou comme interruption sur le canal primaire, le circuit SBB (SRD) est normalement non prvu Circuit SCA - Secondary Request to Send (CCITT 120) Vers le DCE Equivalent au circuit CA (RTS) sauf qu'il demande l'tablissement du canal secondaire au lieu du canal primaire. Si le canal secondaire est utilis comme canal de retour, une condition ON sur le circuit CA (RTS) doit inhiber le circuit SCA (SRTS) et il ne doit pas tre possible de transmettre sur le canal secondaire tant que le canal primaire est en transmission. Si le canal secondaire est utilis uniquement comme circuit de contrle ou comme interruption sur le canal primaire, le circuit SCA (SRTS) doit servir mettre ON ou OFF la porteuse secondaire. Une condition OFF du circuit SCA (SRTS) doit mettre OFF la porteuse secondaire. Circuit SCB - Secondary Clear to Send (CCITT 121) Viens du DCE Equivalent au circuit CB (CTS) sauf qu'il indique la disponibilit du canal secondaire au lieu du canal primaire. Ce circuit n'est pas prvu si le canal secondaire est utilis comme canal de contrle ou comme interruption. Circuit SCF - Secondary Received Line Signal Detector (CCITT 122) Viens du DCE Equivalent au circuit CF (DCD) sauf qu'il indique la bonne rception sur le canal secondaire. Si le canal secondaire est utilis comme circuit de contrle ou comme interruption, le circuit SCF doit indiquer l'tat de confiance ou signaler une interruption. Une condition OFF indique pas de panne ou pas d'interruption Une condition ON indique une panne de circuit ou une interruption. CONFIGURATIONS DE TRANSMISSION / RECEPTION Configuration Type Interface Transmission seule A Transmission seule avec CA (RTS) B Rception seule C Demi Duplex D Duplex D et E Plus suivant les cas: Canal 1 Transmission (RTS) / Canal 2 Rception F Canal 1 Transmission / Canal 2 Rception H Canal 1 Rception / Canal 2 Transmission (RTS) G Canal 1 Rception / Canal 2 Transmission I Canal 1 Transmission (RTS) / Canal 2 Demi Duplex J Canal 1 Rception / Canal 2 Demi Duplex K Canal 1 Demi Duplex / Canal 2 Demi Duplex L Canal 1 Duplex (RTS) / Canal 2 Duplex (RTS) L Canal 1 Duplex / Canal 2 Duplex M Les configurations identifies avec (RTS) indiquent l'utilisation du circuit CA (Request To Send) qui n'aurait pas lieu d'tre, mais il est ici utilis pour indiquer au DCE une non-transmission. Circuits TYPES INTERFACE A B C D E F G H I J K L M AA Protective Ground - - - - - - - - - - - - - AB Signal Ground x x x x x x x x x x x x x BA Transmitted Data x x x x x x x x x BB Received Data x x x x x x x x CA Request to Send x x x x x CB Clear to Send x x x x x x x x x CC Data Set Ready x x x x x x x x x x x x x CD Data Terminal Ready s s s s s s s s s s s s s CE Ring Indicator s s s s s s s s s s s s s CF Line Signal Detector x x x x x x x x CG Signal Quality Detect : : : : : : : : CH/CI Rate Selector : : : : : : : : : : : : : DA/DB Sign. Ele. Timing t t t t t t t t t t DD Rec. Ele. Timing t t t t t t t t SBA Secondary TD x x x x x x SBB Secondary RD x x x x x x SCA Secondary RTS x x x x SCB Secondary CTS x x x x x x SCF Secondary DCD x x x x x x x Circuits basique pour tous systmes s Circuits additionnels pour service commut t Circuits additionnels pour canaux synchroniss - Circuits optionnels : Circuits dtermins par le fabricant SCENARIO DE DIALOGUE Prenons l'exemple d'une connexion avec rponse non automatique d'un ordinateur un terminal distance. Il s'tablit un dialogue entre l'ordinateur et son modem(A), et un autre dialogue entre le terminal et son modem(B). L'ordinateur envoie DTR au modem(A) Le modem(A) envoie la frquence porteuse sur la ligne Le ........ ...... DSR l'ordinateur Le modem(B) reoit la porteuse Le ........ envoie DCD son terminal Le terminal ...... DTR au modem(B) Le modem(B) ...... la porteuse sur la ligne Le modem(A) reoit la porteuse. Le modem(A) envoie DCD L'ordinateur envoie les donnes sur TD Le terminal rpond par son modem(B), reu par le modem(A), qui transmet les donnes l'ordinateur par RD A ce niveau, le dialogue est rgi par le protocole adopt. Un protocole est un ensemble de conventions permettant d'tablir et d'entretenir des changes d'informations entres deux appareils. Les principaux protocoles sont: CRLF (Carriage Return + Line Feed). La squence de ces deux codes encadre un bloc de donnes XON/XOFF (Codes ASCII DC1 (17) pour XON et DC3 (19) pour XOFF). Par convention XOFF stoppe la transmission et XON annonce la reprise de la transmission. Le bloc ainsi dlimit peut contenir du texte dja dlimit par CRLF. La longueur des blocs n'a pas tre convenue d'avance. C'est le terminal recevant qui met XOFF pour arrter la transmission et se donner le temps de traiter les caractres reus. Puis aprs traitement, met XON pour faire reprendre la transmission. ACK/NAK (Codes ASCII ACK (6) et NAK (21) ) Mme principe que pour XON/XOFF mais avec des caractres diffrents Il existe bien d'autres protocoles de communication, avec contrle de transmision, avec contrle par calcul polynomial (Cyclic Redundancy Check ou CRC), avec rmission par le rcepteur, par paquets, par blocs de longueur fixe, par double transformation ASCII en HEXA puis en ASCII, etc. Voici quelques noms: Xmodem, Kermit, Nibble, RBBS-PC, Compuserve A et B, Modem 7, ANSI X3.28, Hayes, X.25, Move-it, Telink ..... Les protocoles de communications sont une vraie tour de BABEL et, avant de se connecter sur un rseau ou un serveur, il est impratif de connatre le protocole de communication. RACCORDEMENTS LOCAUX (sans modem) C'est le cas qui se pose pour connecter des priphriques sur un micro ordinateur. La liaison la plus simple comporte 3 fils: Ordinateur Priphrique 1 FG -+---------+- 1 FG 7 SG -+ +- 7 SG 2 TD ------------- 3 RD 3 RD ------------- 2 TD Il est ncessaire que les fils TD et RD soient torsads et blinds. Pour ce type de liaison, il faut que l'ordinateur et le priphrique supportent un protocole du genre XON/XOFF ou ACK/NAK. Liaison dialogue simplifie: 1 FG -+----------+- 1 FG 7 SG -+ +- 5 SG 2 TD -------------- 3 RD 3 RD -------------- 2 TD 6 DSR ------------- 6 DSR 20 DTR ------------ 20 DTR Le dialogue se passe par l'intermdiaire des lignes DTR et DSR. Pour toutes connexions entre ordinateur et priphriques, il est ncessaire de consulter les documentations des constructeurs. MODES DE LIAISON SIMPLEX L'un des appareils est uniquement metteur, l'autre est uniquement rcepteur. HALF DUPLEX (Semi Duplex ou Demi Duplex) Liaison bidirectionnelle alterne. Un poste est rcepteur quand l'autre est metteur et vice-versa. FULL DUPLEX (Plein Duplex ou Duplex) Liaison bidirectionnelle simultane. Les informations circulent dans les deux sens simultanment. ECHO Surtout utilis pour les terminaux avec cran et clavier. ECHO LOCAL: La touche frappe s'affiche directement sur l'cran. ECHO DISTANCE: La touche frappe est envoye l'ordinateur qui renvoie au terminal ce qu'il a reu.Le terminal affiche alors l'cran ce que l'ordinateur a renvoy. __________________________________________________________________________ P R O G R A M M E R L A T O O L B O X E N T M L P A S C A L __________________________________________________________________________ ______________________________________________________ CHAPITRE 1 : E C R I R E U N E A P P L I C A T I O N ______________________________________________________ (suite) 1.4 - FERMETURE DES OUTILS PAR UNE APPLICATION Quand l'utilisateur choisit l'option standard "Quitter" dans le menu Fic13456789:;<=>?@ABCDEFhier d'une application, celle-ci doit rendre la main au systme d'exploitation, afin de revenir au Finder ou de terminer une session de travail. Mais avant cela, le programme doit remettre le systme dans l'tat o il l'a trouv : il faut donc refermer les outils qui ont pralablement t ouverts. Pour cela, on va crire une nouvelle procdure qui va faire l'inverse de "DemarreOutils"; appelons-la "FermeOutils" : ___________________________________________________________________________ Procedure FermeOutils; ___________________________________________________________________________ La premire opration effectuer est celle qui consiste fermer le port graphique : ___________________________________________________________________________ Begin GrafOff; ___________________________________________________________________________ Maintenant, l'ordre suivre pour la fermeture est l'ordre inverse de celui que l'on a pris pour l'ouverture, soit : - Desk Manager - Standard File - Dialog Manager - Line Edit - Scrap Manager - Menu Manager - Window Manager - Control Manager - Event Manager - QuickDraw II - Miscellaneous Tools - Memory Manager - Tool Locator Cela se fait sans difficult : ___________________________________________________________________________ DeskShutDown; SFShutDown; DialogShutDown; LEShutDown; ScrapShutDown; MenuShutDown; WindShutDown; CtlShutDown; EMShutDown; QDShutDown; MTShutDown; MMShutDown (IDMemoire); TLShutDown End; ___________________________________________________________________________ Vous savez maintenant prparer le GS faire fonctionner une application en mode "DeskTop" par l'ouverture des outils (grce la procdure "DemarreOutils") et quitter celle-ci pour revenir l'tat dans lequel se trouvait le systme avant son lancement par la fermeture des outils (grce la procdure "FermeOutils"); c'est une convention prendre pour toute application ou tout accessoire de bureau : ils ne doivent pas perturber l'environnement de travail (ils doivent tre cologiques !!). 2 - LES MENUS DEROULANTS Toute application respectant l'interface utilisateur Apple se doit de possder des menus droulants (leur utilit est vidente). Rsumons brivement le "Human Interface Guidelines" : - Il est conseill que les menus suivants soient prsents dans toute application : * Le menu Pomme, contenant une option "A propos de..." prcisant l'auteur et le numro de version du programme, puis les accessoires de bureaux (NDAs) * Le menu Edition, contenant les options Annuler (Pomme-Z), Couper (Pomme-X), Copier (Pomme-C), Coller (Pomme-V), et Effacer, mme s'ils ne sont pas utiliss dans l'application : ils peuvent toujours tre ncessaires certains NDAs. - Il doit exister un maximum d'"quivalents clavier" remplaant les menus (par exemple, Pomme-N pour un nouveau document, Pomme-O pour en ouvrir un, Pomme-S pour le sauver,Pomme-P pour l'imprimer, etc...). - Il est conseill de grouper les fonctions de mme nature, comme par exemple Nouveau-Ouvrir-Fermer, Sauver-Sauver sous; pour cela, on spare les groupes par des barres horizontales. - Un menu entranant une fentre de dialogue doit avoir son titre suivi de 3 petits points (par exemple : Sauver Sous...). Comme prcdemment, on va dfinir une procdure qui va nous dessiner la barre de menus (l'action qui consiste choisir un item dans un menu est prise en compte au niveau de l'Event Manager ou du TaskMaster : on crira une autre procdure utilisant celui-ci ultrieurement); mais avant cela, prcisons la faon dont on va communiquer les informations au Menu Manager pour dessiner la barre : On envoie les noms des menus et des items sous formes de chanes globales respectant un format bien dfini : - on commence la chane d'un menu par les caractres ">>" - on donne ensuite le nom du menu (@ pour le menu Pomme) - on lui affecte un identificateur (nombre global constant) - on indique ses attributs (soulign, italique, non slectable...) - on termine par le caractre de code ASCII 0 : "\0" - on recommence pour chaque item dela mme manire (en faisant prcder le nom de l'item par "==" la place de ">>" pour un menu) - on termine la chane par un point : "." Voici les caractres spciaux : \ Dbut des caractres spciaux * Suivi d'un premier puis d'un second caractre tant les "quivalents-clavier" (pour un seul quivalent, untiliser un espace la place du second) B crit en gras C suivi d'un caractre qui marque l'item D empche l'item d'tre choisi H identificateur qui suit en hexadcimal I crit en italique N identificateur qui suit en dcimal U souligne l'item V spare l'item avec le suivant X utilise le remplacement, et non pas le ou exclusif (XOR) pour la mise en inverse Voici une chane dfinissant un menu Fichier : >> Fichier \N400\0==Nouveau fichier...\N401V*Nn\0==Ouvrir fichier...\N402*Oo\0 ==Fermer fichier\N403D\0==Sauver fichier\N404V*Ss\0==Imprimer...\N405DV*Pp\0 ==Quitter\N406*Qq\0. Voici la traduction : - Menu Fichier : identificateur 400 - Item Nouveau fichier... : identificateur 401, quivalent clavier N ou n - Item Ouvrir fichier... : identificateur 402, quivalent clavier O ou o - Item Fermer fichier : identificateur 403, item non slectable - Item Sauver fichier : identificateur 404, quivalent clavier S ou s, sparation avec item suivant - Item Imprimer... : identificateur 405, quivalent clavier P ou p, item non slectable, sparation avec item suivant - Item Quitter : identificateur 406, quivalent clavier Q ou q Plus compliqu expliquer qu' utiliser !!! Il faut dfinir les identificateurs des menus comme constantes au dbut du programme : ___________________________________________________________________________ CONST Pomme = 300; APropos = 301; Fichier = 400; Nouveau = 401; Ouvrir = 402; Fermer = 403; Sauver = 404; Imprimer = 405; Quitter = 406; Edition = 500; Annuler = 501; Couper = 502; Copier = 503; Coller = 504; Effacer = 505; ___________________________________________________________________________ Les chanes des menus doivent tre dfinies comme variables au dbut du programme : ___________________________________________________________________________ VAR PommeCh : Str255; FichierCh : Str255; EditionCh : Str255; ___________________________________________________________________________ Ecrivons maintenant la procdure "DessineBarre" : ___________________________________________________________________________ Procedure DessineBarre; ___________________________________________________________________________ On a besoin d'une variable contenant la hauteur de la barre des menus : ___________________________________________________________________________ Var Hauteur : Integer; ___________________________________________________________________________ On va dfinir nos trois menus : Pomme, Fichier, Edition : ___________________________________________________________________________ Begin PommeCh := Concat ('>>@\N300X\0', '==A propos de...\N301\0', '==-\N302D\0..'); FichierCh := Concat ('>> Fichier \N400\0', '==Nouveau fichier\N401V*Nn\0', '==Ouvrir fichier...\N402*Oo\0', '==Fermer fichier\N403D\0', '==Sauver fichier\N404VD*Ss\0', '==Imprimer...\N405VD*Pp\0', '==Quitter\N406*Qq\0.'); EditionCh := Concat ('>> Edition \N500\0', '==Annuler\N501VD*Zz\0', '==Couper\N502D*Xx\0', '==Copier\N503d*Cc\0', '==Coller\N504D*Vv\0', '==Effacer\N505D\0.'); ___________________________________________________________________________ On dfinit la coordonne horizontale o s'affichera le menu Pomme (x=10) : ___________________________________________________________________________ SetMTitleStart (10); ___________________________________________________________________________ On place les menus dans la barre (il faut suivre l'ordre inverse de celui de l'affichage) : ___________________________________________________________________________ InsertMenu (NewMenu(@EditionCh[1]),0); InsertMenu (NewMenu(@FichierCh[1]),0); InsertMenu (NewMenu(@PommeCh[1]),0); ___________________________________________________________________________ On indique prsent au systme quel est le menu Pomme afin qu'il y ajoute les accessoires de bureau : ___________________________________________________________________________ FixAppleMenu (Pomme); ___________________________________________________________________________ Enfin, on rcupre la hauteur de la barre de menus et on la dessine : ___________________________________________________________________________ Hauteur := FixMenuBar; DrawMenuBar End; ___________________________________________________________________________ Vous savez maintenant dessiner une barre de menus grce la procdure "DessineBarre"; la prochaine fois, nous verrons comment prsenter une fentre de dialogue au moment o l'utilisateur choisit l'option "A propos de..." dans le menu Pomme; nous verrons aussi comment sortir de l'application par l'item "Quitter" du menu "Fichier". Je vous souhaite tous une excellente anne 1990. A bientt ! P.S. : vous trouverez un source en annexe rcapitulant les 3 procdures que nous nous avons vues ______________________ M. Marc LERMAN 16, rue Lucien Sampaix 75010 - Paris ______________________  $ Au cours de cet article et de ceux qui vont suivre, je vais tenter d'expliquer comment faire pour programmer une application fonctionnant avec le systme 5.0, et ce avec un macro-assembleur. Pourquoi un macro-assembleur ? Parce que la tendance est rsumer la programmation d'une application une succession d'appels au systme d'exploitation. Le macro-assembleur est dbarrass des dfauts syntaxiques et de puissance de ses anctres les assembleurs et compte tenu de ce qui est dit plus haut, c'est le HJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~langage le plus rapide et le plus simple (oui simple) pour programmer une application. Le Pascal est trs rigide et verbeux sur un plan syntaxique (est-ce la cause de son succs chez les universitaires ?), je rserve mon jugement quant au C, parce qu'il est portable (je n'aime pas non plus sa syntaxe) et c'est quand mme d'un grand intrt, mais il faut savoir que tous ces langages produisent sur GS (y compris orca/c) un code assembleur ignoble, hypertrophi et lent. Je ne polmiquerai pas plus. Le but de cette srie n'est pas de vous apprendre en dtail vous servir des quelques 1200 fonctions de votre boite outils. Non. Il s'agit uniquement de vous montrer comment crire un programme qui utilise l'interface graphique et le systme d'exploitation de votre ordinateur. Cela signifie que je ne vais pas faire le catalogue des fonctions de chaque outil mais plutot expliquer comment l'on s'en sert lorsque le besoin s'en fait sentir au cours d'un dveloppement. Cette srie d'articles n'est donc pas un palliatif la lecture des Toolbox et GS/OS reference manuals mais elle permettra, du moins je l'espre, aux dbutants et tous ceux que cela intressent de mettre en oeuvre rapidement les connaissances acquises dans ces livres ou au cours de la lecture des articles. Pour suivre cette srie, il suffit de connatre un peu l'assembleur et possder les notions lmentaires de la programmation sur GS. 2) Prsentation du systme d'exploitation L'criture d'une application est apparemment rendue plus difficile aujourd'hui par l'imbrication du systme d'exploitation et des outils grant l'interface utilisateur. L'antique dissociation de mise sur les Apple II plus anciens n'a plus cours. Sur GS, ce systme d'exploitation c'est GS/OS depuis la disparition de ProDOS 16 qui n'tait qu'un ProDOS 8 capacit d'adressage 24 bits. a) GS/OS en bref. La particularit principale de GS/OS est d'assurer l'indpendance des appels par rapport au systme de gestion des fichiers. Ce n'est pas trs clair dit comme a mais cela signifie que si je veux ouvrir un fichier pour lire des informations, y crire..., au format MS/DOS ou au format ProDOS, je n'utilise qu'un seul et mme appel. C'est le FST (File System Translator) qui va convertir la commande et les donnes associes au format logique des divers systmes de gestion de fichiers. Le transfert physique est lui aussi indpendant des FSTs. Il est assur par des drivers, qui eux ne s'occupent pas de l'organisation logique des donnes mais uniquement de leur transfert effectif entre l'ordinateur et les priphriques. Cette architecture conjugue puissance (gestion de divers formats, utilisation maximale des priphriques) et souplesse (possibilit de choisir les FSTs et les drivers, configuration possible). b) Syntaxe des appels GS/OS Pour effectuer des appels, il existe deux mthodes concurrentes mais au rsultat identique, on les appelle Inline et Stack methods. o La mthode Inline Seule mthode disponible jusqu' l'apparition du ProDOS 16 1.3, elle se compose d'un Jsl en $E100A8, Jsl qui est suivi par le numro de la commande GS/OS cod comme suit: _ $20xx o xx est le numro de l'appel _ Ce numro de commande est suivi par un pointeur (long) sur une table de paramtres qui dbute toujours par le nombre de paramtres qu'elle contient. En effet et ce contrairement ProDOS 16, GS/OS permet de ne retourner que les informations essentielles et donc d'optimiser l'occupation mmoire de ses tables de paramtres. Si par exemple je veux fermer un fichier (la fermeture d'un fichier s'effectue en indiquant son numro qui est retourn lors de l'ouverture), avec la "Inline method", cela va se passer comme suit. Jsl $E100A8 Dc i'$2014' $14 numro de la commande Close Dp 'Close_File' Les 3 lignes peuvent tre remplaces par: * _CloseGS Close_File ... Close_File Anop Dc i'1' 1 seul paramtre est ncessaire Dc i'3' c'est un cas d'cole, j'ai mis 3. o La "Stack Method" L, il suffit d'empiler le pointeur sur la table de paramtres puis le numro de la commande avant d'effectuer un saut long en $E100B0. L'exemple prcdent devient: Pushlong #Close_File C'est la mme table, je ne vais pas Pea $2014 la rcrire. Jsl $E100B0 Maintenant que vous savez comment on envoie une commande GS/OS, voyons rapidement comment on opre avec la Toolbox. c) La Toolbox. Tous les appels la boite outils se font en mode natif 16 bits, en empilant des paramtres (leur nombre varie), en passant dans le registre X le numro de la fonction (X=xxyy o xx est le numro de la fonction et yy le numro de l'outil) et en effectuant un saut en $E10000. Au retour, il se peut que des paramtres renvoys par la fonction soient sur la pile, vous l'avez compris, il faut les dpiler. Ex: Pea $0000 "espace" sur la pile pour que l'outil Ldx #$0202 nous retourne une identit puis Memory Jsl $E10000 Manager Startup (nous verrons ce que Pla cela signifie plus tard) Sta My_ID je dpile l'ID La faon d'crire ces appels varie avec l'environnement de dveloppement dont on dispose. Comme macro-assembleur, sur GS (pas Mac, GS) il n'y a que deux choix possibles: l'APW (macro-assembleur de Byte Works choisit par Apple) ou Merlin GS (par Glen Bredon, auteur, entre autres, de ProSEL). Les deux permettent de nommer un appel GS/OS ou Toolbox de faon plus explicite que par un simple numro mais Merlin permet de passer les paramtres un peu la manire d'un compilateur C, Pascal ou Basic (on peut le faire aussi avec l'APW, mais ce n'est pas propos en standard). Si vous tes dbutant, je vous conseille Merlin GS car celui-ci est trs rapide, plus "user-friendly", il est bourr d'utilitaires, son diteur de sources n'est peut-tre pas d'un abord facile mais se rvle pratique l'usage. Son rapport qualit-prix est trs bon. Il est disponible chez Brjoux. BREJOUX AE. 29A, rue Montribloud 69003 LYON Mais il faut savoir que l'APW est plus puissant que Merlin (il est aussi bien plus lent) et surtout que si les dernires innovations pour GS/OS et la toolbox sont immdiatement disponibles pour les APWistes (c'est normal, c'est l'environnement de dveloppement Apple), il n'en est pas de mme pour Merlin. L'APW est disponible chez: PRIM'VERT Editions 36, rue des Etats Gnraux 78000 Versailles au prix de 900F TTC, port compris pour deux disques et un manuel de 600 pages. C'est cher et cela n'inclut pas la mise jour ncessaire pour utiliser les ressources. En revanche, le Toolbox Reference manual volume 3 est 280F ce qui revient 30 centimes la page, et l, il ne faut pas s'en priver. Il est disponible sous la rfrence: A0229LL/A, toujours chez Prim'Vert. Maintenant que ces prcisions sont faites, nous allons nous attaquer la ralisation de notre application. II/ Programmation d'une application. 1) Gnralits Pour programmer une application GS, il faut comprendre comment le GS fonctionne. Avec les Apple II plus anciens, on testait les registres d'entres/sorties (clavier, souris) tout le temps, ce qui limitait considrablement le nombre et la nature des vnements. Sur GS, on demande la Toolbox de nous renvoyer ou non un des vnements possibles. Cela veut dire que l'on ne traite qu'un vnement la fois (je le rappelle, on ne sait jamais) et qu'on peut empcher certains vnements de se produire. Du fait de l'interface graphique, on ne peut plus se contenter d'un vnement du genre: 'un clic souris s'est produit', au lieu de cela, la fonction retourne 'clic dans une fentre, dans une barre de menus, dans un controle' ... La toolbox peut mme faire plus que cela, en effectuant les oprations essentielles suite par exemple un clic dans un contrle appartenant une fentre. Le concept d'"Event driven application" (droulement de l'application effectue par succession d'vnements) ainsi que l'interface graphique rend plus vidente la modularisation du programme, il est par exemple extrmement simple de dissocier grace aux dialogues et aux fentres la saisie des donnes et leur affichage de leur gestion propre. La modularisation des tches est extrmement souhaitable. 2) Initialisation de l'environnement de fonctionnement. La rgle absolue est de faire le minimum de prsomptions sur l'environnement de dpart. Bien entendu, sur l'adresse de dbut du programme, mais aussi sur les prfixes, les outils actifs, pour ceux qui veulent aller plus loin, l'adresse de dpart de la mmoire vido... Nous allons voir comment oprer de cette faon. La seconde rgle importante est de rinitialiser les valeurs en entre ou sortie de l'application de faon permettre sa rexcution en mmoire. Le Segment Loader offre la possibilit d'inclure un segment de rinitialisation, qui va tre excut lors d'un Restart. Ceci parce qu'un programme peut tre divis en plusieurs morceaux, regroups sur disque en un seul fichier mais qui ne seront chargs en mmoire qu'au fur et mesure de leur ncessit. Cela peut tre fait soit automatiquement, soit volont par le programmeur. Nous allons aborder ce problme en commenant par la gestion de la mmoire. a) Initialisation et gestion mmoire. C'est une denre rare avec le systme 5.0, non seulement en raison de la crise de croissance qui atteint les systmes Apple ces temps-ci mais surtout du fait que celle-ci est morcele. L'allocation mmoire sur GS obit au principe de la liste chane. Il y a des tas de bouquins qui en parle, cela n'a pas beaucoup d'intrt. En raison des particularits du GS (mmoire spciale, espace E/S, ROM), Apple utilise une variante de cet algorithme. Sans vous abrutir de trop de dtails techniques qui pourraient nous faire suspecter d'avoir dsassembl le systme (pure affabulation qui si elle est rpte tombe sous le coup de la diffamation, mais calomniez, il en reste toujours quelque chose), il existe un emplacement o sont rpertoris 5 handles un peu particuliers car d'ID $0000. Il fixe les frontires des diverses catgories de mmoire. Pour optimiser l'allocation mmoire, les segments chargeables (programmes, outils, managers) sont chargs du bas vers le haut de la mmoire tandis que les donnes, grafport, control records... sont placs en haut de la mmoire. Ceci pour vous faire comprendre que la manire que vous employez pour charger les segments qui composent votre programme ainsi que la faon dont vous allouez la mmoire ncessaire au fonctionnement de votre application ne vont pas etre trangres au performance du systme. Je vous conseille de diviser les fonctionnalits de vos programmes en segments dynamiques (ce qui segment de en indiquant SEGMENT/DYNAMIC nom de segment avec le linker de l'APW), l'exception du segment principal qui est toujours statique. Vous rfrencerez dans votre segment principal les autres segments dynamiques en indiquant simplement un Jsl Label_Du_Sous_Programme. Voici un exemple. D'abord le source assembleur du segment principal: Keep Main.ob Mcopy Main.macros Main_Program Start Using Main_Data ... Jsl Dessin_Cube ... End Au tour maintenant du segment qui contient Dessin_Cube Keep cube.ob MCopy Cube.macros Dessin_Cube Start Using Cube_Data Phb prserve le banc de donnes courant Phk passe celui de notre segment Plb ... ... Plb Rtl End Maintenant le source du fichier linker qui va transformer nos codes objets en un programme xcutable: Keep MON.PROGRAM (le nom que je veux) Segment MAIN (meme chose) link/All Main.ob Segment/DYNAMIC MODULE link/All cube.ob Voil, cela suffit de faire de vous, un programmeur d'lite, vous voyez que ce n'est pas trs compliqu. Grace au linker, il vous est possible de programmer un segment en C, un autre en Pascal et le reste en assembleur Merlin et APW et d'en faire un programme qui tienne la route. Le Segment Loader met votre disposition d'autres type de segments mais dont l'usage n'est pas recommand. Le premier est un segment d'espace en banc zro pour le registre D (Page zro) et l'espace pile. Il est fort dconseill de s'en servir, il vaut mieux allouer un handle (adresse dcrivant un bloc de mmoire) par le Memory Manager pour espace en banc $00. Le deuxime type de segment est le segment de rinitialisation. Il est appel lors d'un InitialLoad (2) et de Restart qui sont deux fonctions du Segment Loader pour charger des codes xcutables. Il vaut mieux procder " la main". D'une part, c'est plus conomique, d'autre part c'est plus puissant. Il est tout fait possible de raliser une application rxcutable en mmoire sans possder de segment de rinitialisation. De plus, un certain nombre d'initialisations, particulirement celles qui concernent l'environnement systme n'ont besoin d'etre opres qu'une seule fois, ultrieurement, c'est de la gourmandise. C'est par exemple le cas des prfixes. b) Initialisation et environnement systme Avec ProDOS 8, Apple a inaugur dans sa gamme le principe des sous-rpertoires (Le Finder du Mac MFS SIMULAIT les sous-rpertoires, d'ailleurs, ProDOS lui est antrieur). Pour utiliser un fichier, on utilise ce que l'on appelle un chemin d'accs (qui est une liste de sous-rpertoires) que l'on appelle prfixe associ au nom du fichier. GS/OS permet l'utilisation de 32 prfixes. Certains prfixe sont un peu particuliers. le prfixe indiqu par un */ rfrence le volume de boot, le prfixe 0, le volume par dfaut, le prfixe 1 celui partir duquel on a lanc l'application, le 2 rfrence le rpertoire des librairies, le 3 s'occupe du sous rpertoire SYSTEM du volume de boot. A part le prfixe 0, on ne devrait pas s'occuper de ces prfixes. Ou plutot si, mais pour construire d'autres prfixes qui permettront l'utilisation de notre application sur n'importe quel priphrique de stockage. Car en plus des pathnames, GS/OS peut grer des "partial pathnames" qui permettent d'abrger la description du chemin d'accs en indiquant le numro d'un prfixe, puis, ventuellement, le ou les sous-rpertoires ajouter et enfin, le nom du fichier. Si j'utilise des full pathnames ou si je ne prend pas en compte le prfixe lors du lancement du programme, cela interdit de fait l'installation sur disque dur. Si je dsire rxcuter mon programme partir de la mmoire sans rien recharger du disque, il ne faut pas lors des initialisations postrieures la premire que je recommence l'opration de sauvegarde du prfixe de lancement qui n'aura peut-etre plus aucun rapport avec mon application. Pour conserver notre prfixe et en faire quelque chose d'utilisable, nous allons procder comme suit: _ lors de la premire initialisation, on va stocker en mmoire le prfixe de lancement. _ Ensuite, et ce chaque fois, nous allons copier ce prfixe prserv dans un ou plusieurs autres prfixes de faon batir des partial pathnames, utilisables o que soit install l'application. Si par exemple, nous avons des fichiers stocks dans le sous-rpertoire ARTICLES et, autre exemple, deux fichiers de configuration dans le meme rpertoire que notre application, il faudra donner au prfixe numro 9 le contenu du prfixe sauvegard, qui servira pour la configuration et nous construirons le prfixe 10 en spcifiant prfixe 10 = 9/ARTICLES/ (cela de faon symbolique). GS/OS introfuit un nouvel appel: SetSysPref. C'est un appel qui configure le systme. Dans la version 2.0 de GS/OS, on n'accde qu' une seule caractrtistique, l'affichage ou non de boite de dialogue lorsque le systme d'exploitation ne trouve pas le volume ou le fichier. Ces prfrences systme sont codes dans un mot. L'affichage des boites de dialogues est le fait du bit 15, 1, GS/OS affichera une alerte demandant l'introduction du volume. Si l'utilisateur choisit l'option d'annulation, alors GS/OS renvoit l'erreur ProDOS correspondante ($40 ou $46, le plus souvent). Il est temps de rcapituler sous forme de source, ce que nous avons vu jusqu' maintenant: Keep Main.ob MCopy Main.Macros Main_Program Start Using Main_Data * Petite note pendant que j'y pense, il m'arrive d'utiliser des * labels ainsi que des tiquettes en anglais. Ce n'est pas par * snobisme mais par habitude. Phk ne pas oublier Plb Rep #$30 au cas o... Lda Init_Flag teste le drapeau Beq Init_Realise d'initialisation GetVersion Get_Version le GetVersion sans _ * indique une syntaxe Lda Get_Version ProDOS 16 And #$0200 filtre Cmp #$0200 Beq Cest_GSOS Quit_P16 Quit ByeBye Encore du P16 CEst_GSOS Anop _SetSysPref Sys_Prefs _GetPrefixGS Get_LaunchPrefix on rcupre le * prfixe Inc Init_Flag on indique que cette opration a Init_Realise Anop t effectue _SetPrefixGS Launch_Prefix Bcs Quit_P16 il n'est pas ncessaire de tout * le temps tester les erreurs, elles ne se produisent qu' * certains moments. * Ici, si je russis obtenir le premier prfixe, le second ne * fera pas d'histoires. _SetPrefixGS Datas_Prefix _TLStartup Tool Locator startup Phd nous allons rcuprer l'ID qui va _MMStartup nous permettre d'allouer la mmoire Tax pour nos donnes. A = $0000 (il n'y Pla a jamais d'erreur. Sta My_ID Maintenant A contient une ID Phx utilisable par le Memory Manager Phx et X = $0000 Phx Pea $0600 Taille #$0600 octets Pha ID Pea $C015 En banc zro, align sur une page Phx Banc = $00 Phx _NewHandle Pla dpile le handle Plx Sta $00 Stx $02 Lda [$00] Seule la partie basse de l'adresse Tcd m'intresse puisque je sais dj Clc dans quel banc elle se trouve. Adc #$05FF Ce n'est pas excessif. Tcs ... ... ... End Main_Data Data Init_Flag Ds 2 Get_Version Ds 2 au retour contient le no de version ByeBye Ds 4 pas de programme xcuter Ds 2 drapeau = $0000 Sys_prefs Dc i'1' Dc i'$8000' Get_LaunchPrefix Dc i'2' Dc i'1' Le prfixe de lancement Dp 'Launch_Pfx' Launch_Pfx Dc i'64' notre buffer occupe 64 octets Ds 64 Datas_Pfx Str2 '9/ARTICLES' GS/OS utilise des chaines dont * la longueur est code sur un mot (16 bits) Launch_Prefix Dc i'2' Dc i'9' Dp 'Launch_Pfx' Datas_Prefix Dc i'2' dc i'13' Dp 'Datas_Pfx' End Arretons un instant car nous venons, en allouant un handle pour notre application (ou plutot sa page zro et sa pile) d'aborder une des fonctions fondamentales du GS, la fonction NewHandle qui permet d'obtenir de la mmoire pour travailler. Nous l'avons dit plus haut, l'allocation mmoire est quelque chose d'essentiel. Sur Apple GS qui ne possde pas de processeur de gestion de mmoire pagine ou linaire mais o il est obligatoire d'obtenir la mmoire de faon dynamique (sans utiliser d'adresses connues l'avance), les blocs que l'on peut ainsi allouer peuvent possder quelques caractristiques. La premire et la plus importante est leur identit (ID). Chaque application peut possder sa propre ID. Elle n'est pas retourne au hasard par la fonction _MMStartup, elle donne des renseignements sur le demandeur, s'il est un outil, un manager systme ou une application. Ainsi, le paramtre ID est fait le produit de ce que l'on appelle le TypeID, la MainID et l'auxID. Le TypeID donne la catgorie du programme, $1, est le code utilis pour les applications, $4, pour les outils, $3 pour le systme... Les bits 0 7 donnent un numro variant de 0 $FF (255) qui donne l'identit principale, qui distingue une application d'une autre. L'AuxID est un champ qui vous permet de distinguer l'intrieur de votre application, les varits de segments mmoire que vous attribuerez. Ce champ occupe les bits 8 11, les valeurs possibles vont donc de 0 $F. MMStartup retourne toujours quelque chose de la forme $100x o x est de fait, le vritable "numro" de votre application, variant de 0 F. Il vous appartient ensuite de d'attribuer les AuxID de votre choix. Souvent on donne une ID $110x la mmoire destine aux outils, mais cela n'a rien d'obligatoire. Le deuxime paramtre important concerne les caractristiques. Tout d'abord le bloc de mmoire peut etre considr comme devant rester au meme endroit ou pouvant etre dplac lors d'un compactage destin optimiser l'occupation mmoire. Meme s'il est dplaable, un bloc peut etre temporairement inaccessible en le verrouillant. Lors de la recherche de mmoire, un programme peut etre amen purger des blocs en fonction d'un numro qui indique l'ordre de priorit respecter. Ce numro s'appel Niveau de Purge, il est cod sur 2 bits ce qui lui donne des valeurs comprises entre 0 et 3, un segment de niveau 3 sera purg avant un segment de niveau 0. On peut aussi indiquer au Memory Manager que le bloc ne doit pas dborder sur un autre banc. En effet, si tel tait le cas, il faudrait utiliser un adressage long. De meme, on peut forcer l'alignement du bloc sur une page, cela est parfois souhaitable pour maximiser le temps d'xcution. En outre, on peut demander un bloc dans ce qu'on appelle la mmoire spciale, qui correspond aux bancs $00, $01, $E0, $E1. Grossirement c'est de la mmoire partir de laquelle on peut adresser le firmware (ou la ROM, le SmartPort... de l'Apple II). Enfin, il est possible de demander un bloc dans un banc mmoire particulier ou une adresse prcise. A part l'ID, ces caractristiques sont codes au niveau du bit dans un mot de la faon suivante: bit 15: 1, verrouill (attribut modifiable) bit 14: (1), fixe, ne peut pas etre dplac bits 13 10, rservs bits 9-8: niveau de purge (modifiable tout moment) bits 7 5, rservs bit 4: (1) le bloc doit etre contenu dans un seul banc bit 3: (1) Ne doit pas utiliser de mmoire spciale bit 2: (1) Doit etre align sur une page bit 1: (1) Doit dbuter une adresse prcise bit 0: (1) Doit se trouver dans un banc prcis La fonction NewHandle utilise les paramtres suivants: _ D'abord, il faut un mot long pour lui permettre de retourner le handle. _ La taille du bloc (sur deux mots ou 4 octets) _ Ensuite il faut donner l'ID que vous a retourne MMStartup _ Les caractristiques codes sur un mot _ Un mot long qui prcise l'adresse et le banc si les caractristiques y font rfrence. Au retour, le Memory manager retourne un handle, qui est l'adresse du structure oprant dans une liste chaine dcrivant un bloc mmoire. Organisation d'un handle en mmoire. Offset 0: Pointeur sur le handle prcdent (0 long si 1er) Offset 4: Adresse du bloc. Offset 8: Caractristiques du bloc Offset 10: Identit Offset 12: Taille du bloc Offset 16: Pointeur sur handle suivant (0 long si dernier) C'est une fonction utilis tellement souvent qu'il est bon d'utiliser un sous-programme qui se charge d'allouer de la mmoire. Il possible de l'appeler avec en entre, A-X, la taille et l'ID utiliser ou bien les caractristiques dans Y, cela dpend de l'usage que vous en faite. Il va de soi qu'il n'est pas question de modifier directement les champs et qu'il faut passer par les fonctions du Memory Manager mais c'est pour que vous puissier vous faire une reprsentation exacte d'un handle. Petite remarque: tant donn que le handle occupe dj 20 octets, il est souhaitable de ne pas allouer des handles de taille ridicule, en tous cas, infrieure 20 bytes, sauf imprieuse ncessit. Les fonctions utilisables sont les suivantes: o Modification du verrouillage: _HUnlock (Entre: pointeur sur handle) Dverrouille le handle _HLock (Entre: pointeur sur handle) o Modification du niveau de purge _SetPurgeLevel (Entre: niveau de purge, pointeur sur handle) o Purge d'un handle _PurgeHandle (pointeur sur handle) o Modification de la taille du handle _ResizeHandle (Entre: nouvelle taille; pointeur sur handle o Obtention de la taille d'un handle _GetHandleSize En entre: En sortie _______________________ __________________ L ! Espace pour la taille ! L ! Taille du handle ! ! du handle ! ! ! !=======================! [------------------[ H ! Handle ! ! ! [-----------------------[ La plupart du temps, vous allez demander des blocs dplaables, situs n'importe o sauf en mmoire spciale, verrouills, pas forcment dans un seul banc de niveau de purge 3. Maintenant, nous allons nous attaquer l'initialisation des outils, c'est enfantin avec le systme 5.0 c) Initialisations des outils. Avant l'apparition des fonctions _StartupTools et _ShutdownTools, il fallait initialiser les outils dans un ordre prcis, en gardant l'esprit que tous ne ncessitaient pas les memes paramtres... C'tait fastidieux. Maintenant, il suffit d'empiler un mot-long comme espace de retour, un paramtre qu indique que l'on utilise une adresse, un handle ou une ressource comme table de paramtres, on empile le paramtre et on appelle StartupTools. Au retour on dpile une adresse. Le paramtre pointe sur une table qui est structure de la faon suivante: Offset 0: Ds 2 Offset 2: SCB (normalement $0080, mode 640) Offset 4: Ds 2 Offset 6: Espace pour le handle de la page zro Offset 10: Nombre d'outils initialiser Offset 12: Numro du premier outil Offset 14: Numro de version du premier outil Offset 16: Numro du second outil ... La Toolbox s'occupe d'allouer le handle en page zro pour l'espace de travail ncessaire au fonctionnement des Tools, c'est a de moins s'occuper. Au retour, StartupTools renvoie une adresse qu'il faudra passer ShutdownTools pour effectuer l'opration inverse. Il est conseill de s'occuper de la barre de menus immdiatement aprs l'initialisation, ainsi que de la dfinition du mode de fonctionnement des outils. ------------ Suite de l'article pour le numro 8 -------------- Prambule Nos domaines publics sont gratuits car seuls le prix du support et les frais de transport sont votre charge. Nous prfrons que votre argent aille chez ceux qui font vivre ce catalogue. Les meilleurs programmes sont souvent "Shareware", si vous les utilisez et dsirez les garder, n'oubliez pas de rtribuer leurs auteurs, cela les encourage poursuivre et nous aide mieux utiliser et apprcier notre machine. GS.Club.1: Fontes, 49 polices de A B Alice 9,12,18,24 - Aberdeen 12,24 - Abbeydeco 14,28 - Austin.Econ 9,10,12, 18,20,24 - Athens 18 - ASL.Fingers 14,18,24,36,48 - ASCII 12 - Art.Deco 9, 12,18,24,36,48 - Apple.I 18 - Andover 12 - Amslan 18 - Akashi 12 - Bookman 10,12,14,18,24 - Bubbles 14,24 - Broadway 24 - Brennero 12,24 - Bouton 24 - Boise 18 - Blockbuster 36 - Black.Shadow 48 - Berkeley 18 - Basel 48 - Babylon 18 - Border 12 GS.CLUB.2: Fontes, 48 polices C Cairo 9,18 - Calligraphy 24,36,72 - Camelot 12,18,24 - Candy 24 - Carmel 24 - Cartoon 12 - Celtic 72 - Centura 12 - Chicago 12 - Chicagonight 12 - Chicmath 9,12,18,24 - Chugach 12 - Ciao 12 - Circus 36 - Cirth 24 - Colville 9 - Copenh.Gen 9,12,24 - Cosmo.Black 72 - Courier 9,10,12,14,18, 20,24 - Coventry 12 - Creamy 10,12,20,24 - Cross 24 - Cupertino 12,14,24 - Cursive 12,24 - Cyril 12 - Cyrillic 12 GS.Club.3: Fontes, 50 polices D.E.F.G.H.I Dali 24 - Dallas 12,18,24 - Deep.Box 36 - Demographics 36 - Detroit 24 - Dots 24 - East.Orange 18 - Egypt.Alpha 18 - Elvish 12 - Eon 12 - Equations 12 - Exeter 12 - Fancy.Caps 72 - Florence 12,24 - Floor.Plan 9,24 - Future 9,12,24 - Geneva 9,10,12,14,18,20,24 - Greek 12 - Greenbay ? - Ham 14 - Hebrew 18 - Helvetica 9,10,12,14,18,24 - Hollywood 12,18,24 - Hombre 18 - Hood.River 12 - Hunt 18 - Infocom 36 - International 2 - Internationl 12 - Isengard 18 GS.Club.4: Fontes, 51 polices J.K.L.M. Joe.Clement 9 - Juneau 9,10,12,18,20 - Kappa.Bold 12,18,24 - Lansing 24 - Larr 12 - Las Vegas 12,24 - Led 24 - Lineal 18 - Little.Box 18 - Liverpool 12,18,24 - London 18,36 - Long.Island 12,18 - Los.Angeles 12,24 - Lothl.Rien 12 - Lyon 12 - Manhattan 12,24 - Marie 12 - Medici 9,10,12,18,24 - Milano 12,24 - Miscpix 24 - Monaco 9,12 - Montreal 9,12,18,24 - Music 10,14, 18,24 - Moscow 12 - Mos.Eisley 12,24 GS.Club.5: Fontes, 47 polices N.O.P. Newcentshbk 10,12,14,24 - New.York 9,10,12,14,18,20,24,36 - N.Helvetnar 10,12, 14,24 - Nordic 12,18,24 - Ny.Night 12,24 - Ophir 12,24 - Ottawa 9,10,12,18,20,24 - Paint 18 - Palatino 10,12,14,18,24 - Palo.Alto 12,24 - Paris 9,12,18,24 - Phoenix 12,14 - Pica 12 - Pittsburg 10 - Premiere 24 GS.Club.6: Fontes, 51 polices S. Saigon 12,18,24 - San.Fran 18 - Sanfrisco 18 - San.Quentin 24 - Santa.Monica 24 - Santiago 12 - Scan 48 - Scan.72 72 - Script 12,18,36 - Script.math 12 - Seattle.Rice 12,24 - Shadow.Box2 36 - Shoppe 24 - Sierra 12,24 - Star.Trek 12,18,24,36,48 - Star.Fleet 9,12,18,24 - States 24 - Stencil 12,24 - Stiletto 14,28 - Stuttgart 9,12,18,24 - Sunnyvale 24 - Swan.Song 12 - Sydney 12,24 - Symbol 9,12,18,24 - Symbol 18 Binr GS.Club.7: Fontes, 46 polices R.T.U.V. Rangers 18 - Ravenna 12,24 - Rehovot 10,12,20,24 - Rome 18,36 - Runes 12,24 - Taliesin 18 - Tiffany 12,24 - Times 9,10,12,14,18,24 - Tiny.2 12 - Tiny.font 9 - Tombstone 24 - Toronto 9,12,14,18,24 -Toyland1 36 - Toyland2 36 - Trekfont 12 - Tucson 10 - Uncial 18 - Vancouver 9,10,12,14,18,20,24 - Vectors 9,12 - Venice 12,14,24,28 GS.Club.8: Fontes, 21 polices W.Z. Walla.walla 12 - WashingtonDC 9,12,24 - Wartburg 12,24 - WhiteShadow 48 - Williamsburg 12 - Willowdale 9,12,14,18,24 - Woodstock 12 - Wowzo 14 - Zapfchancery 12,14,18,24 - Zapfdingbats 12,24 GS.Club.9: 20 dessins ou digitalisations pour GS/Paint en 300*200 Cosmonaute, Apple IIGS, 3 visages de femme, Chevaux, Tigre royal, Carte CI, Vieille voiture, Sphres, Le canard fou, Quoi d'neuf docteur?, Dragon, Robot, Engin spatial, Dark vador, Donjons et dragons, Robinet, Max Headroom, Clair de lune T.V. GS.Club.10: Utilitaires SHR.Convert V2.1 ---> convertit toute image Apple II en image haute rsolution pour le GS et aussi capable de convertir des images provenant du Mac, du Commodore 64 ou 128, de l'Atari ST ou au format GIF, ces images devront avant tre mises sur une disquette Prodos ou tlcharges. ECP8 et ECP16 ---> commandes Prodos tendues, documentation sur le disque. GS.Club.11: GS Fun Pack par Joel Prail 9 accessoires de bureau NDA: Chronograph, Doddle pad (calepin), Fade out, Memory check, Mouse Info, Volumes on line, Show prefix, Desktop filer, Mouse time HM et HMS GS.Club.12: Polysons 4.1 par Babar de St Cyr Transformez votre GS en synthtiseur. Attention, vos ports 1 et 2 ne doivent pas tre declars sous la forme "your card" sous peine de plantage intempestif lors de la recherche de l'interface MIDI, toutefois Le logiciel fonctionne sans l'interface.(Il faut 1 mga de RAM) GS.Club.13: N'existe pas ! Le claviste est superstitieux... GS.Club.14: Rendez-vous en U.R.S.S. Un jeu d'aventures en Basic et en franais. La solution est sur le disque, on peut lister le programme. GS.Club.15: Classic Desk Accessories gogo Pic.Saver - TypeIt.DA - CPR - HDB.Convert - Notepad - Calendar.DA - Setslot.CDA - Simplterm.CDA - Slotswitch.DA - Rat.Calc.DA - Setspeed.CDA - DiskInfo.DA - Notepad.DA - Dumpit.DA - PwFix.CDA - Visibell - MTRemover - Master.DA - Interupt.Detect - Write.Protect - SCC.Regesters - Mousetxt.Re - Move.Clock.v1.1 - Mangler.DA et Install.DA pour les installer. GS.Club.16: New Desk Accessories gogo Meltdown.NDA - Memory.NDA - Puzzle - Control.NDA - Locator - Frantic.NDA - Panel - Rinky.Saver - Showtext.V1.2 - Showpic - Ruler.NDA - Confucius - Havok - Panic - ScreenSaver - VisuBram.NDA - Vir - STV.NDA - StrShow - SP.K - ScrapBook - Saver - RemoveFile - Position.Souris - avec Install DA pour les installer et Two.Apples.V2.1 pour doubler le nombre d'accessoires GS.Club.17: Diversi Softs mai 1988 Diversi Cache --> acclre les accs aux disques, certains programmes y sont allergiques. Diversi Key --> des Macros partout Diversi Copy --> copieur universel 3,5 et 5,25 Diversi Hack --> accs au moniteur et impression de l'cran tout moment Diversi Tune --> version dmo du programme commercial, couter GS.Club.18: Jeux de lettres par Donald Un logiciel franais contenant un dictionnaire de plus de 20 000 mots et qui vous propose de jouer aux anagrammes, au boggle et au mot le plus long. Il s'utilise avec la souris. GS.Club.19: Parcours de golf pour Mean 18 Six parcours de golf pratiquer pour ceux qui possdent le logiciel de simulation de golf Mean 18 d'Accolade. GS.Club.20: Digital Show.1 par Yann St Jalmes GS.Club.21: La Mm Une Bande Dessine dmente, un son infernal, une atmosphre glauque, plongez dans le mtro avec Mm et gare l'explosion. GS.Club.22: Antic's Slide Show par lui-mme GS.Club.23: Undersound, Belfort cuve 88 Booter pour apprcier le batteur, puis avec AppleWorks, lire les fichiers. Une information essentielle sur le son et l'Ensonic, le tout en franais. GS.Club.24: Music Studio Dmo Comme son nom l'indique, c'est la version de dmonstration de Music Studio 2.0. A mettre dans son lecteur et couter, on ne peut rien faire d'autre avec. GS.Club.25: Sons pour Music Studio Les musiques de cette disquette ne peuvent tre utilises que si vous possdez le logiciel Music Studio d'Activision. GS.Club.26: Navigator Dmo Ecrit par Marc Bavant, Navigator est un logiciel Hypermdia du type HyperCard ou HyperStudio. Pour utiliser cette version dmo, il faut recopier les tools 50, 51 et 52 qui se trouvent dans le fichier /NAVIGATOR.DEMO/SYSTEM/TOOLS dans le fichier TOOLS de votre disquette systme. Une fois cela fait, il faut lancer le programme NAVIGUE.SYS16 partir du Finder. GS.Club.27: Fontasm 1.0 de Stephan Hadinger Un diteur de fontes de caractres de trs belle facture, crit par un Franais, en shareware pour 150 F. Il permet tout ce que doit pouvoir faire un diteur digne de ce nom, sans concurrence ce prix! GS.Club.28: Dessins pour Print Shop GS 171 dessins pour le logiciel Print Shop GS de Broderbund Software GS.Club.29: Sound Studio Un domaine public qui permet d'couter les sons digitaliss, de faire varier la vitesse, le volume, d'inverser le signal, d'couter en continu... Celui-ci est accompagn de sons rcuprs par T.Rice et J.Rey. GS.Club.30: Utilitaires gogo Une disquette pleine d'utilitaires dont les principaux sont: Freeterm (Un programme de communication), Funkeys (Un programme qui donne des touches de fonction), Skew.Format (un formateur de disque dur bas niveau), Vaccine et Anti.Virus ( la chasse aux maladies infectieuse des disquettes et disque dur), ProArc et DeArc (compactage et dcompactage de fichier), UtilityWorks GS, PrintBuf, Squirt etc...livrs en l'tat et dcouvrir GS.Club.31: Speedy.Smith 2.2 du Sergent Claude Le copieur ultra rapide du Sergent Claude dans sa dernire version avec leur aimable autorisation. Ne tenez pas compte du catalogue, c'est un gag, bootez-la tout simplement. GS.Club.32: Technotes Apple II GS volume 1 Toutes les notes techniques jusqu'en avril 89. En anglais of course GS.Club.33: Technotes Apple II GS volume 2 GS.Club.34: Jeux Gogo Mastermind, Wargame mdival, Yahtzee, Wheels of Fortune (vitesse lente 1Mhz), Solitaire (Russite), Dazzler et Bounce it (Shareware), Tower of Hano. GS.Club.35: C Fichiers sources d'une paie en C crite par M. Ben Amor. Ncessite APW C. GS.Club.36: Sduction par F.Auzanneau et J.B Vah Version dmo de ce jeu dont le but est de sduire l'autre lors de promenades dans la ville. Disponible auprs des auteurs, adresse et prix sur le disque. GS.Club.37: Scrabble par Donald Version de scrabble souris et menus droulants en super haute-rsolution comportant un dictionnaire de 20 000 mots. Contre une bote de disquettes l'auteur vous enverra la version 75 000 mots. Explications dans le menu pomme. Ncessite 1 Mo de Ram. GS.Club.38: Demo of Swordan par Visionware Dmonstration d'un jeu de type Hroc-Fantasy aux graphismes et au son trs soigns. GS.Club.39: Star Wizard par Sergent Claude Belfort cuve 89. Votre vaisseau spatial est dans le labyrinthe de Dalmion. Prsentation en trois dimensions. Ce jeu se joue au joystick, les boutons pour tirer ou avancer et le manche pour tourner monter ou descendre. GS.Club.40: Amdos par Gary Little Disquette 3,5 p divise en 2 volumes de 400K sous le systme d'exploitation DOS 3.3. Elle vous permet d'utiliser ce systme partir des lecteurs 3,5p. Attention on ne peut y mettre que des programmes standarts, copiables par Copy A. Bootez la disquette, tapez RUN RUN.ME pour accder aux mode d'emploi, 1 pour imprimer ou 3 pour lire sur l'cran. GS.Club.41: Carte Stro V.2 par J.Rey La version amliore de la carte stro avec ampli de 2W incorpor. Les fichiers ncessitent VS/Draw ou Top Draw pour tre utilisables. Le club peut adresser une photocopie des articles (envoyer une enveloppe pradresse et timbre 2,20 F pour le retour) GS.Club.42: Poly-Gnes dmo par M.Sordoillet Dmonstration du logiciel d'aide la recherche en gnalogie crit en mode desktop avec menus droulants par M.Sordoillet. GS.Club.43: Animations 11 animations visibles par Animation.View prsent sur le disque ou par GS/Paint ou Paintworks Gold: Abuser.Show, Fight.Show, Garfield.Show, Nuke.Show, Waterfall.Show, CPU.Show, Fly.Show, Angel.Show,Dragon.Show, Esher.Show, Saturn.Show. GS.Club.44: Parcours de Golf pour Mean 18 (Disk II) Monarch.m18, Oceanhil.m18, Rriver.m18, Restless.m18, Makaha.m18, Kayak.m18 Ncessite le logiciel de jeu Mean 18 d'Accolade. GS.Club.45: Parcours de Golf pour Mean 18 (Disk III) Wild1.m18, Vhills.m18, Swope.m18, JimClay.m18, Sonovar.m18, Rockwood.m18. Ncessite le logiciel de jeu Mean 18 d'Accolade. GS.Club.46: Parcours de Golf pour Mean 18 (Disk IV) Ottawa.m18, Island.m18, Green.m18. Ncessite le logiciel de jeu Mean 18 d'Accolade. GS.Club.47: Jeux (Volume II) Concentration : Un jeu de mmory. Pyramid : une russite originale. Poker. Life: le jeu de la vie. Yellow sub: arcade sous-marine. Backgammon. Music Game: un jeu de mmoire visuel et musical. Maze creator: imprimez sur papier ou cran les labyrinthes de votre choix. GS.Club.48: Mines of Moria de Alan Koeneke Explorez le pays de Moria. Un jeu d'aventures en anglais, graphismes en mode texte, gestion trs complte, au dbut, vous crez votre personnage, documentation sur le disque. GS.Club.49: Alzan de H.Chapotin et C.Besson jeu d'aventures en franais. Vous devez quitter la ville tout prix. Domaine public rcupr au USA !!!? GS.Club.50: Divers et utilitaires (Volume II) MIDI.PLANS- CONVERTSOUND- SURFBELL- P8.LAUNCHER- ANIMATION.GS- SLIDE.SHOW- PICSOUND- FIXCOLOR- DECOMP- DIVERSI.SCOPE- PLASMALIFE.2- MAXCOLOR- COLORTONE- BOUNCE.APPLES- SUPERLATHER- ADDRESSMANAG- CASSETTE.LABEL- CLIPLIB.F GS.Club.51: Sons pour Music Construction Set Les fichiers Blues, Classiques, Jazz, Waltzes et Ragtime sont de Philippe Nicolas. Ncessite le logiciel Music Constuction Set GS.Club.52: Sons digitaliss + sound studio (Volume II) Big Ben, Bonk oh, Hal my mind, Jet, Pig Ignorance, Shuttle, Superman, T.Zone. GS.Club.53: Divers et utilitaires (Volume III) MUSICSTUDIOSNGS, NOIZE, DTUNE.DEMO, VIEWPIC, C1.SAVER, KALEIDO.PRIMER, INWARP.S16, PS.CONVERT, WINDOW, PANORAMIX, SETUP.SELECT, LAUNCHBOX.S16, CAT.TEX, DIALOG.MAKER (Crateur de fentre sous Merlin, gnial!), PUPS, BASIC.PATCH Programmes avec le source APW (STARTPIC-SHOWPIC-MEMORY-SHOWCLIP-CALLBYPT- PALETTE-PUZZLE-GENERIC-MOUSETRACK-MELTDOWN-PRINTSCR-APASSTUFF) GS.Club.54: Fontes pour le logiciel Print Shop de Broderbund Software GS.Club.55: Bordures pour le logiciel Print Shop de Broderbund Software Bordures noires et bordures en couleur. GS.Club.56: Images 16 palettes de M. Arnaud Un slide-show de 23 images en 16 palettes ralises par M. Arnaud. Appuyer sur espace pour passer d'une image l'autre. Un superbe travail. GS.Club.57: Polysons Version 5.1 par Babar de St Cyr La dernire version du logiciel dcrit dans GS Club 12. Attention, celle-ci ne fonctionne qu'avec GS/OS 4.0. Documentation sur le disque. GS.Club.58: 50 images compactes pour GS/Paint ou PaintWorks Gold HURRICANE_F15.2_F15.1_BMW.1_ZZ-RETRO_PORSCHE.911-PORSCHE-PEUGEOT.405_PEUGEOT.205.B_ PEUGEOT.205.A_MERCEDES.500K_MERCEDES.300SL_MAZDA_FERRARI-FERRARI-DELUXE BUGATTI_BMW.2_BENTLEY_MAD.MAX_NINJA_HARLEY_STAR.WAR.2_STAR.WAR.5_STAR.WAR.4 STAR.WAR.3-STAR.WAR_BABAR_TORTUE_POUSSIN_PORKY_PEGASE_PAYSAGE_MONSTRE MARIONNETTE_MANEGE_MAGICIEN_KIRK_GARFIELD_AT.4_CHAT.3_CHAT.2_CHAT.1_CASTOR_ CANETON_BELLE.VAGABOND_BAMBI.2_MBI.1_ALICE GS.Club.59: Images envoyes par M.Pointet pour GS/Paint JAGUAR.NOIRE_PUZZLE.LAPIN_FEN.EDITION_POUPEE.4_POUPEE.3_POUPEE.1_HADDOCK_LEGUMES_ POUPEE.2_CRISTAL.JOUR_JAGUAR.BLEUE_CANTON.DE.VAUD_FRUITS_ROSE_CRISTAL.ROUGE_ CRISTAL.BRUN_CRISTAL.NB_CRISTAL.NUIT_LE.SON.I_LASSO.5_AZ.BB__LASSO.1_LASSO.2__ LASSO.3_LASSO.4_D.GS.00_D.GS.01_D.GS.02_TINTIN.ZOUAVE_POUP.CHIN_PHARAON_LINDBERGH_ CAMION_D.GS.03_D.GS.04_D.GS.05_D.GS.06_D.GS.07_LE.SON.K_ GS.Club.60: Fontes et images pour GS/Paint Fontes Romandes: ROMANDE.12_ROMANDE.24 Fontes: SYMBOLS.36.24_MOBILE.18_ GENEVA.12_GENEVA.10_CENTURY.18 Images BD: CORTO.2_ASTERIX.2_VALENTIN_TOURNESOL.640_SCHTROUMPF_PANTHERE.ROSE_ OBELIX_MICKEY.MAGE.DBL_MARSUPILAMI.4_MARSUPILAMI.3_MARSUPILAMI.2_MARSUPILAMI.1_ LUCKY.LUKE_LES.DUPOND.JEEP_LEONARD.2_LEONARD.1_IZNOGOUD_GASTON.7_GASTON.6_ GASTON.4_GASTON.3_GASTON.2_GASTON.1.640_DONALD.DAISY_CORTO.1_BUGS.BUNNY_BIDOCHON_ BETTY.BOOP_ASTERIX.3.640_ASTERIX.1 Dessins Thunderscan: COMPTEL_TRAIN.2_TRAIN.1_TORTUE.ARA.1_TORTUE.ARA_TIGRE_ SOURIS_RENARD_PARANTHROPE_OISEAUX_MANCHOTS_LE.CHAT.GAG.2_LE.CHAT.GAG.1_GYPAETE.N_ GRENOUILLE_GORILLE.1_GORILLE_ELEPHANT_DAME_PERIPHERIQUES GS.Club.61: Mandel 2.0 par E.Jarrige Fonctionne seulement sous GS/OS 4.0. La documentation est sur le disque, ainsi que le source du programme en TML Pascal. Logiciel de fabrication et de rcuprarion d'images fractales. GS.Club.62: USA.Stack par Philippe Nicolas Pile hyperstudio donnant l'information essentielle concernant les diffrents tats des USA. Ncessite le logiciel HyperStudio de R.Wagner. GS.Club.63: Collection imaginaire par C.Marker Pile hyperstudio prsentant une collection de timbres imaginaires et d'autres essais. Ncessite le logiciel HyperStudio de R.Wagner. GS.Club.64: Premiers essais par D.Melchior Deux piles hyperstudio, la premire est une prsentation du GS Club ralise pour Apple Expo, la seconde, l'bauche d'un premier vocabulaire. Ncessite le logiciel HyperStudio de R.Wagner. NOUVEAUTES Les 15 disquettes de fontes sont arrives. Mises en ordre alphabtique, elles occupent 13 disquettes.Ce sont des fontes pour GS/Paint, Appleworks GS, Multiscribe etc... Elles ont t collectes par Mark Collins l'auteur de Font Doctor, il a tri toutes ces fontes du domaine public qui ne prsentent pas de conflits de type entre-elles. GS.Club.65: Fontes A ATHINAI.12-ANDOVER.9-ANGLICAN.18-ART.NOUVEAU.18.36.24-ALBUQUERQUE.9.10.12. 18.20.24-ARLINGTON.9.10.12.14.18.20.24.36-ATHENA.12.24-ASCII.CITY.12 ASTROLOGY.24-APL.12.24-ASKEY.18-ASTROBIO.12.24-ASTROLOGY.12-ATL.CITY.36 ANTIPART.9.10.12.18.20.24.36-ASTAIRE.9.12.18.24-ART.DECO.9.12.18.24.36.48 AVANT.GARDE.10.12.14.18.24-ARMONK.24-ABBEYDECO.14.28-ABERDEEN.12.24 AKASHI.12-AMSLAN.18-ANDOVER.12-APPLEI.18-ARABIC.24-ARMONK.12-ATHENS.18 ASCHAM.9.10.12-ASL.FINGERS.14.18.24.36.48-ARAGON.24-ASCII.12-AUST.ECON.9.10. 12.18.20.24-AGUAMUNDO.12.24-ALDERNEY.9.10.12.14.18.20.24.28.36.48 ALICE.9.12.18.24-ALISON.24 GS.Club.66: Fontes B BOSTON.18-BOMBAY.12.24-BULLETS.12-BODONI.9-BAUHAUS.10.20-BEV.HILLS.L.36.72 BODONI.10.12.14.18.20.24-BRENNERO.12.24-BZ.9-BORDERLINE.18-BELLEVUE.8 BODONIULT.14.36-BENEVENTAN.12.24-BILLSDING.30-BODONIULR.18-BARABOO.36.48.72 BARRINGTON.10.12.14-BARTLETT.30.36.48-BATAVIA.14.24.36.48-BOOK.36-BOSTON.48 BOSTONII.18-BOOKMAN.9.10.12.14.18.24-BOSTON.9.10.12.20.24-BOSTONII.9.10.12.20.24 BLACK.SHADOW.48-BABY.TEETH.18-BANNER.24.48-BANNER.IT.24.48-BARCODE39.9.12.18 BASEL.48-BERLIN.12-BLOCKBUSTER.36-BOUTON.24-BOISE.18-BOLD.1.48-BUBBLES.24 BABYLON.18-BERKELEY.18-BORDER.12-BOXIE.10-BROADWAY.18.24-BUBBLES.14 BANGKOK.12.24-BEVHILLS.9.10.12.14.18.20.24.28.48 GS.Club.67: Fontes C CANTERBURY.14-CIRCUITS.14-CLAIRVAUX.10.12.14.18.20.24.28.36.40 COLUMBIA.9.10.12.14.18.20.24-CALDWELL.9.12.18.24-CANTON.12.24 CAVANAUGH.18.36-COLOGNE.10.20-COSMO.BK.LC.72-COSMO.BK.UC.72-CARVEL.24 CLEAN.9.10.12.18.20.24-CHISYM.10.12.14.18.20.24.28.36.40.48 CAIRO.8.9.16.18.36-CALLIGRAPHY.12.18.24.36.48-CHICAGO.9.12.14.18.24 CITY.9.10.12.14.18.20.24-CACTUS.DECO.18.36CT-87 -CACTUSDELUXE.48-CALGARY.36 CALISTO.18-CAMBRIDGE.36-CAMELOT.12.24-CANBERRA.12.24-CANDY.24-CARMEL.18 CHARLESTON.10-CARTOON.12-CELTIC.12.18.24.36-CENTURA.9.12.18.24.36 CENTURY.18.24-CHANCERY.24-CHUGACH.12-CHARLESTON.12.14.18.20.24.28 CHICAGONIGHT.12-CHICMATH.9.12.18.24-CHUBBY.24-CIAO.12-CIRCUS.12.18.24.36 CIRTH.48-CODE.3.OF.9.18-CODE.3.OF.9.24-CODE.3.OF.9.3-COLVILLE.9 COPENHAGEN.12.18.24-COPTIC.10.20 GS.Club.68: Fontes C.D.J CURSIVE.12.24-CYRIL.12-CYRILLIC.12-CYRILLIC.LT.12.24-CYRILLIC2.12 CZECH.12.24-CZECH.PLUS.12.24-CROSS.24-CROSSFIRE.18.24-CRUMB.LC.72 CRUMB.UC.72-CUNEIFONT.12.14.18.24-CUPERTINO.12.24-CUPERTINO2.12.24 COVENTRY.12-CREAM.10.12-CREAMY.10.12.20.24-COURIER.9.10.12.18.20.24.28 DIACRITICS.24-DURHAM.14-DETROIT.24-DEMOGRAPHICS.36-DEEP.BOX.36 DALLAS.12.18.24-DALI.24-DOTS.24-DUNDEE.12.18.36-DESPLAINES.12.18.36 DEERFIELD.09.10.12.24-DRAWING.9.10.12.14.18.20.24.28.36.56.48.40.72.80 DORIZA.10.12.18.20.24-DULLES.48-DOVER.8.10.12-DIGITAL.24-DES.MOINES.10.12.20.24 DANISH.DECO.24.48-DURANGO.56-DREAM.24-DEUTSCHLAND.36-DNCNGMEN.12-DIGITS.14 DIACRITICS.9.12.18-DETHEK.12.24 J.CLEMENT.72-JUNEAU.9.10.12.18.20-JOURNEY.12-JOHN.MORGAN.18-JAPANESE.12.24 JOLIET.18.24.36-JERSEY.12-JERSEY.BOLD.14 GS.Club.69: Fontes E.F.L EL.CAMINO.12.24-EASYSTREET.9.10.12.18.20.24-EXETER.12-EIRE.12-ELECTRONIC.12.24 ELITE.12-EON.12-EPSILON.12.18.24.36-ETA.MEDIUM.12.18.24.36-EYES.72 ELLESMERE.10.12.14.20.24.-EVANSTON.48-EDGEBROOK.09.12.18-EISLEY.12.24 EVANSTON.24.36-EQUATIONS.12-E.ORANGE.18-EGYPT.AL.18-ELVISH.12 FOOT.12-FLETCHER.12.18.24-FARGO.48-FIRENZE.18.24-FLINTSTONE.12.24.48.72 FLORENCE.12.24-FLOW.II.9.18-FUTURE.9.12.18.24-FUTURA.24-FANTASTE.18 FLOOR.PLAN.9.24-FANCY.CAP.72-FRACXR.12.24-FRAC.12.24-FRAME.1.12-FATRHINE.18 LUXOR.18-LILLIPUT.9-LITTLELAT.9-LKGENEVA.9.10.12.14.18.20.24-LYON.12-LANSING.24 LARR.12-LED.24-LIGHTSIGN.12.24-LITTLE.BOX.18-LOTHLORIEN.12-LAMBDA.18.24.36.48 LAMONI.9-LAS.VEGAS.36-LINEAL.18-LIONHEART.12-LIVERPOOL.12.24-LONG.ISLAND.12.18 LOS.ANGELES.12.24-LONDON.18.24.36-LEROY.12.24-LACHINE.9.10.12.14.18.20.24.28 GS.Club.70: Fontes G.T GUITAR2.24-GDSYWHL12-GERMAN.NY.12.24-GHOTHIC.12-GREECE.9.10.12.18.20.24 GUITAR1.12.24-GUITAR2.12-G.SHELTON.72-GLOSS.24-GORKY.9.18.24-GREENBAY.18 GANGSTERS.18-GIANTS.18-GRAFIK.12-GRANITEDECO.48-GREEK.10.12.24-GAVARNIE.9 FANTASTE.18-GAVARNIE.10.12.18.20.24.36-GE.9.10.12.14.18.20.24.36.48 GKANTIPART.9.10.12.18.20.24.36-GALENA.18.24.36-GLENCOE.14.18.36.48 GLENCOELT.9.10-GENEVA.9.10.11.12.14.18.20.22.24.36-GALLIA.18.24-GBSHAW.12.24 GRATITUDE.9.10.12.14.18.20.24.28 TRONDHEIM.9-THINRHINE.18-THORASS.12.24-TILE.18.24-TINYTOWN.8.9-TOLKIEN.18 TREKKIES.18-THTIMES.12.14.18-THTIMESBD.12.14.18-TRONDHEIM.12.18.24 TWIN.FALLS.24-TEMPE.12.24-TIMES.9.10.12.14.18.24-TREKFONT.12-TORONTO.9.12.14.18.24 TOYLAND1.36-TOYLAND2.36-TINY.FONT.9-TABLOIDDECO.48-TALIESIN.18-TBILISI.10.12 TECH.DELUXE.36-TEL.AVIV.9-TIFFANY.12.24-TINY.2.12-TINY.9-TITLE.18.24-TOKYO.14 TUCSON.10-TOMBSTONE.24-TROYES.10.12.20.24-TEENY.9.18-THAI.24.48 GS.Club.71: Fontes H.I.K HAMERSKJOLD14-HANFORD.9.10.12.14.18-HERFORD.9.10.12.14.18.20.24.28 HIRAGANA.24-HARTFORD.48-HELSINKI.9.12.18.24-HEX.CITY.12-HONG.KONG.9.12.18.24 HUNT.18-HEBREW.12.18.24-HOOD.RIVER.12-HACKER.18-HOUSTON.36-HAIFA.12-HAM.14 HAPCANYON.12.24-HEBREWCURSIVE24-HOMBRE.18-HONDA.18.24-HOLLYWOOD.12.18.24 HELVETICA.9.10.12.14.18.24-HIGHWOOD.10.12.14.18.20.24-HYDRAULIC.12 HUMANISTIC.18.36.48-IO.10.12.14-ISTANBUL.12.18.24-ICONS.72-INFOCOM.36 ISENGARD.18-ICON.12-ICON2.12-INGOTDECOLC48-INGOTDECOUC48-INTERNAT.12.24 INVERSE.12-ICONS.24C-IBMKLONE.12.24 ITASCA.24.36.48.72-IVYLEAGUE.18.24-KEYBOARD.36-KANCHI.12.24-KENDALL.12.24 KAWASAKI.12.24-KOREA.12.24-KALONA.9-KAPPA.BOLD.12.18.24 KEOSAQUA.9-KENILWORTH.12.18.36-KLINGON.24.48-KATHLITA.12 GS.Club.72: Fontes M MARS.18-MATHGK.12-MOSCOW2.24-MCXETA.10-METROPOLIS.12-MINIFONT.6-MINOAN.9.18 MOSCOW2.12-MIAMI.24.48-MINSK.12.24-M.PRNT.BOLD.14.18.24-MARIE.OSMOND.12 MADRID.18.24-MANHATTAN.12.18.24-MARQUEEDECOLC48-MARQUEEDECOUC48-MATRIX.24.48 MCCLOUD.36-MEMPHIS.24-MEDICI.9.10.12.18.24-MELROSE.12.24-MILANO.12.24 MILLENNIA.12-MINNEAPOLIS.18.36-MIX.18-MONTREAL.9.12.18.24-MORSECODE.12.24 MOSCOW.12-MAZEL.TOV.9.14-MATHMETEOR.12.24-MUNICH.36-MICROBOSTON.12.24 MINIBOSTON.12.24-MOUTH.126-MANTECA.18.24.36.48-MILAN.12.24-MONTEREY.10.12.14.18.24 MOUTH.18.36.72-MICRO.9.10.12.18.20.24-MOBILE.18-MONACO.9.12.18.24 MILWAUKEE.12.24-MISCPIX.24-MUSIC.9.10.14.18.24-MODE.12-MIKE.24 MADEIRA.9.10.12.14.18.20.24.28-MACSYMBOLS.12.24 -MICGRAMA.10.12.14.18.20.24.36 MORIA.12.24.48 GS.Club.73: Fontes N.Q.U NOVA.ROMA.12-NEON.24-NORTHBROOK.18.36-NORDIC.36-NEW.HAVEN.24.36.48 NEW.MONACO.9.12.14-NORDIC.9.12.18.24-NY.ITALIC.18-NY.NIGHTS.12.24 NARROW.10.12.14.18.24-NOSE.18-NBC.9.10.12.14.18.24.36.48-NOSE.36.72.126 NAMPA.9-NAZARETH.36-NOVA.24.36-NOVGOROD.9.12.18.24-NY.HEADLINE.24.36.48.72 NEWCENTSCHL.10-N.HEL.NAR.10.12.14.18.24-NEW.YORK.9.10.12.14.18.20.24.36 NEWCENTSCHL.12.14.18.24-NORWOOD.24.48-NESHOTA.8.9.10.12.14.16.18.20.24. 27.28.30.32.36.40.42 QUEBEC.48 UTILSAMP.36-UNDERWOOD.12-ULTRA.12.14.24-UPSILON.24.36-UNCIAL.18 ULTBODONI.12.18.24 GS.Club.74: Fontes O.R.Z OSAKA.12-OBLIQE.9.12.18.24.36-OCR.A.12.24-OPHIR.12.24-OTTAWA.18 OLD.ENGLISH.18-OLD.WEST.36-OMEGA.12.24-OPTIMA.10.12.14.18.24-ORN.ARABIC.24 OTTAWA.9.10.12.20.24.36.48-OXFORD.36.48-OLD.CHURCH.12-OSLO.9-OBISPO.20 OLDYORK.12.24-ORBIT.9.10.12.14.18.20.24 RIVENDELL.14-RCA.9.10.12.14.18.24.36.48-ROSELLE.12.24.48.72-ROUND.12-ROGER.18 RODCHENKO.36-REHOVOT.10.12.20.24-RODCHENKO.10.12.14.18.24-RUSSELL.SQ.14.18.24.36 R.WILLIAMS.36-RENO.5.9.10.18-RUNES.12.24-RANGERS.18-RAVENNA.12.24- RHO.SEMIBOLD.12.18.24.36-RIVIERA.12.24-ROME.18.36-RUSSIAN.12-RHINE.12.18.21 ZODIAC.18-ZAPF.DING.10.12.14.18.24-ZAPF.CHAN.10.12.14.18.24 GS.Club.75: Fontes P.V.Y PALATINI.10.12.14.18.24-PHILADELPHIA.12-PIERCE.24-PHI.DISPLAY.18 P.AND.I.24.72-PARK.AVENUE.18-PATTI.18-PEIGNOT.BOLD.48-PHI.DISPLAY.24.36 PHOENIX.12.14-PICA.10.12-PLYMOUTH.36-PREMIERE.24-PRINCETON.10.12.20.24 PASCO.12.24-PALENCIA.9.10.12.14.18.20.24.28.36-PEIGNOT.10.12.18.20.24 POCATELLO.24-PEKING.9-POCATELLO.12-POLISH.12.24-PORTLAND.24-POSTAL.A.18.36 POSTAL.B.18-PALATINO.10.12.14.18.24-PARIS.9.12.18.24-PAINT.18 PALO.ALTO.9.12.18.24.36-PIONSHAD2.36-PARISIAN.14.18.20.24- PITTSBURGH.12.14.18.24.28.36-PLAYBILL.12.18.24-PROVO.10.12.20.24 VINES.24-VENICE.12.14.24.28-VANCOUVER.9.10.12.14.18.20.24-VIENNA.18 VENUS.14-VECTORS.9.12 YORK.9.10.12.14.18.20.24.28.36.40.48-YHPARGILLAC.12 GS.Club.76: Fontes S SILIBEACH.12.24.48-SILOAM.10-SPARTA.18.20.24-SCOTTSDALE.12.24-SANS.SERIF.18 SANTA.FE.9.10.12.18.20.24-SILICON.24-SPAIN.72-STALINGRAD.12.24-STOCKHOLM.12.24 SHASTON.16-SEATTLE.RICE.12.24-SAIGON.12.18.24-SANFRANCISCO.12-SEATTLE.10.12.20.24 STAR.FLEET.9.12.18.24-STAR.TREK.12.18.24.36.48-STUTTGART.9.12.18.24-STATES.24 SCHEMATIC.24-SILVALLEY.10.20-SHADOW.BOX.2.36-SALAMIS.12.18.24-SAN.DIEGO.18 SAN.QUENTIN.24-SANTA.MONICA.24-SANTIAGO.12-SCAN.48-SCRIPT.12.36-SCRIPT.MATH.12 SHOPPE.24-SPEED.24-SIERRA.12.24-SIGMA.12.24-SIGMA.BOLD.18.24-SIGNAL.FLAGS.72 SILICON.VAL.12-SLIM.18.24.36-SUNNYVALE.24-SQUARE.SERIF.24-ST.THOMAS.12.24 STENCIL.12.24-STENCIL2.24-STILETTO.14.28-STRIPE.24-SUNNYVALE.12-SWAN.SONG.12 SECRET.24-SPOKANE.18.36-SRI.LANKA.9.10.12.14.18.20.24.28-STBRUSH.12.24.36.72 GS.Club.77: Fontes S.W SYDNEY.12.24-SYMBOLS.24.48-SYMBOL.9.12.18.24-SWIFT.8.16.24.36 WINNETKA.10.12.14-WASHINGTONP.36.48.72-WESTWOOD.18.36-WHEATON.12.18.24.36 WORKSHEET.9.12.18.24-WILSON.LC.72-WASH.DC.24-WALL.ST.9.10.12.14.18.20.24.28. 36.48-WASH.DC.9.12.18-WILLOWDALE.9.12.14.18.24-WRITE.12-WOODSTOCK.12 WALLA.WALLA.12- WARTBURG.12.24-WELLS.48-WHITE.SHADOW.48-WHITEHALL.18 WILLIAMSBURG.12 GS.Club.78: Hyper GS par Chris Marker Pile hyperstudio transformant votre GS en hyper GS GS.Club.79: Stack Central n0 Exemplaire 0 de la revue Stack Central consacre HyperStudio. Numro 1 paratra en Janvier 90 GS.Club.80: Systme Solaire par M.Pintore Pile Hyperstudio GS.Club.81: Photonix par le FTA Un super copieur avec dtecteur de virus incorpor et plein d'autres possibilits, documentation sous forme de fichier APW. GS.Club.82: Templates Appleworks GS AD.COST-APPTS.-ASCII.TABLE-BALANCE.SHEET-BANQUET.CKLIST BIOTECHNOLOGY (Z.TO.INFINITY-BIOTECHNOLOGY-ESP.1.THRU.4-ESP.5-ESP.6-ESP.7 LUCID.DREAMING-ULTRACONSCIOUS) BOOK.REFS.-BREAK.ANALYSIS-BUS.INCOME-CAR.LETTER-CASH.FLOW-CHECK.BALANCE CLUB.MEMBERSHIP-COIN.COLLECTION-CONSOLIDATION-CREDIT.CARDS-DEPRECIATION EXP.ANALYSIS-GOOD.FAITH.EST.-GRADEBOOK-HOME.BUDGET-INVOICE-JOB.ESTIMATES JOB.LOG-KITCHEN.MEASURE-LEASE.TABLECOST-LOAN.PAYMENT-MAIL.COST-MILEAGE.COST OUR.BUDGET-PERSONAL -PERSONAL.WORTH-QTRSCHED.-QUALIFIER-QUEVING.MODEL RENTAL.INCOME-RETAIL.SUMMARY-ROLODEX-SALES.ANALYSIS-SALES.FORCAST SALES.REGISTER-SAMPLE.MENUS-SEASONAL.INDEX-SECOND.QUALIFY-SOLIDS.ANALYST TOTL.ASSETS.ALL-U.S.PRESIDENTS-VALUABLES.DATA-WARDROBE.DATA-WEEKLY.EXPENSES GS.Club.83: DB Master Dmo La dmo officielle du gestionnaire de bases de donnes en mode texte. GS.Club.84: Test Pilote Priv par Loc Bruere Un QCM pour ceux que le pilotage en aroclub intresse. GS.Club.85: Genea par H.Thouvenin Une aide la gnalogie, programme en Basic Applesoft. GS.Club.86: Jeux (Volume III) Quatre jeux, shareware ou freeware: As the link Turn, Grackle, GS Lotto, Crystal Quest Dmo. GS.Club.87: Bouncing Bluster Boot GS.Club.88: Bouncing Bluster Data GS.Club.89: Boucing Bluster Construction Kit Trois disquettes pour un superbe jeu de casse-briques du mme type qu'Arkanod Vous pouvez fabriquer vos propres tableaux. J.F. Doue et J.M. Vallat mritent largement les 100F demands pour ce shareware. Un indispensable... Art.les.Plus Gestion.Titre de C.Virrion -------------------------- C'est un modle de gestion d'un portefeuille boursier sous le tableur d' Appleworks 1.4. Toutes les explications sont donnes dans le fichier traitement de textes Gestion.Boursires qui l'accompagne. Clavier VF de l'Anome et Maytu ------------------------------ NDA de francisation du clavier pour les logiciels comme Multiscribe, Appleworks GS etc... Cette version 3.2 fonctionne sans problmes avec GS/OS 5.0.  Son usage est trs simple: pour obtenir , il suffit de taper ^ suivi de e. pour obtenir , il suffit de taper les trmas suivis de e pour obtenir }, il suffit de taper ^ suivi de Clavier tendu disponible et virgule remplace par un point dans le pav numrique volont. A mettre d'urgence dans le dossier desk.access de votre system. Next NDA par Babar de St Cyr ---------------------------- A n'utiliser qu'avec GS/OS, ce NDA transforme un petit peu votre GS en Next. ( Next l'ordinateur de S.Jobs, vous savez bien, le co-fondateur d'Apple Computer...). Il prsente le contenu de vos disques de la mme manire. Art.spy Trois produits du Spy Network sur ce disque: -Spy Edit: diteur de blocs -Spy Saver: pour sauver sa Bram -Spy Check-up: pour chasser les virus SPY.EDIT 2.1 (+ SPY.SAVER ) Spy Edit 2.1 est un magnifique cadeau que nous fait le SPY NETWORK . Certains d'entre vous connaissent probablement l'ancienne version de Spy Edit qui tait sous forme de fichier Binaire . Spy Edit 2.1 est un fichier SYS (donc pas besoin d'tre sous Basic pour le lancer ) et a t l'objet de nettes amliorations . Mais tout d'abord de quoi s'agit-il ? C'est ce qu'on appelle un Editeur de Block ( cf Block Warden ) donc un outil potentiellement dangereux pour qui ne connait pas le problme : cela permet de lire ( et d'crire !!! ) directement sur les pistes et les blocs d'une disquette ( ou d'un disque dur ) pour en modifier les codes . Il est conseiller de ne travailler que sur des copies !!! Le mode d'emploi est en grande partie intgr et accessible par la touche "?" . Signalons toutefois quelques points forts et quelques trucs : - la fonction B ( Bitmap ) permet d'examiner la carte d'occupation de la disquette et de dclarer libres des blocs occups ( ou l'inverse , probablement plus intressant ) - il existe une fonction F ( Follow File ) pour "tracer" un fichier , voir ce qu'il contient , analyser ce qu'il fait en le dsassemblant grace ... - la fonction D qui effectue l'opration soit sur cran soit sur imprimante ( avec une option d'impression compresse fort commode pour les longs listings bouffeurs de papier ) . Ce dsassemblage ne se fait toutefois qu'en P8 . - la touche P ne sert qu' empecher le clignotement d'une petite pomme dcorative en haut de l'cran . - "A" permet d'afficher tout le bloc courant l'cran ( sinon on n'a qu'un demi-bloc et on bascule sur l'autre moiti grace la barre d'espacement ) ceci soit en Ascii soit en Hexa et on peut envoyer le tout sur imprimante . - "T" permet de lire ou d'crire en Bram - "Return" fait passer en mode Edition ( attention c'est pour modifier le contenu du bloc en lecture avant de le r-crire grace la fonction Write ) et l c'est le grand pied car on se dplace dans le buffer grace la souris et il y DEUX curseurs synchro , un qui se ballade dans les codes Hexa , l'autre dans le mode Ascii ! Cliquer sur la souris pour quitter le mode Edit . - "Q" ou "ESCAPE" , c'est pour sortir de Spy Edit , avec 3 options : Reboot , Quitte to Bye , Quitte to Monitor . Avec ce dernier choix on peut revenir Spy Edit par Q ou par CTRL-Y aprs s'etre ballad en toute libert dans le Bank zero car , suprme lgance , Spy Edit va se planquer en Bank 01 pendant qu'on est dans le moniteur . Mais si vous tiez sous Basic avant de lancer Spy Edit Q vous ramnera au Basic et non Spy Edit ( CTRL-Y le fera ). - il y a bien sur une fonction de recherche de chaine de caractres en Ascii ou en Hexa et plein d'autres choses ( changement de drive , Info sur le volume courant etc ... ) - A dcouvrir vous mme les beauts de l'option "M" avec quelques infos sur les auteurs ( vous avez dja vu des bouts d'cran graphique mlangs de l'cran texte , des lignes textes pas toutes de la mme couleur dans un mme cran ? non ? Alors scrutez... scrutez ! ) . A noter aussi un " mini-pige--c.. " sur lequel je ne dirai bien sur rien du tout ! Spy Saver que vous trouverez aussi sur ce numro de GS INFO n'a rien a voir avec ce qui prcde , mais est fort commode pour restaurer votre BRAM Spy Check Up permet de tester la prsence ou non de trois virus reconnus sur GS: Starfighter qui met tout au noir Odyssey qui crit "Sorry Dave i can't do that" le lundi seulement Load Runner qui se dclenche en Octobre en effaant le boot de la disquette. Si votre disque est infect, vous pouvez le nettoyer. Spy check-up inspecte aussi la BRAM et reconnat les boots spciaux, comme celui de GS Infos. B.TOMENO Art. GS.Infos.7 Dans ce numro, nous proposons une autre version de GS.Infos. Cette nouvelle version ne fonctionne qu'avec le nouveau systme 5.0. Avant de l'utiliser, il faut copier le dossier Manager.Rsc dans le dossier system de votre systme. Il contient la fonte utilise par la commande d'affichage. Ceci fait, pour la mettre en oeuvre, voici la dmarche suivre. - Ouvrir le dossier Gs.Infos.7 - Double-clic sur STRT.CLUB.SYS.16 - Clic sur Set Name - Clic sur OK - Dans la fentre de dialogue mettre sur le volume GSINF7 - Ouvrir nouveau le dossier GS.Infos.7 - Ouvrir le dossier Sources - Ouvrir le dossier GS Club - Lancer GSInfos - Cliquer le menu Programmes dans la barre de menus et choisir l'item GS Infos Le prototype s'affiche: - Editorial et impression dans le menu Gnral - Virus dans le menu Articles sont utilisables, les autres sont inactifs. Cette version est capable d'imprimer et utilise des fichiers Apw tabuls 65 caractres. C'est une version prototype qui est susceptible d'voluer trs vite, donc, vos remarques et suggestions sont attendues, dans la mesure du possible, nous essaierons de les satisfaire. Si aprs son usage, vous lancez une application P8, une erreur $201 sera provoque. Rebootez votre machine chaud. Art.jeux Poker.Challenge Gs ------------------ est un jeu de poker contre la montre o vous ralisez 25 jeux sur une grille de 5 cartes par 5 cartes en plaant le plus rapidement possible, en essayant de former des mains gagnantes, la carte qui vous est propose.par le tirage. Ce jeu est un shareware. Si au bout de 10 jours, vous dsirez le conserver, envoyez 10 dollars son auteur: Jim Sepanik 2206 Dean Leak NE Grand Rapids, MI 49505 Art.Editorial. Bonne anne et bonne sant tous ! D.Melchior. D'abord, un peu de thorie: -------------------------- - Une image SHGR type $C1 (65 blocs) comporte 32 768 octets occupant la zone mmoire $E1/2000 $E1/9FFF. - Les 32 000 premiers octets (200*160) correspondent aux 64 000 pixels de l'cran (en mode 320). - On trouve ensuite 200 octets (8*25) dterminant l'emplacement des diffrentes palettes (1 seule par dfaut). - Ensuite 56 octets vides. - Enfin 512 octets (32*16) dfinissant les 16 palettes possibles (toujours 1 seule par dfaut). I. IMAGE NORMALE 1 PALETTE -------------------------- On va afficher une image normale pour aller voir tout cela.... 1. lancer le programme "AFFICHAGE" 2. charger et afficher l'image "BIRDS" 3. quitter le programme (return) 4. passer en moniteur (call-151) 5. Taper E1/9D00. (return) * E1/9D00:00 00 00 00 00 00 00 00-........ * E1/9D08:00 00 00 00 00 00 00 00-........ * ETC... Tous les octets de la zone mmoire $E1/9D00 $E1/9DC7 sont zro donc seule la premire palette (N[0) est utilise. * E1/9DC8:00 00 00 00 00 00 00 00-........ ............. E1/9DE0:09 38 31 36 2F 50 61 69-.816/Pai * E1/9DE8:6E 74 00 00 0C 00 08 00-nt...... De $E1/9DC8 $E1/9DFF c'est la zone vide qui contient un message ...... (cette image a t cre avec PAINTWORKS GOLD). * E1/9E00:00 00 77 07 41 08 2C 07-..w.A.,. * E1/9E08:0F 00 80 00 70 0F 00 OD-....p... * E1/9E10:A9 0F F0 0F E0 00 DF 04-).p.'._. * E1/9E18:AF OD 8F 07 CC 0C FF 0F-/...L... * ETC.... Voil la dfinition de la palette n0 retenue pour le dessin. C'est la palette par dfaut (fichier UNTITLED quand on commence dessiner). On y trouve les couleurs suivantes: 00 00 = NOIR 77 07 = GRIS FONCE 41 08 = BRUN FONCE 2C 07 = VIOLET FONCE 0F 00 = BLEU VIF 80 00 = VERT FONCE 70 0F = ORANGE 00 0D = GRENAT A9 0F = ROSE ORANGE F0 0F = JAUNE E0 00 = VERT CLAIR DF 04 = BLEU CIEL AF 0D = VIOLET CLAIR 8F 07 = BLEU LAVANDE CC 0C = GRIS CLAIR FF 0F = BLANC Chaque couleur est dfinie sur 2 octets: 1 octet de 00 FF soit 256 possibilits 2 octet de 00 0F soit 16 possibilits on obtient 256*16 = 4096 couleurs ! II. IMAGE 16 PALETTES (DITHERSCREEN) ------------------------------------- Cette image (DITHERSCREEN) a t obtenue avec le programme de Jason HARPER "MULTICOLOR". Toujours avec le programme "AFFICHAGE" charger l'image, sortir du programme puis passer en moniteur: * E1/9D00:00 00 00 00 00 00 00 00 * E1/9D08:00 00 00 00 00 01 00 01 * E1/9D10:00 01 00 01 01 01 01 01 * E1/9D18:01 02 01 02 01 02 01 02 * ........................ * E1/9DC0:0F 0F 0F 0F 0F 0F 0F 0F On constate que l'image utilise 16 palettes (00 0F) imbriques les unes dans les autres. Le passage se fait en douceur pour obtenir ce bel effet de couleurs dgrades. * E1/9E00:00 00 00 01 00 02 00 03 * E1/9E08:00 04 00 05 00 06 00 07 * E1/9E10:00 08 00 09 00 0A 00 0B * etc... jusqu' 9FFF On constate que les 16 palettes sont dfinies avec des couleurs choisies progressivement dans la gamme des nuances... toujours pour obtenir le dgrad. III. TRANSFORMATION IMAGE NORMALE EN IMAGE 16 PALETTES ------------------------------------------------------ C'est l'objet du programme "AFFICHAGE" accompagn de sa bibliothque de palettes (PAL.1, PAL.2, etc...) qui ont toutes t rcupres sur des crans "DITHERSCREEN". L'ide est simple, on charge une image "normale" (1 palette) et on copie dessus les 16 palettes d'une image DITHERSCREEN. Programme AFFICHAGE: ------------------- Lignes 10 100: On charge une image dans le banc 00 puis on la transfre (programme MOVEPIC) dans le banc E1 pour l'afficher. Lignes 130 160: On charge un groupe de 16 palettes (PAL.1...) dans le banc 00 puis on le transfre (programme MOVEPAL) dans le banc E1 en crasant la palette originale. PAL.1 reprsente la zone mmoire $E1/9D00 $E1/9FFF c'est dire l'imbrication des palettes, la zone vide et la dfinition des 16 palettes. L'image change d'aspect et s'affiche alors avec 16 palettes au lieu d'une. Lignes 190 280: Si l'image obtenue est satisfaisante, on va la sauvegarder. On doit crer le fichier et transfrer l'image dans le banc 00 (programme MOVEBIB) pour pouvoir crire sur la disquette. Si l'image n'est pas bonne, on sort du programme (return). On le relance, on peut afficher l'image dj en mmoire (*) et on change le groupe de palettes... IV. MODIFICATION DES PALETTES, CHOIX DE LA COULEUR -------------------------------------------------- C'est l'objet du programme MODIFIPAL destin modifier un groupe de 16 palettes. On va modifier la premire couleur (la plus fonce, le noir en principe) dans les 16 palettes de l'image et on pourra crire un texte ou faire ressortir une partie du dessin avec une couleur choisie. Programme MODIFIPAL: ------------------- Lignes 10 80: On charge un groupe de 16 palettes (PAL.1 par exemple). Cette fois on restera dans le banc 00 (pas de visualisation). Lignes 100 150: On modifie la premire couleur c'est dire les deux premiers octets de chacune des 16 palettes (donc STEP 32 pour aller la palette suivante). La couleur est choisie selon le codage de la machine (voir plus haut). Par exemple, le noir est cod 0 pour chaque octet, le blanc 255 au premier et 15 au deuxime: On a bien: 00 00 = NOIR et FF 0F = BLANC en hexadcimal. Il reste encore 4094 possibilits... Lignes 155 170: On sauvegarde le groupe de palettes (avec deux scurits pour ne pas craser le groupe de palettes d'origine...). On peut l'utiliser alors avec le programme "AFFICHAGE" pour voir le rsultat. Les groupes PAL.6NOIR, PAL.6BLANC, etc... ont t obtenus ainsi partir de PAL.6. On peut vrifier d'ailleurs en passant en moniteur aprs l'affichage d'une image avec un tel groupe de palettes, que les 2 premiers octets de chacune d'elles correspondent bien la couleur choisie (zone mmoire $E1/9E00 $E1/9FFF). V. DEFILE DES COULEURS ---------------------- C'est l'objet du programme "DEFILEPAL" qui va faire dfiler les couleurs en testant automatiquement les 256 possibilits du premier octet, le deuxime tant choisi par l'utilisateur. Programme DEFILEPAL: ------------------- Lignes 60 et 70: Chargement des programmes de transfert de bancs mmoires. Lignes 100 120: Entres des donnes (nom de l'image, nom du groupe de palettes et choix du deuxime octet). Lignes 140 180: Transfert du banc 00 au banc E1 (affichage). Lignes 190 270: Dfil des 256 couleurs du premier octet (boucle FOR... NEXT). Si on appuye sur , affichage de la valeur de cet octet aprs passage en mode texte avec rappel du deuxime octet choisi. Ligne 280: Quand on arrive la fin de la boucle, on recommence (GOTO 90) et le programme affiche la valeur choisie du dernier deuxime octet. Ligne 335: On vrifie par affichage temporis si l'image est correcte. Lignes 350 420: Sauvegarde de l'image. Lignes 450 500: Sauvegarde du groupe de palettes. Remarque: -------- 1. Si le dfil des couleurs est trop rapide (ou trop lent!), on peut le rgler la ligne 265 en mettant plus ou moins de 500. J-P ARNAUD Octobre 1989   !?????<<?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnleur. =;Pourquoi un macro-assembleur ? Parce que la tendance est @ >(est-ce la cause de son succ}s chez les universitaires ?), je @>r{serve mon jugement quant au C, parce qu'il est portable (je A?n'aime pas non plus sa syntaxe) et c'est quand meme d'un grand DBint{ret, mais il faut savoir que tous ces langages produisent sur DBGS (y compris orca/c) un code assembleur ignoble, hypertrophi{ et $lent. Je ne pol{miquerai pas plus.CA Le but de cette s{rie n'est pas de vous apprendre en d{tail =;@ vous servir des quelques 1200 fonctions de votre boite @ CAoutils. Non. Il s'agit uniquement de vous montrer comment {crire ?=un programme qui utilise l'interface graphique et le syst}me %d'exploitation de votre ordinateur.?= Cela signifie que je ne vais pas faire le catalogue des DBfonctions de chaque outil mais plutot expliquer comment l'on s'en 86sert lorsque le besoin s'en fait sentir au cours d'un d{veloppement.>< Cette s{rie d'articles n'est donc pas un paliatif @ la ;9lecture des Toolbox et GS/OS reference manuals mais elle DBpermettra, du moins je l'esp}re, aux d{butants et @ tous ceux que DBcela int{ressent de mettre en oeuvre rapidement les connaissances Bacquises dans ces livres ou au cours de la lecture des articles.>< Pour suivre cette s{rie, il suffit de connaitre un peu :8l'assembleur et poss{der les notions {l{mentaires de la programmation sur GS.0 2) Pr{sentation du syst}me d'exploitation@> L'{criture d'une application est apparemment rendue plus DBdifficile aujourd'hui par l'imbrication du syst}me d'exploitation :8et des outils g{rant l'interface utilisateur. L'antique >{crire..., au format MS/DOS ou au format ProDOS, je n'utilise qu'un seul et meme appel.A? C'est le FST (File System Translator) qui va convertir la A?commande et les donn{es associ{es au format logique des divers A?syst}mes de gestion de fichiers. Le transfert physique est lui A?aussi ind{pendant des FSTs. Il est assur{ par des drivers, qui CAeux ne s'occupent pas de l'organisation logique des donn{es mais B@uniquement de leur transfert effectif entre l'ordinateur et les p{riph{riques.@> Cette architecture conjugue puissance (gestion de divers @>formats, utilisation maximale des p{riph{riques) et souplesse A?(possibilit{ de choisir les FSTs et les drivers, configuration possible).) b) Syntaxe des appels @ GS/OS:8 Pour effectuer des appels, il existe deux m{thodes DBconcurrentes mais au r{sultat identique, on les appelle Inline et Stack methods. o La m{thode InlineB@ Seule m{thode disponible jusqu'@ l'apparition du ProDOS 16 B@1.3, elle se compose d'un Jsl en $E100A8, Jsl qui est suivi par 1le num{ro de la commande GS/OS cod{ comme suit:2 _ $20xx o| xx est le num{ro de l'appel= _ Ce num{ro de commande est suivi par un pointeur; (long) sur une table de param}tres qui d{bute: toujours par le nombre de param}tres qu'elle contient.DB En effet et ce contrairement @ ProDOS 16, GS/OS permet de ne B@retourner que les informations essentielles et donc d'optimiser 3l'occupation m{moire de ses tables de param}tres.CA Si par exemple je veux fermer un fichier (la fermeture d'un DBfichier s'effectue en indiquant son num{ro qui est retourn{e lors DBde l'ouverture), avec la "Inline method", cela va se passer comme suit. Jsl $E100A8 5 Dc i'$2014' $14 num{ro de la commande Close@ Dp 'Close_File' Les 3 lignes peuvent etre remplac{es par:* _CloseGS Close_File ...Close_File Anop6 Dc i'1' 1 seul param}tre est n{cessaire8 Dc i'3' c'est un cas d'{cole, j'ai mis 3. o La "Stack Method";9 L@, il suffit d'empiler le pointeur sur la table de @>param}tres puis le num{ro de la commande avant d'effectuer un saut long en $E100B0.# L'exemple pr{c{dent devient:C Pushlong #Close_File C'est la meme table, je ne vais pas, Pea $2014 la r{{crire. Jsl $E100B0B@ Maintenant que vous savez comment on envoie une commande @ <GS/OS, voyons rapidement comment on op}re avec la Toolbox. c) La Toolbox.A? Tous les appels @ la boite @ outils se font en mode natif DB16bit, en empilant des param}tres (leur nombre varie), en passant CAdans le registre X le num{ro de la fonction (X=xxyy o| xx est le :8num{ro de la fonction et yy le num{ro de l'outil) et en ?=effectuant un saut en $E10000. Au retour, il se peut que des ?=param}tres renvoy{s par la fonction soient sur la pile, vous &l'avez compris, il faut les d{piler. Ex:@ Pea $0000 "espace" sur la pile pour que l'outilA Ldx #$0202 nous retourne une identit{ puis Memory? Jsl $E10000 Manager Startup (nous verrons ce que3 Pla cela signifie plus tard)) Sta My_ID je d{pile l'IDB@ La fa\on d'{crire ces appels varie avec l'environnement de @>d{veloppement dont on dispose. Comme macro-assembleur, sur GS 97(pas Mac, GS) il n'y a que deux choix possibles: l'APW B@(macro-assembleur de Byte Works choisit par Apple) ou Merlin GS 5(par Glen Bredon, auteur, entre autres, de ProSEL).B@ Les deux permettent de nommer un appel GS/OS ou Toolbox de CAfa\on plus explicite que par un simple num{ro mais Merlin permet CAde passer les param}tres un peu @ la mani}re d'un compilateur C, DBPascal ou Basic (on peut le faire aussi avec l'APW, mais ce n'est pas propos{ en standard).>< Si vous etes d{butant, je vous conseille Merlin GS car @>celui-ci est tr}s rapide, plus "user-friendly", il est bourr{ A?d'utilitaires, son {diteur de sources n'est peut-etre par d'un >(il est aussi bien plus lent) et surtout que si les derni}res :8innovations pour GS/OS et la toolbox sont imm{diatement 5disponibles pour les APWistes (c'est normal, c'est CAl'environnement de d{veloppement Apple), il n'en est pas de meme pour Merlin.! L'APW est disponible chez:# PRIM'VERT Editions+ 36, rue des Etats G{n{raux! 78000 VersaillesA? au prix de 900F TTC, port compris pour deux disques et un A?manuel de 600 pages. C'est cher et cela n'inclut pas la mise @ /jour n{cessaire pour utiliser les ressources.DB En revanche, le Toolbox Reference manual volume 3 est @ 280F CAce qui revient @ 30 centimes la page, et l@, il ne faut pas s'en CApriver. Il est disponible sous la r{f{rence: A0229LL/A, toujours chez Prim'Vert.B@ Maintenant que ces pr{cisions ont faites, nous allons nous 1attaquer @ la r{alisation de notre application.+ II/ Programmation d'une application. 1) G{n{ralit{s>< Pour programmer une application GS, il faut comprendre ?=comment le GS fonctionne. Avec les Apple II plus anciens, on DBtestait les registres d'entr{es/sorties (clavier, souris) tout le A?temps, ce qui limitait consid{rablement le nombre et la nature des {v}nements.B@ Sur GS, on demande @ la Toolbox de nous renvoyer ou non un DBdes {v}nements possibles. Cela veut dire que l'on ne traite qu'un CA{v}nement @ la fois (je la rappelle, on ne sait jamais) et qu'on 5peut empecher certains {v}nements de se produirent.<: Du fait de l'interface graphique, on ne peut plus se ;9contenter d'un {v}nement du genre: 'un clic souris s'est A?produit', au lieu de cela, la fonction retourne 'clic dans une =;fenetre, dans une barre de menus, dans un controle' ... La ;9toolbox peut meme faire plus que cela, en effectuant les >l'application effectu{ par succession d'{v}nements) ainsi que @>l'interface graphique rend plus {vidente la modularisation du @>programme, il est par exemple extremement simple de dissocier DBgrace aux dialogues et aux fenetres la saisie des donn{es et leur A?affichage de leur gestion propre. La modularisation des taches est extremement souhaitable.> 2) Initialisation de l'environnement de fonctionnement.DB La r}gle absolue est de faire le minimum de pr{somptions sur Bl'environnement de d{part. Bien entendu, sur l'adresse de d{but @>du programme, mais aussi sur les pr{fixes, les outils actifs, CApour ceux qui veulent aller plus loin, l'adresse de d{part de la Bm{moire vid{o... Nous allons voir comment op{rer de cette fa\on.DB La seconde r}gle importante est de r{initialiser les valeurs ?=en entr{e ou sortie de l'application de fa\on @ permettre sa A?r{{x{cution en m{moire. Le Segment Loader offre la possibilit{ @>d'inclure un segment de r{initialisation, qui va etre {x{cut{ CAlors d'un Restart. Cei parce qu'un programme peut etre divis{ en CAplusieurs morceaux, regroup{s sur disque en un seul fichier mais B@qui ne seront charg{s en m{moire qu'au fur et @ mesure que leur >ces temps-ci mais surtout du fait que celle-ci est morcel{e.A? L'allocation m{moire sur GS ob{it au principe de la liste A?chain{e. Il y a des tas de bouquins qui en parle, cela n'a pas B@beaucoup d'int{ret. En raison des particularit{s du GS (m{moire @>sp{ciale, espace E/S, ROM), Apple utilise une variante de cet B@algorithme. Sans vous abrutir de trop de d{tails techniques qui A?pourraient nous faire suspecter d'avoir d{sassembl{ le syst}me CA(pure affabulation qui si elle est r{p{t{e tombe sous le coup de ?=la diffamation, mais calomniez, il en reste toujours quelque DBchose), il existe un emplacement o| sont r{pertori{s 5 handles un >ainsi que la fa\on dont vous allouez la m{moire n{cessaire au B@fonctionnement de votre application ne vont pas etre {trang}res au performance du syst}me.?= Je vous conseille de diviser les fonctionnalit{s de vos DBprogrammes en segments dynamiques (ce qui segment de en indiquant =;SEGMENT/DYNAMIC nom de segment avec le linker de l'APW), @ CAl'exception du segment principal qui est toujours statique. Vous @>r{f{rencerez dans votre segment principal les autres segments ,*dynamiques en indiquant simplement un Jsl Label_Du_Sous_Programme. Voici un exemple.9 D'abord le source assembleur du segment principal: Keep Main.ob" Mcopy Main.macrosMain_Program Start Using Main_Data ... Jsl Dessin_Cube ... End= Au tour maintenant du segment qui contient Dessin_Cube Keep cube.ob" MCopy Cube.macrosDessin_Cube Start Using Cube_DataC Phb pr{serve le banc de donn{es courant> Phk passe @ celui de notre segment Plb ... ... Plb Rtl End@>Maintenant le source du fichier linker qui va transformer nos *codes objets en un programme {x{cutable:7 Keep MON.PROGRAM (le nom que je veux)/ Segment MAIN (meme chose)! link/All Main.ob' Segment/DYNAMIC MODULE! link/All cube.obDB Voil@, cela suffit de faire de vous, un programmeur d'{lite, B@vous voyez que ce n'est pas tr}s compliqu{. Grace au linker, il ?=vous est possible de programmer un segment en C, un autre en B@Pascal et le reste en assembleur Merlin et APW et d'en faire un programme qui tienne la route.B@ Le Segment Loader met @ votre disposition d'autres type de B@segments mais dont l'usage n'est pas recommand{. Le premier est B@un segment d'espace en banc z{ro pour le registre D (Page z{ro) DBet l'espace pile. Il est fort d{conseill{ de s'en servir, il vaut A?mieux allouer un handle (adresse d{crivant un bloc de m{moire) 0par le Memory Manager pour espace en banc $00.53 Le deuxi}me type de segment est le segment de B@r{initialisation. Il est appel{ lors d'un InitialLoad (2) et de A?Restart qui sont deux fonctions du Segment Loader pour charger CAdes codes {x{cutables. Il vaut mieux proc{der "@ la main". D'une @part, c'est plus {conomique, d'autre part c'est plus puissant.?= Il est tout @ fait possible de r{aliser une application 64r{{x{cutable en m{moire sans poss{der de segment de B@r{initialisation. De plus, un certain nombre d'initialisations, A?particuli}rement celles qui concernent l'environnement syst}me A?n'ont besoin d'etre op{r{es qu'une seule fois, ult{rieurement, Ac'est de la gourmandise. C'est par exemple le cas des pr{fixes.1 b) Initialisation et environnement syst}meA? Avec ProDOS 8, Apple a inaugur{ dans sa gamme le principe :8des sous-r{pertoires (Le Finder du Mac MFS SIMULAIT les @>sous-r{pertoires, d'ailleurs, ProDOS lui est ant{rieur). Pour @>utiliser un fichier, on utilise ce que l'on appelle un chemin CAd'acc}s (qui est une liste de sous-r{pertoires) que l'on appelle $pr{fixe associ{ au nom du fichier.CA GS/OS permet l'utilisation de 32 pr{fixes. Certains pr{fixe CAsont un peu particuliers. le pr{fixe indiqu{ par un */ r{f{rence DBle volume de boot, le pr{fixe 0, le volume par d{faut, le pr{fixe CA1 celui @ partir duquel on a lanc{ l'application, le 2 r{f{rence A?le r{pertoire des librairies, le 3 s'occupe du sous r{pertoire CASYSTEM du volume de boot. A part le pr{fixe 0, on ne devrait pas s'occuper de ces pr{fixes.@> Ou plutot si, mais pour construire d'autres pr{fixes qui DBpermettront l'utilisation de notre application sur n'importe quel B@p{riph{rique de stockage. Car en plus des pathnames, GS/OS peut <:g{rer des "partial pathnames" qui permettent d'abr{ger la <:description du chemin d'acc}s en indiquant le num{ro d'un > Si j'utilise des full pathnames ou si je ne prend pas en B@compte le pr{fixe lors du lancement du programme, cela interdit A?de fait l'installation sur disque dur. Si je d{sire r{{x{cuter >de lancement qui n'aura peut-etre plus aucun rapport avec mon application.>< Pour conserver notre pr{fixe et en faire quelque chose 0d'utilisable, nous allons proc{der comme suit:>< _ lors de la premi}re initialisation, on va stocker en "m{moire le pr{fixe de lancement.=; _ Ensuite, et ce @ chaque fois, nous allons copier ce CApr{fixe pr{serv{ dans un ou plusieurs autres pr{fixes de fa\on @ @>batir des partial pathnames, utilisables o| que soit install{ l'application.?= Si par exemple, nous avons des fichiers stock{s dans le ?=sous-r{pertoire ARTICLES et, autre exemple, deux fichiers de B@configuration dans le meme r{pertoire que notre application, il :8faudra donner au pr{fixe num{ro 9 le contenu du pr{fixe 86sauvegard{, qui servira pour la configuration et nous DBconstruirons le pr{fixe 10 en sp{cifiant pr{fixe 10 = 9/ARTICLES/ (cela de fa\on symbolique).CA GS/OS introfuit un nouvel appel: SetSysPref. C'est un appel =;qui configure le syst}me. Dans la version 2.0 de GS/OS, on B@n'acc}de qu'@ une seule caract{rtistique, l'affichage ou non de DBboite de dialogue lorsque le syst}me d'exploitation ne trouve pas le volume ou le fichier.DB Ces pr{f{rences syst}me sont cod{es dans un mot. L'affichage <des boites de dialogues est le fait du bit 15, @ 1, GS/OS > Il est temps de r{capituler sous forme de source, ce que #nous avons vu jusqu'@ maintenant: Keep Main.ob" MCopy Main.MacrosMain_Program Start Using Main_DataA* Petite note pendant que j'y pense, il m'arrive d'utiliser des@* labels ainsi que des {tiquettes en anglais. Ce n'est pas par* snobisme mais par habitude.. Phk ne pas oublier Plb, Rep #$30 au cas o|...5 Lda Init_Flag teste le drapeau5 Beq Init_Realise d'initialisation< GetVersion Get_Version le GetVersion sans _;* indique une syntaxe1 Lda Get_Version ProDOS 16. And #$0200 filtre Cmp #$0200 Beq Cest_GSOS7Quit_P16 Quit ByeBye Encore du P16CEst_GSOS Anop& _SetSysPref Sys_Prefs= _GetPrefixGS Get_LaunchPrefix on r{cup}re le6* pr{fixe@ Inc Init_Flag on indique que cette op{ration a-Init_Realise Anop {t{ effectu{e+ _SetPrefixGS Launch_Prefix? Bcs Quit_P16 il n'est pas n{cessaire de tout<* le temps tester les erreurs, elles ne se produisent qu'@* certains moments.A* Ici, si je r{ussis @ obtenir le premier pr{fixe, le second ne* fera pas d'histoires.* _SetPrefixGS Datas_Prefix4 _TLStartup Tool Locator startupA Phd nous allons r{cup{rer l'ID qui vaC _MMStartup nous permettre d'allouer la m{moireC Tax pour nos donn{es. A = $0000 (il n'y2 Pla a jamais d'erreur.= Sta My_ID Maintenant A contient une ID @ Phx utilisable par le Memory Manager, Phx et X = $0000 Phx4 Pea $0600 Taille #$0600 octets" Pha IDA Pea $C015 En banc z{ro, align{ sur une page* Phx Banc = $00 Phx _NewHandle0 Pla d{pile le handle Plx Sta $00 Stx $02B Lda [$00] Seule la partie basse de l'adresse@ Tcd m'int{resse puisque je sais d{j@> Clc dans quel banc elle se trouve.6 Adc #$05FF Ce n'est pas excessif. Tcs ... ... ... EndMain_Data DataInit_Flag Ds 2>Get_Version Ds 2 au retour contient le no de version6ByeBye Ds 4 pas de programme @ {x{cuter* Ds 2 drapeau = $0000Sys_prefs Dc i'1' Dc i'$8000'Get_LaunchPrefix Dc i'2'2 Dc i'1' Le pr{fixe de lancement Dp 'Launch_Pfx'8Launch_Pfx Dc i'64' notre buffer occupe 64 octets Ds 64CDatas_Pfx Str2 '9/ARTICLES' GS/OS utilise des chaines dont/* la longueur est cod{e sur un mot (16 bits)Launch_Prefix Dc i'2' Dc i'9' Dp 'Launch_Pfx'Datas_Prefix Dc i'2' dc i'13' Dp 'Datas_Pfx' EndB@ Arretons un instant car nous venons, en allouant un handle =pour notre application (ou plutot sa page z{ro et sa pile) ?=d'aborder une des fonctions fondamentales du GS, la fonction ?NewHandle qui permet d'obtenir de la m{moire pour travailler.DB Nous l'avons dit plus haut, l'allocation m{moire est quelque CAchose d'essentiel. Sur Apple GS qui ne poss}de pas de processeur ;9de gestion de m{moire pagin{e ou lin{aire mais o| il est <:obligatoire d'obtenir la m{moire de fa\on dynamique (sans CAutiliser d'adresses connues @ l'avance), les blocs que l'on peut ;ainsi allouer peuvent poss{der quelques caract{ristiques.A? La premi}re et la plus importante est leur identit{ (ID). @>Chaque application peut poss{der sa propre ID. Elle n'est pas A?retourn{e au hasard par la fonction _MMStartup, elle donne des A?renseignements sur le demandeur, s'il est un outil, un manager syst}me ou une application.A? Ainsi, le param}tre ID est fait le produit de ce que l'on >o| x est de fait, le v{ritable "num{ro" de votre application, B@variant de 0 @ F. Il vous appartient ensuite de d'attribuer les CAAuxID de votre choix. Souvent on donne une ID $110x @ la m{moire 8destin{e aux outils, mais cela n'a rien d'obligatoire.42 Le deuxi}me param}tre important concerne les >consid{r{ comme devant rester au meme endroit ou pouvant etre @>d{plac{ lors d'un compactage destin{ @ optimiser l'occupation 75m{moire. Meme s'il est d{pla\able, un bloc peut etre 1temporairement inaccessible en le verrouillant.?= Lors de la recherche de m{moire, un programme peut etre ?=amen{ @ purger des blocs en fonction d'un num{ro qui indique ?=l'ordre de priorit{ @ respecter. Ce num{ro s'appel Niveau de =;Purge, il est cod{ sur 2 bits ce qui lui donne des valeurs B@comprises entre 0 et 3, un segment de niveau 3 sera purg{ avant un segment de niveau 0.DB On peut aussi indiquer au Memory Manager que le bloc ne doit DBpas d{border sur un autre banc. En effet, si tel {tait le cas, il ?=faudrait utiliser un adressage long. De meme, on peut forcer B@l'alignement du bloc sur une page, cela est parfois souhaitable B@pour maximiser le temps d'{x{cution. En outre, on peut demander DBun bloc dans ce qu'on appelle la m{moire sp{ciale, qui correspond DBaux bancs $00, $01, $E0, $E1. Grossi}rement c'est de la m{moire @ A?partir de laquelle on peut adresser le firmware (ou la ROM, le SmartPort... de l'Apple II).?= Enfin, il est possible de demander un bloc dans un banc /m{moire particulier ou @ une adresse pr{cise. B@ A part l'ID, ces caract{ristiques sont cod{es au niveau du 'bit dans un mot de la fa\on suivante:4 bit 15: @ 1, verrouill{ (attribut modifiable)2 bit 14: (1), fixe, ne peut pas etre d{plac{ bits 13 @ 10, r{serv{s; bits 9-8: niveau de purge (modifiable @ tout moment) bits 7 @ 5, r{serv{s= bit 4: (1) le bloc doit etre contenu dans un seul banc: bit 3: (1) Ne doit pas utiliser de m{moire sp{ciale/ bit 2: (1) Doit etre align{ sur une page4 bit 1: (1) Doit d{buter @ une adresse pr{cise5 bit 0: (1) Doit se trouver dans un banc pr{cis= La fonction NewHandle utilise les param}tres suivants:; _ D'abord, il faut un mot long pour lui permettre de retourner le handle.6 _ La taille du bloc (sur deux mots ou 4 octets)9 _ Ensuite il faut donner l'ID que vous a retourn{e MMStartup/ _ Les caract{ristiques cod{es sur un mot< _ Un mot long qui pr{cise l'adresse et le banc si les+ caract{ristiques y font r{f{rence.@> Au retour, le Memory manager retourne un handle, qui est B@l'adresse du structure op{rant dans une liste chain{e d{crivant un bloc m{moire.+ Organisation d'un handle en m{moire.A Offset 0: Pointeur sur le handle pr{c{dent (0 long si 1er)! Offset 4: Adresse du bloc.) Offset 8: Caract{ristiques du bloc Offset 10: Identit{ Offset 12: Taille du blocA Offset 16: Pointeur sur handle suivant (0 long si dernier)B@ C'est une fonction utilis{ tellement souvent qu'il est bon =;d'utiliser un sous-programme qui se charge d'allouer de la CAm{moire. Il possible de l'appeler avec en entr{e, A-X, la taille ?=et l'ID @ utiliser ou bien les caract{ristiques dans Y, cela &d{pend de l'usage que vous en faite.97 Il va de soi qu'il n'est pas question de modifier CAdirectement les champs et qu'il faut passer par les fonctions du B@Memory Manager mais c'est pour que vous puissier vous faire une $repr{sentation exacte d'un handle.A? Petite remarque: {tant donn{ que le handle occupe d{j@ 20 > _______________________ __________________? L ! Espace pour la taille ! L ! Taille du handle !? ! du handle ! ! !? !=======================! [------------------[! H ! Handle !! ! !! [-----------------------[:8 La plupart du temps, vous allez demander des blocs =;d{pla\ables, situ{s n'importe o| sauf en m{moire sp{ciale, <:verrouill{s, pas forc{ment dans un seul banc de niveau de purge 3.DB Maintenant, nous allons nous attaquer @ l'initialisation des ,outils, c'est enfantin avec le syst}me 5.0% c) Initialisations des outils.97 Avant l'apparition des fonctions _StartupTools et B@_ShutdownTools, il fallait initialiser les outils dans un ordre CApr{cis, en gardant @ l'esprit que tous ne n{cessitaient pas les memes param}tres...>< C'{tait fastidieux. Maintenant, il suffit d'empiler un DBmot-long comme espace de retour, un param}tre qu indique que l'on A?utilise une adresse, un handle ou une ressource comme table de DBparam}tres, on empile le param}tre et on appelle StartupTools. Au retour on d{pile une adresse.B@ Le param}tre pointe sur une table qui est structur{e de la fa\on suivante: Offset 0: Ds 2 2 Offset 2: SCB (normalement $0080, mode 640) Offset 4: Ds 26 Offset 6: Espace pour le handle de la page z{ro/ Offset 10: Nombre d'outils @ initialiser) Offset 12: Num{ro du premier outil4 Offset 14: Num{ro de version du premier outil( Offset 16: Num{ro du second outil ...A? La Toolbox s'occupe d'allouer le handle en page z{ro pour DBl'espace de travail n{cessaire au fonctionnement des Tools, c'est \a de moins @ s'occuper.@> Au retour, StartupTools renvoie une adresse qu'il faudra <passer @ ShutdownTools pour effectuer l'op{ration inverse.:8 Il est conseill{ de s'occuper de la barre de menus CAimm{diatement apr}s l'initialisation, ainsi que de la d{finition 'du mode de fonctionnement des outils.4 ____________________________________________5 ! !5 ! Suite de l'article avant le 24 d{cembre... !5 !____________________________________________! oqrstuvwxyz{|}~ 33333333333333333333333333333333333333333333333 33333333333333333333333333333333333333333333333 33333333333333333333333333333333333333333333333 33333333333333333333333333333333333333333333333 33<333 33<333 33< 333 33< 333 33< 333 33< 333 333< 333 33< 333 33< 333 33<333 33<333 33<333 33< 333 33< 333 33< 333 33< 333 33< 333 33< 333 33< 333 33< 333 33<333 33<333 33<333 33< 333 33< 333 33< 333 33< 333 33< 333 33< 333 33< 333 33<333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff f`ff f`DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDff f`DDDDDDDDDDDDDDDDDDDDDDDDDDDD333333333333333333333333333333333333333333333333333333DDDDDDDDDDDDDDDDDDDDDDDDDDff f`DDDDDDDDDDDDDDDDDDDDDDDDDDDD333333333333333333333333333333333333333333333333333334DDDDDDDDDDDDDDDDDDDDDDDDDDff f`DDDDDDDDDDDDDDDDDDDDDDDDDDO333333333333333333333333?33DDDDDDDDDDDDDDDDDDDDDDDDDDff f`DDDDDDDDDDDDDDDDDDDDDDDDDDO333333333333333333333333?33DDDDDDDDDDDDDDDDDDDDDDDDDDff f`DDDDDDDDDDDDDDDDDDDDDDDDDO333333333333333333333333333334DDDDDDDDDDDDDDDDDDDDDDDDDff f`DDDDDDDDDDDDDDDDDDDDDDDDDO333333333333333333333333333334DDDDDDDDDDDDDDDDDDDDDDDDDff f`DDDDDDDDDDDDDDDDDDDDDDDD?333333333333333333333333333?33333334DDDDDDDDDDDDDDDDDDDDDDDDDff ?? f`DDDDDDDDDDDDDDDDDDDDDDC3?33333333333333333333333333333333334DDDDDDDDDDDDDDDDDDDDDDDDDff ?? f`DDDDDDDDDDDDDDDDDDDDDDC3?33333333333333333333333333333333334DDDDDDDDDDDDDDDDDDDDDDDDDff  General \N1 - Editorial\N256V*Ee - Services\N257*Ss - Conseillers\N258V*Cc - Impression\N264*Pp .> Articles \N2 - AppleTalk\N259*Aa - Conception\N260*Ww - Debugger\N261 - Virus\N262*Vv .> Initiations \N3 - Assembleur\N259D - Pascal\N259D - Toolbox\N259D .> Sharewares \N5 - Catalogue\N262D - Nouveaut{s\N263D - Annuaire\N261D - Share Document\N268D .{33/Ecrit par Vincent Hemeury pour le GS Club. Suggestions et remarques bienvenues./^#033/Un fichier s imprime. Veuillez recommencer plus tard./^#0D/:::Pic.0Xbo{:::Edito :::Services :::Conseil:::TALK :::Art.Debug :::Art.Appli :::Art.Virus @ U UP UUU UUUP UUUUP UUUUUP UUUUUUU UUUUUU UUUUUPwU UUUUUwP UUUUPpPwp UUwwp UUUPpwwp UUUwwwp UUUP UUUP UUU UP UKH H"᭚HH"k `&$B*0480<NZL-00&  +%1P@{<X>X@XB{DFH*0Qaemp#$0HMSgkt*(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|JLNPRTV-3EI Dans ce num{ro, un billet de (mauvaise) humeur @ propos des virus qui arrivent sur notre belle machine. Aujourd'hui je n'aimerais pas etre un possesseur d'Amiga ou de Macintosh car compte tenu du nombre de virus qui prolif}re sur ces machines et du prix des contre-poisons, les apothicaires de du d{verrolage informatique ont de beaux jours devant eux, c'est probablement un des plus beaux march{s logiciel depuis l'av}nement du Desktop Publishing. Sur GS on n'en est pas l@. Mais cela peut venir, surtout chez nous, Fran\ais, amateurs du syst}me D, sensibles au charme sulfureux du "g{nie" qui lutte encore et toujours contre l'ordre {tabli. Oui mais voil@, d'une part, le virus est d'une difficult{ technique moyenne, fort moyenne, d'autre part, il est d'autant plus n{faste que ce sont tous les utilisateurs - y compris le producteur de virus - qui vont payer la facture. _ D{mythifier la conception d'un virus _ Non, la conception d'un virus ne n{cessite pas de connaissances techniques particuli}rement {tendues. Au contraire, elles se limitent en g{n{ral au firmware d'entr{es/sorties, sur GS, le smartport. Quelques adresses IWM d{courvertes par d'autres que soi et la pratique d'un assembleur 6502 de goutti}re, voil@ tout ce qu'il faut pour etre aujourd'hui un d'exploits techniques @ jets continus". A oui, cela concerne surtout des disques en "Fast boot" ou des programmes ProDOS 8 (je ne sais pas si No 6 a eu une bonne id{e de diffuser son source du P8), parce que patcher un code Segment Loader, l@ on change de registre. De toute fa\on, meme si cela {tait fait (\a le sera, surtout avec l'introduction des ressources), cela reste l'application de techniques simples et {prouv{es par des tacherons de l'informatique, parce qu'il n'y a pas 36.000 fa\ons sur un ordinateur personnel de sauvegarder son travail et en cons{quence d'{crire sur support magn{tique. Pour la th{orie, voir du cot{ de Tannenbaum, pour la pratique la "compil" (c'est @ la mode) IWM registers/Smarport Firmware/ Drivers Reference/ProDOS Reference. Alors ensuite, la fa\on dont la diarrh{e va se d{clencher, on a que l'embarras du choix, timers, interruptions, date, succession d'{v}nements, prix du Kg de caf{ @ la bourse de San Fransisco, "mon esprit est un torrent furieux tombant en cascades pleines d'alternatives cr{atrices" pense le pirate, il s'agit plutot d'une d{bauche de toxicit{ mentale. Dans quel but ? Mais le plaisir sadique de voir l'utilisateur lambda, sur un serveur, {crire son d{sarroi et sa col}re, bien sur. Et lorsqu'un programmeur, atteint ou non par le virus le d{crit comme "techniquement balaize", alors l@, c'est le Wahala, on entre dans la l{gende, on s'affuble de sobriquets, "esth}te de l'horreur", "Pape du crash informatique" et tout et tout. Certains invoquent le "fun" mais se convainquent-ils eux-meme ? Parce que le virus n'est r{ussi que lorsqu'on en parle. Remercions ici les irresponsables, apprentis-sorciers et pr{tendus journalistes qui donnent un retentissement national @ ce qui ne concernait alors qu'une machine, et un segment de march{ fort pr{cis: le jeu. Citons surtout Patrick Ester (ou Hester) comme pseudo-journaliste, parce qu'avant de se faire pigeonner pour de la pub gratuite par Loriciel ("ils sont bons les plans on se documente sur le probl}me ou on consulte, journaliste \a n'est pas recopier les depeches de l'AFP ou recopier un dossier de presse. Certes, cet homme a des ant{c{dents sinon des excuses: il est aussi mauvais dans les domaines de l'a{ronautique et de l'espace (qui sont son pain quotidien qu'en informatique. Si Aerospatiale voulait faire oeuvre de salubrit{ publique, elle l'acrocherai @ la coiffe d'Ariane au lieu de l'inviter @ ses buffets (un exemple au hasard, le CH-53 effectuait un looping que le Panther n'{tait pas encore dans le cerveau de ses concepteurs). Pardon de m'etre {gar{ sur ce cas, somme toute anodin. Mais il est l'exemple de ce qu'il ne faut pas faire. Car combien de vocations se sont r{v{l{es, combien se sont dit "si avec du pipi de chat on fait 5 minutes @ la grand-messe du 20 H, que ce que cela va etre avec de la dynamite ?". _ Les solutions au probl}me du virus _ Elles existent, mais elles sont couteuses. Elles sont couteuses car elles sont consommatrices de temps machine, compte tenu de la n{cessit{ de v{rifier souvent l'int{grit{ des donn{es @ sauvegarder, @ charger plus le coeur du syst}me, le syst}me d'exploitation et le firmware d'entr{es/sorties (ou ses vecteurs en RAM). Tout cela prend du temps, et il p{nalise surtout les possesseurs d'ordinateurs personnels. En effet sur des machines plus puissantes, disposant par exemple d'un 80386 (au hasard, je pourrai parler d'un 68020 mais j'ai une pr{f{rence), chaque thread (processus, par extension, programme), fonctionne avec un niveau de privil}ge d{termin{ par le syst}me d'exploitation qui vous vous en doutez poss}de le niveau le plus {lev{ (en fait 0, mais en informatique, on fait souvent les choses @ l'envers). Les autres niveaux de privil}ge restreignent le jeu d'instructions. Premier ennui, pour le pirate, changer de niveau de privil}ge, je vais pas indiquer comment. Il y a pire (enfin, cela d{pend de quel point de vue on se place), chaque processus est li{ @ une table (cod{ au niveau du bit) qui autorise ou empeche l'usage d'une adresse d'Entr{e/Sortie dans le segment d'Entr{es/Sorties. Plus simplement, si le 80386 rencontre une instruction correspondant @ quelque chose comme Sta $E0C0EC,x il va regarder dans la table des privil}ges d'E/S du processus courant (donc le programme qui s'{x{cute, architecture von Neuman classique, donc s{quentielle, une seule instruction s'{x{cute en meme temps), effectue une op{ration logique, si l'acc}s est interdit, il y a une erreur (ou trap) qui est intercept{e par le syst}me d'exploitation. Ceux qui pratiquent un peu l'assembleur comprendront que tout ceci demande du temps, donc de l'argent, et il est sur que le 80386 est encore cher, de toute fa\on, il est inadapt{ pour un ordinateur personnel, mais c'est une tentation, @ d{faut d'autre chose, il est pr{f{rable d'{crire un syst}me d'exploitation avec un 80386 ou un 68020 qu'avec un 65816, cela sous l'angle de la s{curit{. La deuxi}me parade va venir des controleurs de disques, promis intelligents, dont l'objectif est en fait une meilleure s{curit{. J'ai peu d'informations @ leur sujet, une seule garantie, la facture sera gratin{e. D'autres solutions techniques s'offre au "d{cideur", comme par exemple un syst}me d'exploitation qui v{rifierait au moyens de checksums les donn{es @ charger, les donn{es en m{moire... Pour conserver des temps de r{ponse acceptable, il faut un processeur rapide, l@ encore, cher. Pour empecher, quelqu'un de propager un virus, il faut l'empecher d'avoir acc}s aux m{moire de masse, tout au moins en {criture, le r{seau est une solution. Les utilisateurs seront donc enferm{s en cat{gories, certains ne pourront alors que lire (transf{rer sur leur machine via le r{seau un document stock{ sur les m{moires de masse communes au r{seau). Fort convivial, d'ailleurs nous sommes @ la limite de l'ordinateur individuel, mais dans une {cole par exemple (un exemple au hasard), c'est une id{e qui peut faire son chemin pour se transformer en exigence. AppleShare permet cela mais sur une machine 1280Ko, une fois que le Finder est charg{, il reste 400Ko. Je ne me souviens plus du prix de la carte GS/Ram plus, de toute fa\on, elle ne marche pas sur les nouveaux GS's. Pour r{sumer, la solution au virus c'est, "Passez @ la caisse". Et pas pour acheter des deverminator (cela dit sans malice, c'est un exemple) ou autre vaccine (d{mod{s tous les deux mois, dans le meilleur des cas), il serait naif de croire que les constructeurs et les concepteurs de syst}me ne vont pas tenir compte du probl}me. Au total, que les "gourous" ne viennent pas g{mir sur les Operating Systems (OS) @ venir, par ce qu'ils seront le produit de leur irresponsabilit{. Si des gens ont un des disques durs (Megacore surtout) et beaucoup de probl}mes de blocs effac{s ou illisibles et qu'ils ont eu la d{mo de Sword Of Sodan ou la derni}re (avant-derni}re ?) d{mo d'ACS, qu'ils ne cherchent pas plus loin la cause de leurs malheurs. Attention, je n'ai pas dit qu'ACS avait mis un virus sciemment sur la disquette, je n'en sais rien et en fait, \a ne m'int{resse pas. Mais le fait est l@ Il existe cependant une cat{gorie de virus qui a un effet positif, c'est le virus innoffensif qui provoque une prise de conscience: faire des copies de sauvegarde des donn{es vitales. Evidemment, on {vitera pas le plantage malheureux la veille de la sauvegarde (\a m'est arriv{, on ne tire pas sur l'ambulance) Le moment d'inqui{tude pass{ (les "badabeux" pour reprendre l'expression originale qui ont renvoy{ leur GS au concessionnaire n'ont pas voix au chapitre), le virus fait d{couvrir un des avantages du club: le support technique (publicit{ totalement abjecte, ce n'{tait pas la peine de d{noncer le candide Ester il y 10 paragraphes). S{rieusement, si vous avez un probl}me, grace au club, vous pourrez recevoir les conseils des meilleurs sp{cialistes fran\ais du hard GS (je n'en suis pas, donc je le dis) ainsi que des solutions soft de gens comp{tents ({tant conseiller, la mod{ration ET la modestie s'imposent). Pour ceux qui veulent diffuser leurs cr{ations, et ne pas etre suspect{s d'etre d'ignobles colpoteurs de maladies infectieuses et ainsi etre rel{lgu{ au chenil de l'esp}ce humaine, le club offre la possibilit{ de diffuser des disques th{oriquement exempts de petites betes. D'abord parce que sur un disque constitu{ essentiellement de donn{es, il n'est pas {vident de rajouter quelque chose, ensuite parce que l'auteur de virus ne va pas se risquer @ refiler un programme v{rol{, il ne peut pas savoir s'il ne va pas etre le seul programme @ etre diffus{ (dans ce cas, le coupable, c'est lui, le service juridique d'Apple sur le dos @ 17 ans, comme dirait notre r{dac en chef, "c'est un mauvais d{part dans la vie"). Cet article, pol{mique dans une certaine mesure, donc imparfait car ne faisant pas dans la dentelle, n'a pour seule objectif que de faire prendre conscience @ ceux qui seraient tent{s de produire des virus de l'inutilit{ de leur d{marche. Au lieu de cogiter sur la meilleure fa\on de coincer le bras du lecteur de disques, potassez la doc de GS/OS et de la Toolbox, vous en tirerez une plus grande satisfaction, certes moins imm{diate mais plus fructueuse. Pour ce qui concerne l'{volution des syst}mes d'exploitation, je crois etre bien plac{ pour savoir que c'est un probl}me qui se pose, la solution ne peut se faire qu'au DETRIMENT de l'utilisateur, par cons{quent au d{triment de ceux qui cr{ent le virus. Donc la solution rationnelle c'est d'arreter d'en faire, mais ces gens ont-ils encore toute leur raison ? Pour les utilisateurs, faire des copies de sauvegarde, et si certains d'entre eux re\oivent une demo 2.01 beta d'un soft qui est cens{e comporter des "am{liorations" par rapport @ la version 2.01 alpha re\ue 15 jours auparavant, s'en m{fier comme de la peste, seuls Version Soft (d{funt) et Roger Rainero (sur Mac) commettent plus de bugs au fur @ mesure des versions et sont donc oblig{s de revoir leur copie tous les 15 jours.  ,@ BOX_2_0 H"Ⴒ&b |"kDHt%L[`l^   ! G 8 N ZEJRZ_w%W_d F0 "2 Nk " ;[+hhHHHHH0 "ᰓhhhhhKHHH "{z}$ȷ&"HHH "hwyAȷ C (ȭ*L f  2 TWGS  B WTk K[{}ȭwyA: C +kk+H ) h\kK"I"h I"ϫkKI"h= (  HH"h jjjH"I"kK`8Uk` [ bdhHfijilHipir"+kKdHbH"`nkK [ HZ"zh:Ȁ+;ik8kHZڢ "hhkkkK{[ Z::z K{[ Ql SiM "EE#DLF%"% 4[8kOWc_U "Yi[k ega "L1u qsgHeHiHqu'"h gHeH"zZZ""" ] "Y [k4B"h8ͣ H ;[  h[hzkH)h HZHH "(h`H :   ;ikK !\ ;ikk kkkKf ;i8kfhH "h hjjhhj ;ikK$Hih =;8k` =;kKHih =;8kH "hhf =;kkK ;i8k&)"BHH"% 4B"h "{[ ZZHZZ "hh  H "h T [;ikZ0K:!"i0k" j "0k"`! "`! K    ;i 8k  "  H "h  b   ;i kZ0K :! " % i 0k "  x " % 0k | 8 kK 2 k 8 kKL f 8kK |  8 8 k  8 8 8kK KE S "  ;ik{ @` A` B` T S C` _ a D` H` I` T S Y _ U W ` T S Y U W ` T S U W [ ] `k |' + 9 Y \ Y \ |M S X _ kp H_ 4%;ik H_ 4%˘k 8kKHiH"WΧݩ 4KHiH" ;ikHiJ ڋHi` ċKiHZ"kKiHZ"kK{[0  H i   e iȗȗ"[;ikK{[ "iHH[zhk[k)"K*"᭣T8k [Yuk, "+k)CCC    ) ȭ ȭ uԩkϩYʋK |uFy uwk- kY] Y[kS8kko kmkܭ k, "ᩧ `K [ HZ "hzzZZH2ZZ "h`8+khkY +8Vk"}h?A= "5 "!# "YW+8ka+k%15:VMM.TMP.001IG]K    ;ikkSelect Application> Switcher \N6D - No applications\N257VD . K[ :I0: --" ""h*"+k":" ZH"zȀ"h*"+kK$iH3"kkkvkvkvkx e8kKhjhlxhB4~h  ;n{p["p[n"lHjHk<Z0hzh|H  p6 6h)h" Hh6hh0~~(0Т<|HzHk"x ;pH6 6h)h" Hh6hhp+kK     ;i k K[Ϳ+;<8k<ݘ+;kKh [h Z    hJz8+k161718192021222324252627282930Prefix not foundRetry ?Volume not foundInsert the disk which contains Return: Retry Esc: Abort*/SYSTEM/XTER.BOXDSK_DRV DSK_DRV_2U!!$(+(Mci4UaquK]flr4xB &,42BY - ; U c ! k y !  = a o / S  _ uYk =5%9ICG{-aF"$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~-1=@ILos Whs~ "(/5JNY\y! "%+flr| NX]iou{+28p1GLRj}#)/5MPSV\gjnsv"%58>HNXfn|! /5EHOVYilr|$ ),EGIKMOQ| %')KMOQ !&\kv_bo- 5:?LW_dins~ * \cfjp~%Aw{~d   CcfjtyS8\PW\b /6=DT\lFF FNV[` "'+09>JQUZq7|6 ,@ DSK_DRV 6K$& # ;4[8 404+(k|6 ,@ DSK_DRV_2 6K$& # ;4[8 404+(k~ ,@ ENVIRO ~K0V,HHHHH0s "hzhK1 H ZkV %) X`) "@h@ CLUB.MAIN 1/CLUB.BOXVss)13VBXEXJ`M`bh0* ,@ SESSIONS 0K"HH" "4/P*"P)R)"f "4j "" h[i 6" 8ȷb0 " hzHZ"  " 6 HH0 " hH " m60+" A A Ks I޵qs" R)"7" 9" ii>" ᥖH""ᥖiH ""V"hiH"HH-" " -" ",ڄ@ -@-" "HH<-" """h*" [l n+#"hiH"iH""iH"iH""  "hXhZ# ""  , L  p"h            _$  !         $ Stop PurgePurge }              3  DL              6"6"6"6"6"6"6"6"6"6"6"6"6"6"6"3  D              > @\XN1 - About...\N273V .p*/> Fichier \N2 - Sortie\N275 .> Session \N3 - Charge Programme\N276V .> Programmes \N4D - Purge\N257V .OK!!!!!!!! ! ! ! ! !!!@C!*%)+6C+16 -*B!'(!6L !(',-+6GHH.HHH "6h8H3"8H6H3"8H6H3"86HH""HHH"h8H6H"8H6H ": >@Bx ID IDD@> ʩ@>`!p- Set NameEnter your name:"-^ Prom{th{e6 8" =" " """:b ," ) "@= @` [nlpZڢ+"+H)8h)#  [ln+H," [ +`h) H"hѢ *6 :"HH"`6 1 :I`0F` H  [["ᯞ[ +1 `1 `` ;HHHHH  "h z HZ" " HHHHZڢY"h `71$/GS Infos 2.0x A l usage exclusif des membres du club. 1989 V. Hemeury & J.J. Lecler DO NOT DISTRIBUTE/^#0/Rapport81' /Bienvenu dans ce logiciel reserve aux membres du club. Si vous n en faites pas encore partie consultez la rubrique Services du club./^#070/Nouvelle version completement reecrite. C est beaucoup plus qu un simple programme c est une veritable plate-forme logicielle. /^#060/Welcome Master. Privilege Level 0. Work hard for a network version. /^#0 1/CLUB.MAINICONS> <  8 8 N P  )M `YZ$(  A C ȷ8 ȷ; Kh< p [pT"#+z`,8`SQP W "Q8`  jh!""h@H"hH) /HHH"hH"hh8`h`ZZZZZS HjhZ " hhhhh"`"ShUh$h(AUhh8`,,hhZV(U " z~z  Ji "  "ỽ0:0SHhT [ln+hH"*""HH" [ +`00:HH "8`  jh " hzz g,`hjZ"zZS 'Kh& eT NKhM eT8:e4 " zs ` ;[)+;ikKhh ;[ Q+hhhhHHkhj`- \N258 - \N259 Choisissez une application:Ouvrez a fichier Menu: !9Qi6 Bw H Tw  (w b nw n  n  s w  Fast MenuOuvreFermeDisqueSortieChoisissez une application: GS Infos 2.02i -#1 PurgeCancel#(1x F@E"This application resides in memoryDo you want to purge it ?F@h" k" k ;[7"T"""HiH:"/" ;"8"z ;i About...HelpNݱ l& (6N l& (Eq K[*" +`~)bd`rtdͦ\`rݮ:m&r% H%hhq&\`h\`Hݾhb\`b ^b\  [ +$( ȷKh  bd`m&1u&d]&Hڽ%H%H"hu&u&ݭm&u&]&b`u&-&ڽ%H%H"u&`*bڢpT`p b[pT"#+`\|   & [&$b&$ ZHzw$zȭ|w$|>"hmzzhm||z +  [&$+`z8$z8|$|+pbHH+"ᭂ8" ` ["#+` ~[6~) [l+`+ [$& b&H$H>"hShQ+p "ᭀ"  [$&+ȭ`h+-  "hȷh ;ik HHH""`$( ȷȷȷ  ڭ@10 6ȗȥȥ HH "hz HH"hz [ +.ȷȷZHڢ-" "zȷH1"H"h" h HJi  "` bH +"_+ ,>i [$H&HX$Z&U$"$U$h&h$+`rt  | !    w&,dLC ""HH "h"z "|HzH"h`ͽTͿOb"HZ"H tHrH"hp"h` `  3 |C]HHH"᭠ +)hh`"`hh` "HHKbG HH HH"""h>@""H"h H k 0 : ""@H>H"h;zZHZH""p"h<<ߩ<`z`ȷȷHڢ"hȷHڢ"h8JmiPKmiJi(.8P*HHH"h`02i &K>KL#1  No more spaceTo add this applicationpI m not sure to understandOnly one AUA is active.` |N O P ȷ$      `  ȷ :: Z z  " `  " H H( " h   " `    " ȭ ȭ ȭ `*`$(  < > ȷ3 ȷ6 Kh7 p [HH9"pT"HH9"+```ȷJi ȷ ȷ :: "`161718192021222324252627282930"`\| !!!!!!!!   [&$b&$zw$zȭ|w$|8zz+z!O"h1z!O"h [$&+`  7A n "\|!!!!!!!!! 0""!q&%H%H"`ک HH"`ݮݾΠHZ"`,g):: H0 HHZ""" 0wbbڽHH "z$(Z " " ȷ" ȷ"Kh" p [ pT"+zڽJJH@ "h#i@# [&H$HX$Z&#T"h$h&+]&@=&m&ڽ%H%H-& %H%H%%]&"" " " "hh,:, L #  ``kK [$H&HX$Z&W$T")$ڽHHHHHH"έU$h&h$+k zɯ|JJJJJj*D`\|$$$$$$$$$ $ $B4q&%%ڽ & `Hh h H h M&!& `%%=&%% % ]&b%rtB񨪷$(  % % ȷ% ȷ%Kh% [[%T"#[ +`%Vȷ` |&&' ]&Zz=& ۢ%s& HH) -& "hz s&%H%h &HȄ   czH " hz%% ]&=&M&)&  H  "h ȊȄ m&`ȷȷH=&h` ho&-&%H%HZH""`????O?O ?S??T???T??~<U#plp.3= p  A G t   ' <   p v |  W     .w:c4eimquy }!9Qi]u-!9Eh/8A Qsw nppj4 d ,z<pp&>L2hpl ? v   O!zU!!h!zn!!D####$W$L%%%%Z '/9G^hn"fu !5Afi5KOXils5  "$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfhjxz|~(,6@DRU^aiy EHK %6:>CLX~ !(.4DJUYqw !*-5dgsy!JMQU "'cz #-2NWe#%*17FOUX[f /?BF]`fin $2=AEHT),4KS`ks/369EHRXkq !$7BEJt}&-:?G[hkosw|" !%)-15H`h{#&+3>AFIOgpy*UYaiqyA` ,@ SHELL K) k0ȷȷȷ L{` A)  "᭩(dIZ <  ) #a(   d )A= A) l  o$ `   8   " hz`hzHZ ZH"hhzh [$f&hTHRH"R$T&+."7"ᜎ ) "ᜈ  Ģ THRH9"Ȍ U Ȯ᫫ 2ȱ2ȱ`3ȱ4ȱ4ȱ@5ȱ5諎AVL  ȋ᫫Z 2ȱ2ȱ`3ȱ4ȱ4ȱ@5ȱ5zBл`=i@kiri!yi(i/i6i= i^^T""ᜌ 2k2r`3!y4(4/@565=HHH"h |mwTHRH " [f$h&+HH"`)  "k`H *,.& "`F"5Command:  3 .consoleCATDISPLAYSHELLLAUNCHHHHHHn "hhhhHHVHHH "RhTH3"THRH3"`(L#*/SYSTEM/MANAGER.RSCFONTd OKx  Next Page<ZIf<3^&nV0Ej+.?ILOTW`cl08=koCFIQV"(+14:=CFLOUXkosx| '+3=AH ,@ ICONS <??<?<??<?<??<?<??<?<? ? ????<????<?????<?????<?<?? ?< <?` ,@ SEGJPTABLE" ,@ FONT @?33?????????9??????????????????????????????????????? 0?0???????33??????????????????? ????000????C?????????3??????????????????????????????????????? 0?0???????33???????????????????? ????000??????PROGRAMMESu' <-' 'EMUL.MINITEL<-<8LES.PLUSZ<-< SPY.PRODUCT<-<:PALETTES.16e<-<JEUX}<-<+EMUL.MINITELu' <-' 'STARTUP^<-!/STARTUP00 }<-!Ȯ4&EMUL.G  <-!(EMUL.DOC <-!5P.IMAGEWRITER<-!`5P.APPLE.DMP<-!`5I.APPLE.PARA <-!a5I.SUPER.SERIAL!<-!a5I.APPLE.IIGS"<-!aȮ5,DUMP.HIRES.R$ <-!Wo5HORLOGE)}<-T&TR.ER* <-!516197,0:16193,06(4)"-HORLOGE":48994,8Q::(4)"PR#3":(17)4:"R{alisation:":" du gros: Ramet J.P":"du gras: Carbonnel F":" du maigre: Perez.A" (49048)178ė:10:"VOTRE CONFIGURATION N'EST PAS ADAPTEE"::"A CE LOGICIEL............":23:1 49043,00:49042,0G (4)"-STARTUP00"\ R$:(R$):5000  :D$(4):D$"PR#3":(17)&E10:" "d10:" EMULATION MINITEL "210:" ":<13:5:"<1> CONFIGURATION IMPRIMANTE"F15:5:"<2> EMULATION Minitel" P23:1::" Faites votre choix 1 ou 2 ":3 Z23:29:868:R$:R$;:R$"1"R$"2"90F d(R$)200,310Z D$"-CONFIGURE"{ 634,23:23::D$"-IMPRIME": )D$(4):D$"BLOADTR.ER,A$301":3741 :I LG%(40):HIMEM8192o(4)"BSAVE /RAM/P,A$2000,L$2000"(4)"CREATE/RAM/IMAGE,TDIR"390SLOT2:254222R%1İ100:D$"PR#0":22R%2İ212:22R%3İ34:22 R%4İ340:22 352o "D$"BLOADPATCH.G":::4);"Veuillez composer le num{ro"::5);:"du service TELETEL ": (5);:" > RETURN < "::" Pour vous connecter sur TELETEL "::" une touche pour quitter"; .B$:B$:B$(13)ė:22 011000:294:C O$:263202 4(824)Ĺ824,0:66:294:27055:52q 6308:11010:::9);"FIN DE COMMUNICATION":294:DE$:308 <4:1:"D{but Communication "HD$:"Fin Communication "HF$:12010::"DUREE..... "TH%":"TM%":"TS%:I ?12:8);"autre connexion-->touche< O >":14:5);" Une autre touche pour le menu ";:A$:A$:A$"O"34O @ B308::::7:" SAUVEGARDE D'INFORMATIONS "::: N20:5:"TAPER (I)mprimer (M){moriser";:A$:A$ PA$"I"A$"M"Ĺ16304,0: RA$"I"İ318:16304,0:F TA(26318):B(26319):LA256(B64):16382,A:16383,B:26318,0:26319,64P X396 ZD$"BSAVE/RAM/IMAGE/ECRAN.N"E%",A$3FFE,L"L3:LG%(E%)L:E%E%1:16304,0:I2E%: dD$"BLOADRECUPM.C":: f" ";:10::" ":10:" UTILITAIRES ":10:" "::34,4: p9:6)"<1> Visualisation m{moire ":6)"<2> Ecrans sur disque":6)"<3> Sauver la M{moire sur disque" t6)"<4> Fixer le pr{fixe":10)"du disque de donn{es":6)"<5> Retour au menu principal":+v23:5:868::" VOTRE CHOIX ";::R$:R$;:R$"1"R$"5"118=xR$"5"ĉ::NzR$"1"ī162d|R$"4"İ144:112z~R$"3"İ356:11234,15:::"Nom de votre {cran ,ou pour aide -";NM$:(NM$,1)"/"NM$"/"NM$NM$"/?"NM$"/CAT"ĉ::D$"CAT"PR$:R$:R$:130198%400n:"Effacer du disque ? ";:R$:R$:R$"O"R$"o"ĺD$"DELETE "PR$NM$:"Un autre {cran sur disque ? ";:R$:R$:R$"O"R$"o"ī130102:BAD0:D$"PREFIX":PX$:"Donnez le pr{fixe :";(PX$,((PX$)1));:36,19:"";R$:R$""PX$R$=(PX$,1)"/"PX$"/"PX$e(PX$,1)"/"PX$(PX$,((PX$)1))((PX$,2,1))ĺ(7):144I1(PX$):(PX$,I,1)" "(PX$,I,1)"?"(PX$,I,1)"!"(PX$)16BAD1:BADĺ(7):144398(PX$)İ144 D$"PREFIX"PX$:PR$PX$:234,4::I2E%?I11I2iPR$"/RAM/IMAGE/":NM$"ECRAN.N"(I1)r198|186:"Sauver sur disque ? ";:R$:R$R$"O"R$"o"ė:16382,A%:16383,B%:"Nom de l'{cran @ sauver?";NM$:D$"BSAVE"NM$",A$3FFE,L"L3G:"Continuer ? < N = Non >";:R$:R$:R$"N"A$"n"182QI1I2[I1:p216,0:158:102394:PR$"Erreur E/S";:R$:170(PX$)0PR$PX$144:190394:"":190206&D$"BLOAD"PR$NM$:A%(16382):B%(16383):LA%256(B%64):26282:A$:x34,20::"Voulez vous :":34,22::"Imprimer ?";:R$:R$:R$"O"R$"o"İ318216,0:394:" "NM$" n'est pas l@ (et TOC !)":23:40:R$:102:218D$"OPENINFO":D$"READINFO"R$:R$;:(R$)3İ10000:216A216,0:22256:D$"CLOSE":10000:XD$"PR#3":(17):J12:I140:122(J2):I:" ";:I,JJ12:I122:139(J2):I:" ";:I,J*5:7:" Emulation du MINITEL ":6:7:" si Carte Eve couleurs ":1:"/ CARBONNEL.F / RAMET. JP / PEREZ.A "8:5::"1 : Utilitaires "::5:"2 : Informations sur le clavier"::5:"3 : Emulation MINITEL"::5:"4 : Test connexion"::5:"5 : Quitter le programme":20:3:" Votre choix ?"20:22:10000:R$"1"R$"5"248&R%(R$):hD$(4):CO$(27)(57)(104):S$(1):DE$(27)(57)(103)D$"PR#3":(17):16369,0:HR21601:12:9:" ":9:" EMULATEUR MINITEL ":9:" ":S%SLOT:SLOTSLOT16 388E%E%14D$"BLOAD CARACTERE"ND$"BLOAD VIDEOTEX.G"jD$"BLOAD TR.ER,A$8140"48998,255:48999,255:49000,192:::829,SLOT:824,0:&D$(4):D$"PR#0"(D$"IN#0"*D$"PR#"S%,S$"08B":S$"1D":S$"3P":S$"LE":S$"1T".D$"IN#"S%:-4D$(4):D$"PR#0"G8D$"IN#0":16369,0:>S1:23:1:868:D$"PR#"S:"COPIE de l'Ecran "NM$:"FP1:T0:B192:L0:W280:I0:SC0:LF1:TY0:R0:N1:D0:MX2:MY2:DE0:A222725JA257,LF128:A1,S:A3,R128:A4,N128:A5,D:A6,P32:A7,T:A8,B:A9,L(L256)256LA10,(L256):A11,W(W256)256:A12,(W256):A13,MX:A14,MY:A15,I(I256)256NA16,(I256):A17,SC128:A18,DE:A19,TY:AP::D$"PR#0":16369,0:23:1:868:T294GV(12)(31)"04 "(18)"P"(27)"M"(27)"R "" .TEST OK !":308:_\D$"BLOADCARACTERE"y`I4899649000:I,0:bD$"BYE"d(PX$)İ144f370h:"Sauvegarde ...":A1E%jD$"BLOAD/RAM/IMAGE/ECRAN.N"A",A$3FFE,L"LG%(A):2:A)lD$"BSAVE"PX$"/IMAGE.N"A",A$3FFE,L"LG%(A)FnD$"LOCK"PX$"/IMAGE.N"A"Np:br394:(7):356rv216,0:769xD$"OPEN/RAM/IMAGE,TDIR"zD$"READ/RAM/IMAGE |A$:K3ĭA$""ĺD$"CLOSE":E%K3:20~KK1:K3LG%(K3)((A$,68,4))380216,0:769:D$"CLOSE":J216,0:769:I4899649000:I,0::276t216,0:769:I4899649000:I,0::20394:"Erreur d'entr{e , sortie ";:R$:AE%1:36822256:216,0:23:1:868:394:(7)"M{moire pleine":92394:144!394:"Fichier verrouill{":140>'3:3:"DATE et HEURE "R'3:20:21504:q.'XR(16384):XR128100108'16368,0:R$(XR128):*21504:HD$"":I35:TD%(I3)(HRI):HD$HD$(TD%(I3))"/"::+21504:HF$"":I35:TF%(I3)(HRI):HF$HF$(TF%(I3))"/"::0.TS%TF%(2)TD%(2)F.TM%TF%(1)TD%(1)\.TH%TF%(0)TD%(0)|/TM%0TH%TH%1:TM%60TM%/TS%0TM%TM%1:TS%60TS%:12040/:d ************************************************** * Emulateur MINITEL en couleurs pour //e EVE * * monochrome pour //c IIgs * * par Perez A. Carbonnel F. Ramet JP. * ************************************************** Ce logiciel utilise le modem du MINITEL et un cable de liaison MINITEL-APPLE tel que d{crit dans la revue POM'S n[ 27 et 28 ,ainsi qu'une SSC en port 2. Il permet de sauvegarder plusieurs pages {cran en m{moire (plus de 40) , de les sauvegarder sur disquette et de les sortir sur imprimante. CREATION DE LA DISQUETTE Avec les utilitaires systemes ,formattez une disquette en PRODOS que vous nommerez /SERVEUR Copiez dessus le PRODOS ,le BASIC.SYSTEM et les fichiers EMUL.BAS.EXE et EMUL.BIN.EXE Boottez cette disquette et des que le prompt APPLESOFT apparait faites: -EMUL.BAS.EXE La disquette va se cr{er toute seule. 1 ere UTILISATION le premier menu vous donne le choix entre la configuration imprimante et l'{mulateur , choisissez l'option 1 (configuration) et suivez les indications. D}s que la configuration est effectu{e ,vous pouvez choisir l'option 2 COMMANDES Une option GUIDE dans le menu vous donne la correspondance entre les touches sp{ciales du MINITEL et celle de l'APPLE // Les commandes ont {t{ simplifi{es au maximum et si vous ne savez pas quoi faire ,frappez n'importe quelle touche En g{n{ral , @ la question: continuer ? ,l'appui sur la touche N pour non et n'importe quelle autre pour oui SAUVEGARDE Vous pouvez sauvegarder les images lors de la visualisation de la m{moire ,il suffit alors d'indiquer le nom de l'image que vous voulez sauvegarder lorsque la question se pose Une autre option du menu utilitaires vous permet de sauver toute la m{moire d'un coup. Attention: les images sont sauv{es s{quentiellement sous le nom suivant: IMAGE.N1...N2...N3 etc.... et elles sont verouill{es ,ce qui implique que vous ne pourrez refaire une sauvegarde globale avant d'avoir elimin{ ou renomm{ les images en question. INCIDENTS Ce logiciel n'{tant pas totalement stabilis{ ,il se peut qu'il y ait un BREAK ou un plantage , il suffit d'un CTRL RESET et d'un RUN pour {viter de perdre toutes les pages en m{moire (surtout pas de CTRL POMME RESET ! car les images sont en MEMAUX [ ENFIN Si ce programme vous plait et que vous en trouviez l'utilisation, vous pouvez envoyer la somme de 150 FF @ : Mr PEREZ Alain 9 rue Jean AICARD 83340 LE LUC en PROVENCE qui se chargera de vous faire parvenir les derni}res versions et de partager cette {norme somme entre les trois concepteurs. Enfin ma BAL est ouverte pour toutes les questions sur ce programme (drivers d'imprimante ,adaptation au modem DIGITELEC ETC..) AP14 ------------------------------ HHPH`HkHxHHHH`hpxhpxhpxhpxhpxhpxhpxhpxnT14AG NT14ET14eT14qT14QT14pT14PT14PH`HHHHHxHHX`hpx`hpx`hpx`hpx`hpx`hpx`hpxNT14AG ET14pT14PT14nT14qT14QT14H0h`` h)0h`H)pIh`` h)0h`H @Vh @V`` h @Vh @V`HMVhLLWV ^ ^U^^ȹU^ΐ^ȹU^ȹU^ [,W0LXW8We^v^w^Wv^me^v^w^iw^v^mWv^w^mWw^ H\ Wm Wp^ Wm Wq^p^q^p^ W W xZr^s^q^p^ xZt^u^~^^^ W^W^ ZWt^^u^^^^\) W]d^^r^`^s^V Z^^^=^ ~^^^~^^0΂^߭ W^΅^^΄^0΂^ W^΅^^΄^~^,W0^]g^,^ ^J.e^e^^=^ ^ \΃^~^^^W^d^WLW [^0$r^^s^^t^^u^^^LWL[v#%&'(^w^ Wv^m Wv^w^m Ww^v^mWv^w^mWw^ H\Wf^ Wm Wp^ Wm Wq^ W W xZr^s^q^p^ xZt^u^~^^^ W^W^ Zr^^s^^^^f^d^d^WR\) W]^ Z^^^=^ ~^^^~^^0΃^߭W^d^д΃^ W^d^~^,W0^]g^,^ ^J.e^e^^=^ ^ \΂^~^^^ W^^^^^^t^^u^LY [d^W f^^^LYL[Hi #i)`,W0`o^Jx,T,U,T(o^`^ v^x^w^y^W|^W}^}^ |^ ^ \|^}^}^|^LZ`W^z^ȹUU 4\z^z^^{^` y^0 x{^ 4\L4\x^{^ 4\L4\{^`{^^ 4\^ 4\^ 4\^L4\{^`W^UU 4\z^{^`W^UU 4\`z^{^HW^UU ,U 4\W hɛhhL[ɠ `,^  \L4\H{^H Zh^{^hF\D\^^ V`^!8v^xv^w^w^ʭv^ixv^w^`nv^w^v^v^w^w^ 0^v^dw^v^dv^w^w^ 0^v^  v^ 0^v^ 0^`` $(,048< $(,048"&*.26:>#'+/37;?#'+/37;? $(,048< $(,048"&*.26:>#'+/37;?#'+/37;? $(,048< $(,048"&*.26:>#'+/37;?#'+/37;?((((((((((((((((((((((((((((((((PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP @?05:?DINSX]16;@EJOTY^27CHMRW\a ʩ^L^ `$L  a ) gjH ihm gmi g` g+9.Y" `- gLxoc-#)`p # g)ߍ##8 *.*.+.* g.+.*.++m-+`e+ g##h$g&f,e- ga.`/_0^1]8 gYVAXB gTCSHRKQjPz gL #.,L7oLXpLapLgpLmpLspL|pLpLpLpLpLpLpLp gLpLpLpLpLpLpLp*` g*`*`*` g*`(*`0*`8* g`@*`H*`P*` gX*``*`9h* g`9p*`9x* g`9*`9* g`*`*`!8 `0 "80hfTheThdThcThaThbThhgT0hT"80hT `X!#hhߚHH`)CARACTERE-<-!`5'APPLE.12<-@5(RECUPM.CC<-!fu5'PATCH.GF<-!f5*VIDEOTEX.GI <-!g5$INFOS<-!Ȯ5IMPRIMEU<-)CONFIGUREW<-!Ȯ5>>( <02&,*  **|> "&*2" > ""  >>" >""8 >"""" <"">> "<:*""">""""""""""""">>><"2<""">"""" "  ">"""**6"""2*&""""""""",*"""" """ ">""""""""""""6**"""""""""> >>> >00000>*,./0<"< """<<<"""< <>"$ <"""""" "" "***6""""""""" <""<: <$,2""""""6**"""" <""">>@@@@@@@@***pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp:8( <>>~*?*> }*4*#p"Tz#B }*7*"C   < : << : <xGLcm  xHLcm F gLcm CLcmDLcm g xELcmILcm gLqmJ xG61 {m61 g {m`H mJJh`HDIEDFE gGLmF g,G-,0FiF gGiG0 g`= f`= f` gHDIEDF#EG gH}IF}G Qn`F g,G-,0FiF gGiG iLm2 g`# &r p)L M g p gJ% q)LM q x p)LM p`" g%2&4 gI'L)\(`< gLo) g(LoP|yOCc?~|w}co`xgs=~L8?x??|qgCw~|saCgOG`OG{p=`s=~pG88?8?8?8?8?????????????????????8?`x< B Fa 10<8?8?8?8?8?8?8????????8?13456789:;<=>?@A888?8?8?8?8?88?????????????8????????????`?888??8?8?8?8??`|EH Eq@DP(| 8888????`8;Ngc0g dDsOpcNag C8?x??@88?8?8?8?8?????????????????????8?`X70x0Fa|1p8?8?8?8?8?8?8????????8?888?8?8?8?8?88?????????????8????????????`8888??8?8?8?8??`$xyqx@|% 8888????`?Lgc0C9`@3[0C LaC 88??????8???8?8?8?8??????????????8????88`X70Fa 10??????8?8?????????8???????????????????8?????8888?8?8?8?8???`88????????`DDE@% 888?8?8?8??`?L=c8Caa@3[0cANC #88??????8???8?8?8?8??????????????8????88`3xc0`Fa 00<??????8?8?????????8???????????????????8?????8888?8?8?8?8???`88????????` E E( @"!888?8?8?8??L=cCc@3s0@xGaC ?88??????8???8?8?8?8??????????????8????88`3 C(0`Fa 40f??????8?8?????????8???????????????????8?????8888?8?8?8?8???`~@@{``~}88????????`Nsx]{xg9p80`9G;r~!888?8?8?8??LcCf@3s0_?B CU ,TP`U< =@?BЅC 3iT< =>??B@C ,@ A Rh @A Rh<@=>_?B C ,U<Ѕ=?B C 3iT`B qBCCC nC n@ n )iBD8 i  U T(ѥ8  8LhLh@@ABLZh r`i `_?B CU ,TP`U< =@?BЅC 3iT< =>??B@C ,@ A Rh @A Rh<@=>_?B C ,U<Ѕ=?B C 3iT`B qBCCC nC nEG@ n )i8 i  U T(ѥ8  8LhLh@@ABLZh r`i `_?B CU ,TP`U< =@?BЅC 3iT< =>??B@C ,@ A Rh @A Rh<@=>_?B C ,U<Ѕ=?B C 3iT`B qBCCC nC n@ n )i8 i  U T(ѥ8  HJKLMNOPQ 8LhLh@@ABLZh r`i `??B@CU , gThh8`x g=I f fhh`  gLl xBLcm  xALcm g J xGLcm  xHLcm F gLcm CLcmDLcm g xELcmILcm gLqmJ xG61 {m61 g {m`H fh f`HDIEDFE gGLmF g,G-,0FiF gGiG0 g`= f`= f` gHDIEDF#EG gH}IF}G Qn`F g,G-,0FiF gGiG iLm2 g`# &r p)L M g p gJ% q)LM q x p)LM p`" g%2&4 gI'L)\(`< gLo) g(LoP) gjH ihm gmi g` g+9.Y" `- gLxoc-#)`p # g)ߍ##8 *.*.+.* g.+.*.++m-+`e+ g##h$g&f,e- ga.`/_0^1]8 gYVAXB gTCSHRKQjPz gL #.,L7oLXpLapLgpLmpLspL|pLpLpLpLpLpLpLp gLpLpLpLpLpLpLp*` g*`*`*` g*`(*`0*`8* g`@*`H*`P*` gX*``*`9h* g`9p*`9x* g`9*`9* g`*`*`! g'! g   `!`!') g!   )L gN `!`7  g ` 7`   g `  g` g- gn nnLqn8n gn)`n gnn)Lqn gn)Lq g`` g` q g w 7o"LrL g)\( ! n g* +  gH,(\- gLr  wh g8з9,, g. q r., g.`)LLIr gMNO`LuL6t ! g n g ʎ! n g* +  gLbsLsH,(\ g-Ls  $w g8 $w8 ghЛ9,, g. q r.,. g``H,(\ g -L t  g w8 w8 ghLPs  g! n* g+  qH g,(\- gLt  wȭ, g(\ -Lt  g wh8 g9,,. gLuLat q g q r.,.` g ! n g ʎ! n g* +  g qLvH, g(\ -Lu  g $wȭ,(\ g -Lu  g $w8,( g\ -L v  g $wȭ,(\ g-L:v  $w g8hLw9 g,,,. q q g r.,.`H g,  w g,  w g8,   g wȭ,   g w8h gLbuUKT`U gKT`! g'L g# &rL p` qK G ANNULATION ........ X CONNEXION/FIN ........ D RETOUR AU MENU ........ F IMPORTANT : --------- Quitter une communication par : Ctrl D Ctrl F imp{rativement.  RT CONFIGURATION DU TABLEAU DE BORD -------------------------------- Pour utilisation du MINITEL sur le port int{gr{ : Small-Port N[2 * Configuration par d{faut sur tous les indicateurs sauf : - Add LF after LF : Yes - Data/Stop Bits : 7/2 - Parity : Even - CDC Handschacke : No - DSR/DTR Handschacke : No Un cable de liaison relie le Small-Port avec la prise informatique du MINITEL.NEW 5 D$=CHR$(4) 6 ?D$"BLOAD DUMP.HIRES.R" 10 ?D$"BLOAD P.IMAGEWRITER,A$5500" 20 ?D$"BLOAD I.APPLE.IIGS,A$5600" 25 ?D$"BLOAD TR.ER,A$56F0" 30 POKE 48994,15 :POKE48995,255 40 ? CHR$(4)"RUN EMUL.G" RUN  1D$(4):F$"IMPRIME":D$"PR#3":(17)X:5:" "}(5:" CONFIGURATION IMPRIMANTE "25:" ":<I12:P$(I):FI13:I$(I):d6:1:"Choix de l'Imprimante :" n8:8:"<1> "(P$(1),3)) x9:8:"<2> "(P$(2),3)U 11:1::" Votre imprimante 1 ou 2 ":~ 27:11:868:R$:R$"1"R$"2"140 R$:I(R$) 14:1:"Choix de l'interface :" 16:8:"<1> "(I$(1),3) 17:8:"<2> "(I$(2),3) 18:8:"<3> "(VXYI$(3),3)" (Int{gr{ 1)"E 21:1::" Votre interface 1,2 ou 3 ":n 28:21:868:R$:R$"1"R$"3"200~ R$:J(R$) 24:1:"CONFIRMEZ VOTRE CHOIX par Oui ";:R$:R$"O"Ĭ ,24:1:" ENREGISTREMENT DE VOTRE CONFIGURATION "; 1D$"OPEN"F$:D$"CLOSE"F$:D$"DELETE"F$: 6D$"OPEN"F$:D$"WRITE"F$E ;"NEW"Y @"5 D$=CHR$(4)" E"6 ?D$"(34)"BLOAD DUMP.HIRES.R"(34) J"10 ?D$"(34)"BLOAD "P$(I)",A$5500"(34) T"20 ?D$"(34)"BLOAD "I$(J)",A$5600"(34) U"25 ?D$"(34)"BLOAD TR.ER,A$56F0"(34)3 V"30 POKE 48994,15 :POKE48995,255"] Y"40 ? CHR$(4)"(34)"RUN EMUL.G"(34)h ^"RUN"w cD$"CLOSE" hD$"-STARTUP00": P.APPLE.DMP,P.IMAGEWRITER  I.APPLE.PARA,I.SUPER.SERIAL,I.APPLE.IIGS LES.PLUSu' <-' '.GESTION.TITRES\/Z<-~|xZ.GEST.BOURSIERE (<-sxZ*CLAVIER.VF\ <-!FZ(NEXT.NDAge<-8ZFINDER.DATAɒj< < Z        CM TNHNH NH PSK EVOLUTION DU PORTEFEUILU ILLE TITRES  au: 19/11/892-*-*-*-*-*-*-*-*-*-*-*-*- *-*-*-*-*- Tableau ID1234567891011121314[]^_`abcdefghijklmnopqrstuvwxyz{|}~15`!-!-!-!-!-!-!--!-!-!-!-!-!-!--!-!-!--!--!--!-!-!-!-!-!!- NOM!Nb.!  COURS HA!  VAL.HA.! COUR/JV89! VAL.JV 89! COUR/ACTU! VAL.ACTUEL!ACT/HA!AC/JV! + HAUT! + BAS!COUPONS!RDT%!NOM! % VAL FR.` !=!!=!!=!!=!!=!!=!!=!!=!!=!!=!!==!=!!=!!=!!=!!=O  Air liquide ! 7@! \(du@!G@! @!@! @!@!i?!\\?! Є@! @!r@*@7@!Ƣ{r?! Air liquide !f? I  C.G.E. ! 6@!  ףp=zp@!Gz@! (y@!K@! h}@!7@!{?!Ȝ?! @! z@!h@"@6@!}wz?!  C.G.E. !$? M  Navig.mixte! 9@! Rt@!S@! @!@w@! @!@!Fw-@!#~j?! @! @!@@4@9@!{;?!  Navig.mixte!wD]?Q  Pernod Ricard! *@! Hzs@!G@! @!7@! ȕ@!@!xCk} @!__?! @! @!`h@.@*@!шyp?! Pernod Ricard!(?G  L'Oreal ! @! Hz@!(\B@! +@!@! @!|@!|<B?!~!þ?! $@! x@!r@I@@!¿ ?!  L'Oreal !~4YQ?A Screg! >@! `@!*@! h@!@! p@!Y@!?!hRa"?! \@! 0@!@j@@>@!qa?! Screg! ?S St{. G{n{rale ! 7@! \(v@! ףp\@! P@!s@! ~@!@![?!۠c! @! {@!r@*@7@!-3E?! St{. G{n{rale !6 `w?A Suez ! 8@! zGq@!R˺@! hs@!@! x@!f@!+|h?!+~|?! p{@! qr@!fffffb@333333@8@!#0e?! Suez !#B;?!!!! !!! !!! ! ! !!!`!-!-!-!-!-!-!--!-!-!-!-!-!-!--!-!-!-!-!--!--!-!-!-!-!--!- TOTAUX ACT.FRANC!!!Rk @!!-A!!A!?!^?!!!fffffР@!{[ |j?! TOTAUX ACT.FRANC!?`!-!-!-!-!-!-!--!-!-!-!-!-!-!--!-!-!-!-!--!--!-!-!-!-!--!- indice CAC !!!! y@!! @!!!}?! 0@! io@!!!]!-!-!-!-!-!-!--!-!-!--!--!--!-!-!--!--!--!-!-!-!-!--ACTIONS ETRANGERES:]!-!-!-!-!-!-!--!-!-!-!-!-!-!--!-!-!-!-!--!--!-!-!-!-!-- NOM!Nb.!  COURS HA!  VAL.HA.! COUR/JV89! VAL.JV 89! COUR/ACTU! VAL.ACTUEL!ACT/HA!AC/JV!+ HAUT! + BAS!COUPONS!RDT%! NOM! % VAL.ETR.`!=!!=!!=!!=!!=!!=!!=!!=!!=!!=!!==!=!!=!!=!!==!=<  Siemens! &@! = ףp@!G@! @!@! h@!@!Tl?!@bw#?! @! Ԙ@!p= #s@ףp= ;@&@!JrI?!!oLR?K T.D.K.! K@! q@!`p@! k@!@! l@!@! vĿ!LϺ?! 0r@! h@!,E@p= ף?K@!)ag?! Coupons divers! gZ?`!-!-!-!-!-!-!--!-!-!-!-!-!-!--!-!-!-!-!--!--!-!-!-!-!--!-Tot.Act.{trang}re!!! ףp@!!@!!@!Z[u?!LϺ?!!!> ףpu@!X;Ɇ?! TOTAL ACT.ETRANG!?` !-!-!-!-!-!-!--!-!-!-!-!-!-!--!-!-!-!-!--!--!-!-!-!-!-!-!-! TOTX.ACT.FR+ETR.!!!G@!!&A!! A!ڻFl?!U-bv?!!!Gz@!C4;?! TOTX.ACT.FR+ETR.!]"!-!-!-!-!-!-!--!-!-!-!-!-!-!--!-!-!-!-!--!--!-!-!-!-!-!-#  OBLIGATIONS!Nb.!  COURS HA!  VAL.HA.! COUR/JV89! VAL.JV 89! COUR/ACTU! VAL.ACTUEL!ACT/HA!AC/JV!+ HAUT! + BAS!COUPONS!RDT%! NOM!]$!-!-!-!-!-!-!--!-!-!-!-!-!-!--!-!-!-!-!--!--!-!-!-!-!-!-7%Oblig.St{.G{n.6%! @! {@!@! {@!@! @!L@! O ?! O ?! @! }@! !Y@!Oblig.St{.G{n.6%!9&Obl.conv.CGE.6%89! @!  |@!@!  |@!@! }@! @!?!?! H@!  |@! !Y@!Obl.conv.CGE.6%89!'Est court terme! 1@! zG@!(\@! YG@!4333ϋ@! (\OJ@!Q@!)l씝?!!C?!!!!!Est court terme!](!-!-!-!-!-!-!--!-!-!-!-!-!-!--!-!-!-!-!--!--!-!-!-!-!-!-)Totaux Obligation!!!(<@!!43332@!!QT@!ՋnX?!D'6?!!!!!!]*!-!-!-!-!-!-!--!-!-!-!-!-!-!--!-!-!-!-!--!--!-!-!-!-!-!-+Totaux TITRES!!!RA!!?A!!HzibA!">p?!F?!!!Gz@!iO=_?!!],!-!-!-!-!-!-!--!-!-!-!-!-!-!--!-!-!-!-!--!--!-!-!-!-!-!-. Tableau IIE0ACHAT ET VENTES TITRES  EN 1989   au: 19/11/89:112345678910111213Q2!-!-!-!-!-!-!--!-!-!-!-!-!-!--!-!-!-!-!--!--!-!-x3TITRES!DATE!  QUANTITE!COURS!  COUT  NET!COUT CUMULE!DIFFER.!+!-!i4!!ACHAT!VENTE!!ACHATVENTE!ACHAT!VENTE!HA.-VTE!VALUE!VALUE!Q5!-!-!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!~6SUEZ! 12/01/89! @!! @p@! @@!! @@!!@@!!!7Oblig.convertible CGE! 12/01/89! @!! {@!@!!@!!@!!!8St{.G{n{rale att.grat! 28/01/89! @!! X@! !!@!!@!!!9SUEZ attr.gratuite! 30/04/89! @!!! !!@!!@!!!:Oblig.EST CT.! 07/07/89! @!! (\@! (\@!!(\l@!!(\l@!!!;Oblig.EST CT.! 24/07/89! *@!! Gz@! q= C@!!GZo@!!GZo@!!![<!!!!!!!GZo@!!GZo@!!![=!!!!!!!GZo@!!GZo@!!![>!!!!!!!GZo@!!GZo@!!![?!!!!!!!GZo@!!GZo@!!![@!!!!!!!GZo@!!GZo@!!![A!!!!!!!GZo@!!GZo@!!![B!!!!!!!GZo@!!GZo@!!![C!!!!!!!GZo@!!GZo@!!![D!!!!!!!GZo@!!GZo@!!![E!!!!!!!GZo@!!GZo@!!![F!!!!!!!GZo@!!GZo@!!![G!!!!!!!GZo@!!GZo@!!![H!!!!!!!GZo@!!GZo@!!![I!!!!!!!GZo@!!GZo@!!![J!!!!!!!GZo@!!GZo@!!![K!!!!!!!GZo@!!GZo@!!![L!!!!!!!GZo@!!GZo@!!!M Tableau IIIOINVENTAIRE DU PORTE FE UILLE TITRES    au: 19/11/89        P-*-*-*-*-*-*-*-*-*-*-* -*-*-*-*-*-*-                QACTIONS FRANCAISES:R12345678910111213QS!-!-!-!-!-!-!--!-!-!-!-!-!-!--!-!-!-!-!--!--!-!-}TTITRES!nb.!DATE!  QUANTITE!COURS!  COUT  NET!COUT CUMULE!COURS!+!-!mU!!!ACHAT!VENTE!!ACHAT!VENTE!ACHAT!VENTE!MOYEN!VALUE!VALUE!QV!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!W AIR LIQUIDE! ! 21/12/82! @! ! @z@! (\@! ! (\@! !!!!X AIR LIQUIDE! ! 11/04/83! ?! ! HA.5 DR.! Ll@! ! z@! !!!!Y AIR LIQUIDE! ! 04/07/84! @! ! HA.4 DR.! (\©@! ! @! !!!!Z AIR LIQUIDE! ! 25/06/84! ?! ! ATT.GRAT.! ! ! @! ! = ףpYt@!!![ AIR LIQUIDE! ! 12/03/85! ! @! ؃@! ! = ףp@! ! = ףp@! Hz_f@! )\|@!!\ AIR LIQUIDE! ! 30/06/85! ?! ! ATT.GRAT.! ! GznX@! ! @!!!!] AIR LIQUIDE! ! 13/08/85! @! !  @! Hz@! ! Qj@! !!!!^ AIR LIQUIDE! ! 14/08/85! @! !  @! @! ! Q@! Q@! ףp= w@!!!_ AIR LIQUIDE! ! 16/07/86! @! ! HA.5 DR.! Ry@! ! ףp@! ! Hzv@!!!` AIR LIQUIDE! ! 12/11/86! @! ! HA.3 DR.! QЛ@! ! )\A@! Q@! ףp=w@!!!a AIR LIQUIDE!#7@! 13/07/88! @! ! ATT.GRAT.! ! Q?@! )\A@!fffff@!),du@A@@7@!!!Ub! !! !!! !!!!!!!c! !! ! ! ! ! ! ! !!!!dNAVIGATION MIXTE! ! 26/02/84! 4@! ! l@! G#@! ! G#@! !|?5^m@4@!!!eNAVIGATION MIXTE! ! 02/03/85! ! @! v@! ! Q̚@! !Q̚@! Qhh@.@! HzP@@!!fNAVIGATION MIXTE! ! 23/12/85! $@! ! @! (\O;@! !Q@! !0*t@9@!!!gNAVIGATION MIXTE! ! 16/09/87! ?! ! @! @! !Q@! ! 8XPcv@:@!!!hNAVIGATION MIXTE! 9@! 05/05/88! ! ?! Ȏ@! ! (\֍@! !ۤ@!̡Et@9@!!!i! !! ! ! ! ! ! ! !!!!j! !! ! ! ! ! ! ! !!!!kL'OREAL! ! 21/12/82! ?! ! @! \(~@! !\(~@! !!!!lL'OREAL! ! 07/08/85! @! ! @! (\b@! !QE@! !!!!mL'OREAL! @! 03/07/87! ?! ! ATT.GRAT.! ! !QE@! !K~@@!!!n! !! ! ! ! ! ! ! !!!!oPERNOD RICARD! ! 07/08/85! $@! ! h@! R+@@! !R+@@! !-̅@$@!!!pPERNOD RICARD! ! 24/12/85! $@! ! @! (@! !1@! !`"[LJ@!!!qPERNOD RICARD! ! 11/07/86! ! $@! @! ! @@!1@!@@! _v@$@! (z@$@!!rPERNOD RICARD! *@! 21/07/86! @! ! HA.2 DR.! (\@! !ffffƵ@!@@! s@*@!!!s! !! ! ! ! ! ! ! !!!!t! !! ! ! ! ! ! ! !!!!uC.G.E.! ! 25/05/87! 4@! !  r@! @! ! @! ! r@!!!vC.G.E. attr.grat.! 6@! 26/12/88! @! ! `y@! ! ! @! !袋.zp@@6@!!!w! !! ! ! ! ! ! ! !!!!xSTE. GENERALE! ! 16/06/87! 4@! ! py@! ̿@! ! ̿@! ! py@!!!ySTE. GENERALE! ! 10/07/88! ?! ! m@! m@! !]@̿@m@! !<@! 23/12/88! >@!! @! *@! ! *@! !`@*@>@!!!}! !! !! ! ! ! ! !!!!OBLIG.CONV.C.G.E.! @! 12/01/89! @!! {@! @! ! ! ! {@!!!! !! ! ! ! ! ! ! !!!!}! !! !! ! ! ! ! !!!!OBLIG.STE.GENER.! @! 19/09/88! @!!  |@! @! ! ! ! |@!!!}! !! !! ! ! ! ! !!!!EST.Court Terme! ! 07/07/89! @!! (\@! (\@! !(\@! !!!!EST.Court Terme! 1@! 24/07/89! *@!! Gz@! q= C@! !GZ@! !yF@1@!!!}! !! !! ! ! ! ! !!!!}! !! !! ! ! ! ! !!!!}! !! !! ! ! ! ! !!!!}! !! !! ! ! ! ! !!!!ACTIONS ETRANGERES !! !! ! ! ! ! !!!!!---- !! !! ! ! ! ! !!!!SIEMENS! ! 07/03/84! $@!! @! m@! !m@! !!!!SIEMENS! ! 12/03/85! ?!! ! s@! !fffff@! !}7M@&@!!!SIEMENS! $@! 27/10/88! ! ?! @! ! ףp= b@!fffff@!ףp= b@! -o@$@!!!}! !! !! ! ! ! ! !!!!}! !! !! ! ! ! ! !!!!T.D.K. ELECTRONIC! ! 28/02/84! I@!! r@! ףp=Jp@! ! ! !!!!T.D.K. ELECTRONIC! K@! 12/03/85! @!! ATT.GRAT.! ! ! ףp=Jp@! !o5# q@K@!!!Q!--!--!--!--!--!--!--!--!--!--!--!--!-- Tableau IVBActualisation des vale urs en fra ncs courants::pour un taux annuel d' inflation de 0,32 %123MoisAnn{e.Date d{part (M,A) &@ U@8Date actuel (M,A) (@ V@DNb.mois {coul{s.H@(@<Coeff.d'actualis.$42?Pn?(@Valeur d{part X@,Valeur actualis{eZ9@~O=====!====!====!====!====!====!====!====!====!====!====!====!====!====!====!===B~FDLe Fichier Gestion.Titres est une application "tableur"du programme HFAppleworks et permet @ toute personne ayant un portefeuille titres de suivre et g{rer son {volution.:Il se pr{sente en quatre tableaux successifs comprenant:6 Tableau I Evolution du portefeuille titres: Tableau II Achats et ventes de l'ann{e en cours6 Tableau III Inventaire du portefeuile titres6 Tableau IV Actualisation en francs courants-Tableau I Evolution du portefeuille titres:0Ce tableau est dispos{ en 15 colonnes donnant: 1 - D{signation du titre 2 - Nombre de titres 3 - Cours d'achat" 4 - La valeur d'achat (2*3); 5 - Le cours du titre en d{but d'ann{e (au 01/01/89)4 6 - La valeur du titre en d{but d'ann{e (2*5)H 7 - Le cours actuel @ relever dans votre journal boursier favori.# 8 - La valeur actuelle (2*7): 9 - Le ratio Val.actuelle / valeur achat ((8-4)/4)%: 10 - Le ratio Val.actuelle / valeur Janv. ((8-6)/6)%A 11 - Le cours le plus haut de l'ann{e en cours (@ afficher)@ 12 - Le cours le plus bas de l'ann{e en cours (@ afficher)7 13 - Les coupons nets touch{s de l'ann{e en coursG 14 - Le rendement du titre (13/4 %) rapport{ @ la valeur d'achat.D 15 - Le pourcentage de valeur du titre par rapport @ la valeur@ totale actuelle des titres composant le portefeuille.2Tableau II Achats et ventes de l'ann{e en cours:GECe tableau r{parti en 13 colonnes vous permettra de noter vos achats IGet ventes de l'ann{e et de mettre en {vidence les plus et moins values 'r{alis{es au cours de ces op{rations.0Tableau III Inventaire du portefeuille titres:GECe tableau dispos{ en 13 colonnes vous permettra de regrouper toutes FDvos op{rations sur un titre consid{r{, achats, ventes, attributions Ggratuites, ventes ou achats de droits; et vous permettra de calculer: le cours moyen du titre 6 les plus ou moins values r{alis{es sur ce titre;Tableau IV Actualisation des valeurs en francs constants:HFCe petit tableau vous permettra en entrant un taux annuel d'inflation GE(0,32/an dans l'exemple donn{), en affichant: les dates de d{part et A?de fin, ainsi que la somme @ actualiser de connaitre la valeur GEactualis{e d'un titre particulier.Ceci pour les puristes qui veulent Bappr{cier leurs gains ou h{las leurs pertes en francs constants.DBCe fichier est un tableau de bord vous facilitant le suivi de vos B@titres. Il vous laissera votre libre choix et ne prendra aucune IGd{cision @ votre place, mais il vous permettra @ tout moment d'{valuer FDvotre portefeuile et m{me de comparer vos ratios @ ceux de l'indice CAC.HFAlors ouvrez vite votre journal financier et entr{e les cours du jour B@votre tableur vous calculera imm{diatement l'{volution de votre portefeuille."Quelques conseils d'utilisation:; N'oubliez pas de rentrer la date c'est un bon rep}reH Les calculs sont manuels faites pomme K apr}s rentr{e des donn{esGE Pour suivre plus facilement chacun des tableaux bloquez et <synchronisez les titres du tableau @ exploiter ( Pomme F )HFLe fichier de titres donn{ en exemple n'@ qu'une valeur indicative et <n'est l@ que pour faciliter la compr{hension des tableaux.FDEt maintenant bonne chance et faites moi part des am{liorations que vous allez surement apporter !Claude Virrion47,Rue de la Lib{ration51800 Ste. MenehouldT.26.60.85.81T,BRob Turner ExpressLoadT ? ; ,@ ? ,@ ? ,qB**Clavier VF Actif \H**K,j8 "  K"jHHHHH "hhHHHHHH "hhHHHHV^ "hhHHHHx  "hhkK kK,jHH "jkZK: zk` ;[  +`HH"`HH" "7"6"S"7"sa:"a<"᭮HH"᭮HH"`"hhhHHHH"hHHHH"h`HH#"h%Kq`IHHH"`"hY"h`"hjY"h`IHHH"ᭀHHH"ᭀ:)H$""hh"`)H$"HH"`K%))%)@  %),.mK, ~K^AD0% ) ) ) HH"h0k\Nn&( Clavier VF - v3.2 Clavier VF Actif Clavier VF b <JNDA du domaine public JXCaractres franais accentus Xdirectement au clavier, ainsi que la police tendue par JX-{SCTRLS}-{SSHIFTS}-<StoucheS>]v Install R(Convertir "," en "." {}|@\[]#aeioueiu31 "/Ecrit par L'Anome et Maytu. (c) M.G.B 1988-89. Amitis : JRVM - DAG - KAM - A.A./^ OK < Ls A Propos de83/Ce NDA permet la francisation du clavier lors de l'utilisation de logiciels US. Le trema et le circonflexe sont disponibles en les tapant avant le caractre accentuer. L'option "Convertir" permet d'utiliser la virgule du pav numrique comme un point./^ Compris ! <}LAide0?  M DDݭ M Mѭ M 0?33333330??33333333333?????????3?3333333333?00??0?, q>msV^=xC8Hsj n00AMT`eipv|& 59@F{~;imx| Kv /:?ET`fip|T,BRob Turner ExpressLoadT û ,@ û ,@ û,+ Next Browser 1.0\H** k KM/5:" H#"H"H!"HH "+k K+k"*)0" " H"ht "hh HHK"HP "hHH@H ""hhr7p7HH@H ""hhv7t7HH@H ""hhz7x7"(/5"|++k K1HHH *"hrhtRgph"+k K HH;[ȷȷȷȷȷȷȷhh+ |Ui |q.+kHH"hhHH"J":"HH"" "DHH"HH"+k+k) "|++kHH'"+kHH"hhHH""HH"ɩ0 ɝjɛ0 ə!  0  P0 7C80 !0 { n0m ɂDɀ0` =:;0S 00F ɱ&ɯ09 jh0, %$ K("0 "0=0@$90ɴɭ0(^ɏ4Ʌ5{6q7g8]9S:I;?<5=+>B"J/B"[/<"l/6"}/0"/*"/$"/"/"/"/ "/"0+kɏ4Ʌ5{6q7g8]9S:I;?<5=+>B"0B"$0<"506"F00"W0*"h0$"y0"0"0"0 "0"0+kɏ4Ʌ5{6q7g8]9S:I;?<5=+>B"0B"0<"06"10" 1*"11$"B1"S1"d1"u1 "1"1+kHH"hhHH"J"V" )( BV" ) 킽V"HH"+k"3HH"hhHH"<J"V" )( BV" ) 킽V"HH"+k"3HH"hhHH";J"V" )( BV" ) 킽V"HH"+k"3HH"hhHH"J"V" )( BV" ) 킽V"HH"+k"3HH"hhHH"iJ"V" )( BV" ) 킽V"HH"+k"4HH"hhHH"$iJ"V" )( BV" ) 킽V"HH"+k".4HH"hhHH"]#J"V" )( V" ) 킽V""L4HH"+kHH"hhHH"#]J"V" )( V" ) 킽V""S4HH"+kHH"hhHH" J"V" )( V" )* 킽V"HH"HH"+kHH"hhHH"6O J"V" )( V" )$ 킽V"HH"HH"+kHH"hhHH" 7 J"V" )( V" )* 킽V"HH'"HH"+kHHH"hhhHHHH"+kHHH"hhh"`HO"h` K24""&N""w""q+k K24"&"+kNH i00;6DD"``Pfffff``PP` P      33333333333333333333333333333333Memory Manager ErrorError N$0000 K"7""l+%J"7"l+T"7" 8PH 8"hj+8j+Ji%j+j+H:"" 8""B8`l+( *J"l+T"-):"B8"|7):"5"T8`l+(*4J"l+T"-3:"T8"~73:"5"f8`l+(4>J"l+T"-=:"f8"ᯀ7=:"5"x8`l+(>HJ"l+T"-G:"x8"ᯂ7G:"5"ᯊ8`l+(HRJ"l+T"-Q:"8"ᯄ7Q:"5"ᯜ8`l+(R\J"l+T"-[:"8"ᯆ7[:"5"ᯮ8`l+(\fJ"l+T"-e:"8"ᯈ7e:"5"8`l+(fpJ"l+T"-o:"8"ᯊ7o:"5"8`l+(pzJ"l+T"-y:"8"ᯌ7y:"5"8`l+(zJ"l+T"-:"8"ᯎ7:"5"8`l+(J"l+T"-:"8"ᯐ7:"5"9`l+(J"l+T"-:"9"ᯒ7:"5"+k K"7""l+8J"7"l+T"7"8PH8"hj+8j+Jij+j+H:""8""9`l+ 7*J"l+T"):"9"ᯔ7,):"5",9`l+*74J"l+T"3:",9"ᯖ7,3:"5">9`l+47>J"l+T"=:">9"ᯘ7,=:"5"P9`l+>7HJ"l+T"G:"P9"ᯚ7,G:"5"b9`l+H7RJ"l+T"Q:"b9"ᯜ7,Q:"5"t9`l+R7\J"l+T"[:"t9"ᯞ7,[:"5"ᯆ9`l+\7fJ"l+T"e:"9"ᯠ7,e:"5"ᯘ9`l+f7pJ"l+T"o:"9"ᯢ7,o:"5"ᯪ9`l+p7zJ"l+T"y:"9"ᯤ7,y:"5"᯼9`l+z7J"l+T":"9"᯦7,:"5"9`l+7J"l+T":"9"ᯨ7,:"5"9`l+7J"l+T":"9"ᯪ7,:"5"+k K"7""l+=J"7"l+T"7"08PH08"hj+8j+Ji=j+j+H:""08""9`l+@ *J"l+T"E):"9"ᯬ7):"5":`l+@*4J"l+T"E3:":"ᯮ73:"5":`l+@4>J"l+T"E=:":"ᯰ7=:"5"(:`l+@>HJ"l+T"EG:"(:"᯲7G:"5"::`l+@HRJ"l+T"EQ:"::"᯴7Q:"5"L:`l+@R\J"l+T"E[:"L:"᯶7[:"5"^:`l+@\fJ"l+T"Ee:"^:"᯸7e:"5"p:`l+@fpJ"l+T"Eo:"p:"᯺7o:"5"ᯂ:`l+@pzJ"l+T"Ey:":"᯼7y:"5"ᯔ:`l+@zJ"l+T"E:":"᯾7:"5"᯦:`l+@J"l+T"E:":"7:"5"᯸:`l+@J"l+T"E:":"7:"5"+k KHH"hx+hz+HH"l+%!J"l+:"HH""wHH"z+Hx+H"+k KHH"hx+hz+HH"l+!8J"l+:"HH""HH"z+Hx+H"+k KHH"hx+hz+HH"l+=!J"l+:"HH""qHH"z+Hx+H"+k Kl+%J""%+k Kl+8J""%+k Kl+=J""%+k Kl+%J""%+k KHH"hx+hz+HH"l+:"HH"" HH"z+Hx+H"+k Kd7 8B8T8f8x888888889|7~77777777777777777777777r7Hp7Hhh?+k Kf789,9>9P9b9t9999999777777777777777777777777v7Ht7Hhh?+k Kh7089::(:::L:^:p:::::77777777777777777788888 8z7Hx7Hhh?+k K"]&"'"'+k Kf7h7l7n7d7f7j7l777+"|77+"77+"77+"808+" 88+"`66+"5`6+"99+"B89+"v7Ht7Hz7Hx7H@+"r7Hp7Hv7Ht7H@+"+k Kf7d7l7j7h7f7n7l77|7+"77+"77+"77+"8 8+"088+"`65+"6`6+"9B8+"99+"v7Ht7Hr7Hp7H@+"z7Hx7Hv7Ht7H@+"+k K"(5.5) 0D0.5/5" :25C5+"25 845 8"++k KC55+"" ::;Z;d7j7" ;a"-" X;"-"%+k KC5`6+"" ::;Z;f7l7" ;a"-" X;"4."%"%+k KC56+"" ::;Z;h7n7" ;a"8-" X;"."%+k Kd7r7Hp7Hhh"T-+k Kf7v7Ht7Hhh"T-+k Kh7z7Hx7Hhh"T-+k K(;: *;ȭ5ȭ5ȭ5ȭ5ȭ5ȭ5ȭ5ȭ5ȭ5+k Kj7!5r7Hp7Hhh!5 ȷB8ʩ)5B8)5!5j7!5r7Hp7Hhh!5 |7|7!50+k Kl7!5v7Ht7Hhh!5 ȷ9ʩ)59)5!5l7!5v7Ht7Hhh!5 77!50+k Kn7!5z7Hx7Hhh!5 ȷ9ʩ)59)5!5n7!5z7Hx7Hhh!5 77!50+k K !5"1+k K !5"1+k K !5"1+k K!5"1+k K!5"1+k K!5"1+k K!5"1+k K!5"1+k K!5"1+k K!5"1+k K!5"1+k K!5"1+k K !5"[2+k K !5"[2+k K !5"[2+k K!5"[2+k K!5"[2+k K!5"[2+k K!5"[2+k K!5"[2+k K!5"[2+k K!5"[2+k K!5"[2+k K!5"[2+k K !5"3+k K !5"3+k K !5"3+k K!5"3+k K!5"3+k K!5"3+k K!5"3+k K!5"3+k K!5"3+k K!5"3+k K!5"3+k K!5"3+k K6C5+"z7Hx7Hhhn7m!5 !5qC5 :C5 C5ȷmC5C5ʩ)5C5)55"*"'v7Ht7Hhh!5ȷ08180"h%"%",+k K`6C5+"v7Ht7Hhhl7m!5 !5bC5 :C5 C5ȷmC5C5ʩ)5C5)5"'v7Ht7Hhh!5ȷ08180",+k K5C5+"r7Hp7Hhhj7m!5 !5fC5 :C5 C5ȷmC5C5ʩ)5C5)5"'"'r7Hp7Hhh!5ȷ880"<,+k Kn7 n7"."$+k Kh78n7 0 n7"."$+k Kl7 l7"4."l$+k Kf78l7 0 l7"4."l$+k Kj7 j7"-"#+k Kd78j7 0 j7"-"#+k K+k K555C5+"C5 F5:/ʀC5 "(C5 E5:/ʀ 5ʎ!5C5:8!5!5 !5 8 E5 8E58E58E58E58E58E58E58"++k.D0   >                                        +505C55 $00000000Error NOpenGSCloseGSGetDirectoryEntryGSHHH *"h^;h`;~;5\;f;"3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333?3033333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333?3333303333333333333333333333333333333333333333<3<3333333333333333333333<33333333333333333333333333333333333333333333333333333333333333?033303333333333333333333333333333333333333333<33333333333333333333333<33333333333333333333333333333333333333333333333333333333333333?333033333333333333333333333333333333333333333<3<3<3<333<3<3<<333<3<3<33333333333333333333333333333333333333333333333333?303033333333333333333333333333333333333333333<3<3<33<333<33<<333<3<33<3<33<<3333333333333333333333333333333333333333333333?3030333333333333333333333333333333333333333333<3<3<33<3333<33<333<3<33<333<3333333333333333333333333333333333333333333333?3030333333333333333333333333333333333333333333<3<3<333<333<333<333<3<33<3<<333<33333333333333333333333333333333333333333333333?33303333333333333333333333333333333333333333333<3<<33<3333<333<333<3<33<3<<33333333333333333333333333333333333333333333333333?0333033333333333333333333333333333333333333333333333333333333333333333333<3333333333333333333333333333333333333333333333333333333333333333333?3333303030333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333303333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333330333333333333333333333333333333333333333333333303333333333333333333333333333333333333333333033333333333333333333333333333333333333333330333333333333333333333333333333333333333333303333333333333333333333333333333333333333333033333333333333333333333333333333333333333330333333333333333333333333333333333333333333303333333333333333333333333333333333333333333033333333333333333333333333333333333333333330333333333333333333333333333333333333333333303333333333333333333333333333333333333333333033333333333333333333333333333333333333333330333333333???33333333333333333333333333333333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333303?3333333333333333333333333333333333333303?3333303333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333303?3333303333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333303?3333303333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333303?3333303333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333303?3333303333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333303?3333303333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333303?3333303333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333303?3333303333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333303?3333303333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333303?3333303333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333303?3333303333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333303?3333303333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333303?3333303333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333303?3333303333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333303?3333303333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333303?3333303333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333303?3333303333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333303?3333303333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333303?3333303333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333303?3333303333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333303?3333303333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333303?3333303333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333303?3333303333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333303?3333303333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333303?333003333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333303?33303333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333303?33003333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333303?3303333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333303?3003333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333303?303333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333303?3?03333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333303?3303333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333303?33?0333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033303?3330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333?0333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?33330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?3333303333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333330333333333333333333333333333333033333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?33330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?33330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?3330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033333333333333333333333333333303?333033333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333303?3303333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333303?3303333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333303?303333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333303?3303333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333303?3303333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333303?33303333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333303?3330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333033303?3333033333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333303303?3333303333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333330?3303?33333033333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333303303?3333303333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333330? ?3303?3333303333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333330?3303?33333033333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333303303?33333033333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333303303?3333303333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333330??3303?33333033333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333303303?33333033333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333303303?33333033333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333303303?3333303333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333330^#i $ D g     O h     ' J     = V v     C     2  &I2V\& ;6l+l+ 8 80l+Il+cB85l+l+T85l+l+/f8O5bl+{l+x85l+l+85.l+Gl+a85l+l+85l+l+-8M5`l+yl+85l+l+85,l+El+_85l+l+95l+:l+X88l+l+95l+,l+F,9f5yl+l+>95l+l+P925El+^l+xb95l+l+t95l+*l+D9d5wl+l+95l+l+905Cl+\l+v95l+l+95l+(l+B9b5l+l+08 08*l+Cl+]9}5l+l+:5l+ l+) :I 5\ l+u l+ (: 5 l+ l+ ::!5(!l+A!l+[!L:{!5!l+!l+!^:!5!l+ "l+'"p:G"5Z"l+s"l+":"5"l+"l+":#5&#l+?#l+Y#:y#5#l+#l+#:#5$l+,$l+$l+$l+%l+(%l+m%l+%l+%l+%l+&l+(7(7(|7(7(7)7)7)7-)83)08F) 8L)8_)`6e)6x)5~)`6)9)9)B8)9,*72*|7E*7K*7^*7d*7w*7}*7*8* 8*08*8*`6*5*6*`6*9*B8 +9+9+:+25+C5+C5+5+:,;-,X;A,C5G,`6_,:x,;,X;,C5,6,:,;,X;161C5`2`6f2C535 3C5c45i4C5:+5:05:C5$;5;~;;5;\;;f;t1;HS^inr O1%,3:AHNSUWY[]_acegjoqsuwy{} /48CSWZ^lvze{Umqtx(AKNYakny &04SWZ^l'14?GQT_jtx 9=@DRkux "*47BM[_w{~ '+.2@Ycfqy #-0;FPTbei#LY_ 3Lf 2Re~ 1Jd 0Pc|/Hb =[fmux /Ii|5Ha{ -Ggz 3F_y +Ee -F` ,L_x +D^~ *J]v )B\|/9=LP[_{ +59HLW[p   *.=ALPuy06IObh{/5HNagz  DJdgjmp  !$(=@DYcjqx%(9Rct ,=N_p(9J[l}$(29Eciy}  $.2;ENS[^enq~" !37?X`fl| 6 .=Ccrx( "(.4:@FL $*06*p<\(n:Z&lQ Ss? Qq= O$j6V"h4T fHD&9eimquy}.!%)-159=AEIMQUY]aeimquy}' !%)-159=AEIMQUY]aeimq  $( &+05GLQV "262N Ufw /@Qbs + *( } } > "Hi`H`x ]  X`xHZ L | ! ! | L 3FFzhX@Hč hLĩ1xxr Mxx6  ` 2$|| j! j!88!! !i  j! 8 ͢  DHQک 2$ DhS>`S>hhL|  8 > *( } } > ` N ijn ` 2 $  D i=$ 0 8! ` 2   !"#$%&'()*+,-./01234$  D8!i=$ 0L|"! !i|" X|" m|"|" m|"|"~"i~" m~"~" m~"~" m~"~" X` F6L4 562+LZ h\렺堠 h\ àĠŠƠƍ 3 2 3 h\堠堠č󠺠 V L2B/C/ - 0 [[%L*AɕL4ɈL4ɫL ?ɭL?LZ:LT>L>L ?LAKLA kDL#ɍLDL6LXL&L$ɛLX }4L#LU [L"ɠL1ɉ QLXɿL)ɬL)LJ8 L#ɰ 0L#V@V[ 2 1 h\ h\렸§堤 2L$ 1 h\B/HC/HB/C/ - 2 1 h\%Z$ Di  D% z h\̮ծ 2 2)L & Z3 h\ˠ a&& -B Z3 h\ˠ a&I6&)-B/C/ -- 2Li%hC/hB/ -L$ ~GhhL%C/B/ X8 X2@* " `?/' '94P "P 1 h\ŧ 2ɠ 1L$ 1 2 1 h\卍 h\宮 D D h\宮 D D h\议 D h\宮h)' 0 h\ D h\宮 D D D D h\Ӡ! D D h\宮" D h\议# D h\󮮮$ D h\& D% D h\宮( D' D h\󮮮* D) D 2L$ 2 1 h\٠Ԡ #2 h\Ӭ򠸹֮堠Юίƍ®𠦠󠠠栨򩠠ɮ堠® h\렠ͮ󍠼렠렠Ů h\렠Į堨򩍠Ү렠ˮ׮렠Ԯ h\̮ɯؠ砠ήԠŮ砠î占Ʈ堠ïѮ h\Ԡ庠ˠ 2 2-:׮1ץ'dש $@ $A 8@-β-Ω-- 2 1L$ >/([/Zm. I/ 2ɛ ɠ(zL-(zhhL"Hm.]Z 1 Z3 h\ $ h\ àĠŠ(zhm.`Q0 B/n.`B/pC/80 - Hd% " $C/ DB/ D$ U h\ XB/ D/ X $D/ DE/ DC/ɀ UT`UTQ8 2$o.C/ Dn.B/ D$ XB/ G/ XH/ DG/ D`P 1d% "$ i3! h\䠠LW0'! h\ɯϠ򮠠LW0(! h\䮠LW0+! h\䠠LW0-! h\򮠠LW0/ h\堠 h\򮠠 2$ h\ŧç o2 [[` 2 2ک D  D 0 H H 00 б` ɀɠ.IL Z3 h\ 1%L*A }4 kDɍ LDH [ $E/ DQ 2$G/ D 2hɠɭ ɫ L4L$L#000 0 [ $E/ DQ 2$G/ D 00000` 2  2`%% "$ `: [L`LL62 :Ii `+<'&&J XZz X`d% "C$ i3f2 `ŠӠ20Ή2` Z3 h\󠿠` Z3 h\` Z3 h\` Z3 h\à` Z3 h\砠` Z3 h\٠` Z3 h\宠` Z3 h\箮`d% ""$ i3`33 2 3_ 3i:$Z 3L 2% " 3$`% "$3` 2PS 2`?/H)pPh`h)3 =2ɍ` 34)`4?/)pP`=4 54=4 54` <4` Xb4"#" X`@8@g4g42kd` 4 4 p. 0L#C/B/ @B/C/B/B/C/`C/B/?B/C/B/B/C/` 5 \ 2$ i3 h\ 4 [[ 3 [L"Y@)[@))4") +5 5 6 GH / 6d A4 XA)3FFE B/C/D/E/F/@/m.S>00WύX?{|}~ÍD0?/-ꍕHA/00 A i364`򩇝" o XD6" X`kX X"h[h[ X"έ4ϭ+)A)0 666]66'"h80`6` 2 1 h\󍍠 2ɳ g9L79ɱɲL 9ɛL$ A: 2 1 h\占Ӡ卍 h\宮̮쮠캠̩`9 9 2 h\렺Ӭ젦9 9 2 h\ A4Y:L6 A: 2 1 9 A4Y:L6,0"f9" 1d% "$ i3 h\𮮮 1f9f9iJ9]9J9]9` : ") ./0/0p"/00 p""` : t.//00)/0)A)8`Y:d X#" X` 2 1 h\獍宠堧ŧ䠧ç h\ɠ獠ؠ 2ɱLK<ɲɛL$ 1 h\獍ؠ 1 Z3" 2[ HiUThHUThɍJ8!Ɉ2ɰɺǰ 耇"ʩ  L;8"Ji"H: H !L= 1 h\獍ɠ 1 Z3" 2[ HiUThHUThɍ8!Ɉ3 ɀɠI 耍"ʩ  L<ک 2 1 h\蠧çh8"L$:HB/C/ 4R>R>% 1 h\ 2 o2 2L$C/ B/?R> 4 p.z,ɛ% 1 h\ 2 o2 2L$ " " ZLN= =Z늍 X8 X>> ">zE>)|"}">)JJJJ~"" ("S>> 1 LD 0LDzLOA Z3 h\려 ~GcQS o2 1 2 1 h\젡 2ɛ - p.-L$ Z3 h\려 ~G p.L$ 4 p.L1L1 2 1 h\􍠠󍠠 2ɲL?ɱL?ɳL @ɛL$ 2 1 0  0 0  0 2L ? 2 1 D D D D 2L ? 2 1 h\7d6  ! h\򠤰ƍ " H H D  H H ! h\렺C/ DB/ D " H A 0000 0 00000 A Å76L$ L `R>+ 1 Z3ȌLA" 0L=L= 2 1 h\ϠǠΠ٠̧ 2L$ 1d% "$ i3 h\庠.$ D D 1 h\򠨤ƩΠ 2AA 2ɛ 1L$ɕɈ3ɍCACCAC8 ȩ.$ڻ D D.$ڻ D D 1 2 1 h\򍍠쩍 2ɛL$ɱLCɳLWCɲ 2 1 h\7d6 C 2 1 h\7d6  Q  B ;: /e:;;  Å76L$ Z3 h\àħ 1 2;: /e:;; /Z:H;H 2)ɛ; 1 2h;h:zhhzL$ h\ 2 ɛL$hhzLAD 2F$DD h\ɠ` h\` h\`! "KEFFG Z3 h\堠 2F$ h\ԠH   2$ .}"||"|"~" ! !E o2  D=$ 0  D E  E :F E 2KEL1L# 2$ DQ 2$ D ! 3FFH 2F$ h\`L2F% EhhXL*Axɍ FL1Fɕ FL1FɈ FL1F ɀɠ D) FXLE`LF% EhhXL*ARxɍ FLFɕ FLFɈ FLFɰ+ɺǰ# vHF  )  FXL@F` F  :H)|"}"h)JJJJ~"" ("}"||"|"~" ! !`HH 2 $h  D i=$h 00L $ h\ D D 20$ h\0$ ɍ9#Ɉɰǰɺ4۝ 0  0LH1LG2LG3LG H H H vH H vH @C/L'GB/d $ h\ àĠŠƠ`ʽ8 8` vHH vH `C/B/ Xɀ8 8 8L\I#ɖ88 8 8L\I # 88 8 8L\I@#0288  8 8L\I@P88@888(0HڐII 2!$ h\庠뺠 D !$ h\亠LDꍕHLH`HLI 2!$ h\!$ h\` 1 3 2 h\ 2)L$ h\R -K h\ 2 2L$d% "$ i3 h\󠤰Ơ 1 K D H 2 1RL J h\ 1 2 2L$ X " X` X " X` &3 JK Q O eK4P "PLLK \ K\ ̍K RTS/U؝ S h\穮LN S h\穮LN S h\婮L M ) S h\婮LL$ S h\LL! S h\LL 1 2 1 h\宮 2LAK h\宮 1 2 2LBO h\堺ç宍덠덠` RS/U 2ɳLOɱLMɲLkNɛLBO N N@NAN Z3 h\ NH D D 10 p`IZp80 D0 zZ`80 D 0znj N@Ni@N80 2LM80 2LK Z3 h\렠 1ȹ D D 2LK h\堺ç宍덠` RT 2ɲaɱɛ 1 VB/C/ p. VL$ Z3 h\뮠 1ȹ`pp D` D 2LK 1 1B/C/ p.L$\ Q ǭO\ 0\ ɠɛ7ɍ3Ɉɮ۰ )\H  hʀ hh 1 1L$\` o2d% "$ i3' h\ɯϠ򮠠`( h\䮠`R h\堠`. h\䮠`/ h\堠`@ h\`D h\䠠`E h\䠠`F h\䠠`Q h\䮠`W h\堠`Z h\` h\ɠ򮠠` 1 h\庠`?/ I TX 2 h\뺰 h\庰 h\ D D h\ D D  D D  D h\䠺 D D h\䠺 D D D h\ᠺ D D h\/S2S3S 2S3S .S4P "PhhhhLTp X0 0i'00ipeSmS X)$p)tSp 0` 1 2 1 h\堤LD XV: X R ` p`pLxS X:V: X R TLxS /U R SLxS XV: X RLxS=T`>T?@ABCDE&&d?  G&: G&Ӎ&/& & #d?0? "80 0\&& B' 53&/& &  1' G& " "'Hs'ڍt' " '')L?%` ","! "," "," `JOK%)L#` W#,X#   W#,X# L"   0"80 X " 4 e#   X(##(# # ۍ&&-?0?ɛL$ɍ?ɸɱՍ--?0?ɛL$ɍ?ɳɱՍ-- *%:%-ɲ *%I*%:% G& %L% G& 53S &0&Z&0&&&&& &?&0&&&&& /%L% G&L$ X ` W&L$ )% `? 9% `7'<'['M': \&& && 2 G&='7>' 1'  W& S'` G& S' G&` G& B'  W& S'` G& 534,  &0& &  G& 1'  W& S'` G&L%,/=/N/_/p/-2-/////////00-d-/,,,---..8.I.q.......`../ %&%&J' K&-&:( &-&*+ }&-&/ &-& &-&`/ & 'Ld#Ld#ɛ  ?0` ' '` '`' ;' `9 L' `? Z'` f'`k'HZs'kt' ' X0'Î'0' ' & 'ɍ X ' zhk``ߍZA _ZLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL_Z_Z_ZLLLLLLL_Z렮_Z䠡_Z_Z_Z򠠺_Z_Z򠺍_Z_Z_Z午_Z_Z렠䍈_Z_Zߍ_Z_Z㾠_Z_LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLߍZA𠱮 _ZLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL_Z_Z_ZLLLLLLL_Z堲_Z_Z;󠺠_Zƾ砺_Z_Z@_Z_Z午_Z_Z報午_Z堲午_Z_Z䍈_Z䍈_Z䍈_Zߍ_ZѾ@午_LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL렠렠砠䠠򠡠ĠԠĠĠ򠠠砮䠠堠Ӷı렰ծӮƮծîˮծӮɮîӮӠ砠堠򠠠堲ɠٯΩٯΩٯΩ련ٯΩٯΩ堠䠠ߍZA _ZLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL_Z_Z_ZLLLLLLLLLLLLLLLLLL_Z젦_Z獈_Z_Z썈_Z午_Z_Z_Z_ZLLLLLLLLLLLLLLLLL_Z午_Z_Z_Z썈_Z젺멍_Z_Z午_Z_LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL?H6  G&`?h6  G&` A݈6  G&`?7@8 G&`?9@: G&`?;@< G&`?=@> G&`?! @A  G&`?ݑ6 G&`?ݔ6 G&`?ݗ6 G&`a?ݞ6 G&`\@ݞ6 G&`?ݞ6 G&`?ݚ6 G&`R?ݤ6 G&`?ݪ6& G&`r?ݹ6 G&`r?ݿ6 G&`b@6! G&`@6" G&`?6" G&`?6" G&`@6# G&`?6$ G&`@6% G&`?6' G&`?6' G&`?6( G&` G&`PCō2 dJdLdNdGdDBF a 0L80 LLLL ̠φi  RTPORT԰L L X"HZH6H)4 8L2C)pJJJJ IH(ȱH:=IH[H`@HcH  $ +   I/H`JLNGȄBȄF aK  haaFF  mJm# KKJ UJ )J ۈ) ;J3ȱJFȱJGJKaȄM  aaNNJFLGJL L? &PRODOS `DaElH$?EGvѶK+`L HHLy XP LM ŠϠĠӠS)*+,+`F)) (*=GJFjJJA QE'+ '== `@ STSP8QSS8 m P o R(8R8L xC)pJJJJ IH(ȱH:=IH[H`@H^H 2 9 @   I/H`JLNGȄBȄF aK ' faaFF  RJm# KKJ qJ )J ۈJJm  JFȱJGJKaȄM ' 5aaNNJFLGJ`a  XL LG &PRODOS`DaElH$?EGvѶK+`L XX LU ŠϠĠӥS)*+,+`F)) (*=GJFjJJA QE'+ '== `@ STSP8QSS8 m P o R(8R8L xC)pJJJJ IH(ȱH:=IH[H`@H^H 2 9 @   I/H`JLNGȄBȄF aK ' faaFF  RJm# KKJ qJ )J ۈJJm  JFȱJGJKaȄM ' 5aaNNJFLGJ`aa8aa XL LG &PRODOS`DaElH$?EGvѶK+`L XX LU ŠϠĠӥS)*+,+`F)) (*=GJFjJJA QE'+ '== `@ STSP8QSS8 m P o R(8R8L xC)pJJJJ IH(ȱH:=IH[H`@H^H 2 9 @   I/H`JLNGȄBȄF aK ' faaFF  RJm# KKJ qJ )J ۈJJm  JFȱJGJKaȄM ' 5aaNNJFLGJ`a8aa XL LG &PRODOS`DaElH$?EGvѶK+`L XX LU ŠϠĠӥS)*+,+`F)) (*=GJFjJJA QE'+ '== `@ STSP8QSS8 m P o R(8RL!   TUU}WVD># %x " """%" "! `!  `! k!X""5" "!L#L)#Hči!hLĩxx  `! `! `! `!`xx  `! `! `! `!`xHZ `! !zhX@ `!JJ) h#|   #0FHIJKLMNOPQRSTUVWXYZ[\]^_`abcd 80`آ# o4)4"5 5 6GH / XA)WύX?{|}~Í!!`!!`x!! `!XA)08"8`0  """""'"h80)` " e# Li ""0Q "8x hGA 99l080`0c ᩧ80`!L$!*!L $!L$L$`# %`! % `! `!`-$ % !L9$LV$hh` % k!! `!hh` # $! !hhL$ %hh` # %R zZ zZ $! !hhL$RzZ zZ %hh` # % $!! $hh`$ %`! % % `! `!!` %!)%(% %! "%! *%`,%  ٮҎV%l%W%m%H0;;6 ijH6 ʈ8j:tVɩA:80H` 6%`R 6%`A 6%`A 6%`0  "80`0  "80`0"80`BBBBBBBBBBwwBpBBpD B B BpD   DBpD D BDBpD   DBpED  DBpD   DBpD BpBBwwBBBBB̈B܀BB܀"""" " "" """"" B" "" B""""" "B ܀  D    B    B  " B ܀    D    B  B B܀""" ""D  """ B܀B E   "" B ܀       B  B܀" " """ "" B """" B""" """"B܀BB̈BBBBB̙BܐB Bܐ 033330B30 BܐB 00000 Bܐ 0000 Bܐ30000B Bܐ33000000B Bܐ0000000B Bܐ3B3333B BܐB B̙BBBBB̪BܠB BܠDD@DDDBDDD@BD@D@D@D@D@DD Bܠ@BB@@@@D Bܠ@BB@@@@E Bܠ @DD@D@@@D Bܠ @D@@@@D Bܠ @D@@@@D BܠD D@@DDD@D@D@BDD@D@D@D@D@D BܠED B̪BBBBB̻BܰB BܰE UUUUPUUUUPBUPUPUPUPUUPUUPPUE BܰE PPPPPPBPPPUPE BܰE PPPPPBBPBPE BܰEUUUPPPPDUPUPUPPE BܰE PPPPPEPPB PPPPE BܰEPPPPPPPPPPPPPPE BܰEUPUUPUUUUUUUUUUUPUUE BܰB B̻BBBBBBBBBBBBBBBBBBBBBf`BfD`f`fFff`Bf`DfF```Bf```BfF`DD`B`ffffff`````B`ff````f`f`f```f```f``fB```B``BB`f`f```E`fBf```BD`````BB```B`BBf`fBf``ff```B``BB`````````fBB`B`````B``BD````` f`f`Bf8ff``f``f```f`f`f```f``f`f`B f`ff``B``D``BfDfDf 816/Paint DF=U EBBBD DD?U wA,p   wA,p ?    wp? w @ I   wU _)_ _Z "3DUfw BBwwpBpD B B pD   DpD D BDpD   DpED  DpD   DpD pBww  ̈ ff`Bf`BffBf`Bf܀B BB`D```BB`B܀"""" " "" """"" B" "" B""""" "܁`BB````B ܀  D    B    B  " B```F````B ܀    D    B  B B``D`D`B܀""" ""D  """ ff`B`EffBBfB`B܀B E   "" EBfB`````BBf ܀       B  F`F`````BD܀" " """ "" B """" B""" """"F`F`fBB`B`܀B ܁`F`B`B̈ BF`E````BB`B ff`F`Eff``BBf` ̙ ܐB ܐ 033330B30 ܐB 00000 ܐ 0000 ܐ30000B ܐ33000000B ܐ0000000B ܐ3B3333B ܐB ̙ B`f`````BB``B`BB` ``B̪ B`BܠB B`BܠDD@DDDBDDD@BD@D@D@D@D@DD ``B`Bܠ@BB@@@@D ``E`BB`ܠ@BB@@@@E F`BB`ܠ @DD@D@@@D F```ܠ @D@@@@D B`F``f`ܠ @D@@@@D ܠD D@@DDD@D@D@BDD@D@D@D@D@D ܠED ̪̻ܰB ܰE UUUUPUUUUPBUPUPUPUPUUPUUPPUE ܰE PPPPPPBPPPUPE ܰE PPPPPBBPBPE ܰEUUUPPPPDUPUPUPPE ܰEPPPPPEPPB PPPPE ܰEPPPPPPPPPPPPPPE ܰEUPUUPUUUUUUUUUUUPUUE ܰB ̻ ff`f``Df`f`Bff`fBB`F`DFD`B Bf`f`fBff``f````B``BBB`` ````ffE``f````BBB`+`f````f`f`````BB ```F````BB f``fff f`f`ffB````Bf``ff``BBBBBBBBf`Bfff`fBf`BfBf``Bf`B``B`B``B`B`B``BB`B`B`EB``B`B `ff`ff`BB``B`BfBf`B``Bf`B```B``B`B````B````B `Bf`B``B `B`Bfff`BDf`Bf`   ``FBf`BfBf`BfBBf` fB`F`BB```f` ``F``B``B````F``B``B``````F``B````FBfB`````F`BBfBf`Bf```F`BB````D``F`B````D``F`B ```````F`BB```f```BfFBf`B`f`B̙ܐB ܐF3030B3303303303303333003F ܐE0003000000030F ܐE0000B000B0F ܐE000003303B 3300F ܐE00000B0 033000F ܐE%000000000000000F ܐF$333330330330333033303333F ܐB ̙̪ܠB  ܠDD@@DD@D@DBD@D@DDD@@BD @D  ܠ@D@@@D@@BD@@@  ܤD@@ @@@D@@BD@@@ ܤ@DD@@ D@@@@DD@@B@D@ ܤ@D@@@ @DD@D@@B@D@ ܠ@@@@B$@@@@@@ ܠ@D@DD@D@D@DDD@BDDDDDBD@DDDD@ ܠB ̪  ff`f`ffffB`f```BB``fB``B B```fBf``B̻ ff`fB``BܰB `````ܰUUPUPUUUU ``Bf `ffffܰPUPPP ܰBPPUBPP ܰBPPPUBUPP ܰUUPUBPP ܰPPPPP ܰPPBU PUUUU ܰB ̻BBBB 816/Paint DF=U EBBBD DD?U wA,p   wA,p ?    wp? w @ I   wU _)_ _Z "3DUfw PALETTES.16u' <-' ')PAL.6BLEUg<-!Fe,EXPLICATIONSj="<-!Le&PRODOS}(UL<-!e%PAL.9<-!De%PAL.8<-!E2e%PAL.7<-!D;e*PAL.6ROUGE<-!J'e)PAL.6NOIR<-!Fe*PAL.6JAUNE<-!Fe*PAL.6BLANC<-!Fe%PAL.6<-!5#e%PAL.5<-!e        816/Paint         fh        TO=====!====!====!====!====!====!====!====!====!====!====!====!====!====!====!===<~D'abord, un peu de th{orie:--------------------------H - Une image SHGR type $C1 (65 blocs) comporte 32 768 octets occupant* la zone m{moire $E1/2000 @ $E1/9FFF.C - Les 32 000 premiklmnopqrstuvwxyz{iers octets (200*160) correspondent aux 64 000& pixels de l'{cran (en mode 320).C - On trouve ensuite 200 octets (8*25) d{terminant l'emplacement4 des diff{rentes palettes (1 seule par d{faut). - Ensuite 56 octets vides.D - Enfin 512 octets (32*16) d{finissant les 16 palettes possibles$ (toujours 1 seule par d{faut).I. IMAGE NORMALE 1 PALETTE--------------------------C On va afficher une image normale pour aller voir tout cela....( 1. lancer le programme "AFFICHAGE", 2. charger et afficher l'image "BIRDS"& 3. quitter le programme (return)& 4. passer en moniteur (call-151) 5. Taper E1/9D00. (return) *1 E1/9D00:00 00 00 00 00 00 00 00-........ *1 E1/9D08:00 00 00 00 00 00 00 00-........ * ETC...F Tous les octets de la zone m{moire $E1/9D00 @ $E1/9DC7 sont @@ z{ro donc seule la premi}re palette (N[0) est utilis{e. *1 E1/9DC8:00 00 00 00 00 00 00 00-........ .............1 E1/9DE0:09 38 31 36 2F 50 61 69-.816/Pai *1 E1/9DE8:6E 74 00 00 0C 00 08 00-nt......? De $E1/9DC8 @ $E1/9DFF c'est la zone vide qui contientB un message ...... (cette image a {t{ cr{e avec PAINTWORKS GOLD). *1 E1/9E00:00 00 77 07 41 08 2C 07-..w.A.,. *1 E1/9E08:0F 00 80 00 70 0F 00 OD-....p... *1 E1/9E10:A9 0F F0 0F E0 00 DF 04-).p.'._. *1 E1/9E18:AF OD 8F 07 CC 0C FF 0F-/...L... * ETC....F Voil@ la d{finition de la palette n[0 retenue pour le dessin.H C'est la palette par d{faut (fichier UNTITLED quand on commence9 @ dessiner). On y trouve les couleurs suivantes:9 00 00 = NOIR 77 07 = GRIS FONCE; 41 08 = BRUN FONCE 2C 07 = VIOLET FONCE9 0F 00 = BLEU VIF 80 00 = VERT FONCE5 70 0F = ORANGE 00 0D = GRENAT4 A9 0F = ROSE ORANGE F0 0F = JAUNE8 E0 00 = VERT CLAIR DF 04 = BLEU CIEL; AF 0D = VIOLET CLAIR 8F 07 = BLEU LAVANDE4 CC 0C = GRIS CLAIR FF 0F = BLANC1 Chaque couleur est d{finie sur 2 octets:2 1[ octet de 00 @ FF soit 256 possibilit{s1 2[ octet de 00 @ 0F soit 16 possibilit{s, on obtient 256*16 = 4096 couleurs !'II. IMAGE 16 PALETTES (DITHERSCREEN)'-------------------------------------H Cette image (DITHERSCREEN) a {t{ obtenue avec le programme de Jason HARPER "MULTICOLOR".F Toujours avec le programme "AFFICHAGE" charger l'image, sortir du' programme puis passer en moniteur: *$ E1/9D00:00 00 00 00 00 00 00 00 *$ E1/9D08:00 00 00 00 00 01 00 01 *$ E1/9D10:00 01 00 01 01 01 01 01 *$ E1/9D18:01 02 01 02 01 02 01 02 * ........................ *$ E1/9DC0:0F 0F 0F 0F 0F 0F 0F 0FE On constate que l'image utilise 16 palettes (00 @ 0F) imbriqu{esB les unes dans les autres. Le passage se fait en douceur pour 0 obtenir ce bel effet de couleurs d{grad{es. *$ E1/9E00:00 00 00 01 00 02 00 03 *$ E1/9E08:00 04 00 05 00 06 00 07 *$ E1/9E10:00 08 00 09 00 0A 00 0B * etc... jusqu'@ 9FFFD On constate que les 16 palettes sont d{finies avec des couleursH choisies progressivement dans la gamme des nuances... toujours pour obtenir le d{grad{.8III. TRANSFORMATION IMAGE NORMALE EN IMAGE 16 PALETTES8------------------------------------------------------H C'est l'objet du programme "AFFICHAGE" accompagn{ de sa biblioth}queH de palettes (PAL.1, PAL.2, etc...) qui ont toutes {t{ r{cup{r{es sur des {crans "DITHERSCREEN".G L'id{e est simple, on charge une image "normale" (1 palette) et on : copie dessus les 16 palettes d'une image DITHERSCREEN. Programme AFFICHAGE: ------------------- Lignes 10 @ 100:G On charge une image dans le banc 00 puis on la transf}re (programme- MOVEPIC) dans le banc E1 pour l'afficher. Lignes 130 @ 160:F On charge un groupe de 16 palettes (PAL.1...) dans le banc 00 puisF on le transf}re (programme MOVEPAL) dans le banc E1 en {crasant laB palette originale. PAL.1 repr{sente la zone m{moire $E1/9D00 @H $E1/9FFF c'est @ dire l'imbrication des palettes, la zone vide et laD d{finition des 16 palettes. L'image change d'aspect et s'affiche) alors avec 16 palettes au lieu d'une. Lignes 190 @ 280:G Si l'image obtenue est satisfaisante, on va la sauvegarder. On doitE cr{er le fichier et transf{rer l'image dans le banc 00 (programme2 MOVEBIB) pour pouvoir {crire sur la disquette.D Si l'image n'est pas bonne, on sort du programme (return). On leF relance, on peut afficher l'image d{j@ en m{moire (*) et on change le groupe de palettes...4IV. MODIFICATION DES PALETTES, CHOIX DE LA COULEUR4--------------------------------------------------H C'est l'objet du programme MODIFIPAL destin{ @ modifier un groupe de 16 palettes.B On va modifier la premi}re couleur (la plus fonc{e, le noir enD principe) dans les 16 palettes de l'image et on pourra {crire unB texte ou faire ressortir une partie du dessin avec une couleur choisie. Programme MODIFIPAL: ------------------- Lignes 10 @ 80:F On charge un groupe de 16 palettes (PAL.1 par exemple). Cette fois6 on restera dans le banc 00 (pas de visualisation). Lignes 100 @ 150:H On modifie la premi}re couleur c'est @ dire les deux premiers octetsD de chacune des 16 palettes (donc STEP 32 pour aller @ la paletteC suivante). La couleur est choisie selon le codage de la machine (voir plus haut).F Par exemple, le noir est cod{ 0 pour chaque octet, le blanc 255 au premier et 15 au deuxi}me:C On a bien: 00 00 = NOIR et FF 0F = BLANC en hexad{cimal.( Il reste encore 4094 possibilit{s... Lignes 155 @ 170:H On sauvegarde le groupe de palettes (avec deux s{curit{s pour ne pasC {craser le groupe de palettes d'origine...). On peut l'utiliser> alors avec le programme "AFFICHAGE" pour voir le r{sultat.E Les groupes PAL.6NOIR, PAL.6BLANC, etc... ont {t{ obtenus ainsi @ partir de PAL.6.H On peut v{rifier d'ailleurs en passant en moniteur apr}s l'affichageB d'une image avec un tel groupe de palettes, que les 2 premiersE octets de chacune d'elles correspondent bien @ la couleur choisie' (zone m{moire $E1/9E00 @ $E1/9FFF).V. DEFILE DES COULEURS----------------------C C'est l'objet du programme "DEFILEPAL" qui va faire d{filer lesG couleurs en testant automatiquement les 256 possibilit{s du premier6 octet, le deuxi}me {tant choisi par l'utilisateur. Programme DEFILEPAL: ------------------- Lignes 60 et 70:= Chargement des programmes de transfert de bancs m{moires. Lignes 100 @ 120:E Entr{es des donn{es (nom de l'image, nom du groupe de palettes et choix du deuxi}me octet). Lignes 140 @ 180:0 Transfert du banc 00 au banc E1 (affichage). Lignes 190 @ 270:H D{fil{ des 256 couleurs du premier octet (boucle FOR... NEXT). Si onB appuye sur , affichage de la valeur de cet octet apr}s? passage en mode texte avec rappel du deuxi}me octet choisi. Ligne 280:H Quand on arrive @ la fin de la boucle, on recommence (GOTO 90) et leB programme affiche la valeur choisie du dernier deuxi}me octet. Ligne 335:? On v{rifie par affichage temporis{ si l'image est correcte. Lignes 350 @ 420: Sauvegarde de l'image. Lignes 450 @ 500:% Sauvegarde du groupe de palettes. Remarque: --------F 1. Si le d{fil{ des couleurs est trop rapide (ou trop lent!), onG peut le r{gler @ la ligne 265 en mettant plus ou moins de 500.> J-P ARNAUD Octobre 1989L\!Cb" %n"o" (#M8( % ) L'"p"q" (\4, )7(P0  ( @p 8  x"!b"i"0 ~&i"0 %r"s" (,) &t"u" ( %L'")0I0hx H( + %Щ ߩx"L! )L! 8'  )ɀ)4,- U JNT) x"Lv"w" ( !` a"M)Fi/ e"3 k"|~l"m" h" iL X%;"L8"ΠΠҠ`y""""""*$ Fk%YeQP!/RB}QBiBB}\ ĉFEL/#> ț6 . ) ɘ"    L=#=#&ŠϠĠԠŠ  m# m# J Qڨ)̰m] нȱ ̀𩠙 i F > S ɘL   V7 L ' 0% '8 Jm ʈ0  0ŠϠĠ͢Š͠͠ϠŠŠϠĠخ͠ ͍B B(8`BYYZLYLYLY뿭` 8!@8` %MNЩUMߩ  L 5   8 0 8  `0 / X& & +&&7&P^&0`ŠӠֱέԠŠҬî̠ӠĮʎ1|&… (n}&Dž (\%Tz&Lc()8= (J 8'z&'{& 3((ʎ1|&|&|&3223 ')L&18|&"m11 2H22h2舌|&|&12H)M0 h10200I20h2 (`LE%12 `_'"L  <8# ȱ)ɀ  )( ` (Xp< @( )m((.(( M(i  ``) |'(j21 z& {&!` ({&z&(i({&(( CBDFGE (r&$ 3(,}&r& … 3(ŅL&JJJJ`Ϡ'8`r&h)hrȱȱȱȱ0]cȱeem*ȱ*ȱ**ȱ**ȱ* )* * )L(`L?* *Ll) ) L( )Ll)8e` ,$`ee` `* G** c*` v* G* c*`hh8`8`***`}*`e`H)hJJ*0JJ)` (< ( < *? ( < (? ( < (? ( <*? * **? *? *? ( < *? ( <.<ʆ>,=?BC8 é&'112`HB-9F 3"aɿ LLB Nϰ H  @h( L Lj  @`eLJCAB@=?<>=?<>CAB@?A` 1 L  <>`ڢF]PL8i m L   6< L  BLRAM' hLDLآ <B*IBGF08Lé'+8H <,``h(`@ڍL3hh@ihAiH(ؠȱ@JJJJq@)@vvȱ@Hȱ@Ah@@cve J) LL LJiB LJ) JxhHHHHL(  ްƠx@BEOD  ް(`( C)CJJJl`B l-`J,~@~@}J@` ߩ%S @ ~`E hhhߺ0 h ߐ(     0 HϭߍLпllllhh8` Qx")T'P() ɺiLG )?      `l@Hȱ@IױHXATȱH ɯȩ׍̕5H)/@a)_ .0 :A[8@`,뎕׮Б` L` @>V)I38Pghם`K8`@Nȱ@O@ IiNȽבN)/ȩ/N`@[ WHJjjjhA I'KI؍0JHi 뎈`C8` @ 3N@) S莴 ⭱i`0 e; 뮈ٝ٘ 0 W,0 .H hȑNWȮّNW8`ٍّNί0NN` G8`F@ 0 P LK8`= >I8`FHGH hGhF܌ բFܽܕF芝ܝ 밶=> ?܅I m@IHHyHȘI Lܝ` @f@ n@Ю׍V)mיVʈ@tȱ@fȱ@prsiQ{R|V)5VI0ܢܽ lS'H* 7ghFG (JK L܅IU mHIH` wt tP0ST HVHQFRG 밳QR 밨J%܈G" T)Ii)܍U*܍H'ܮ( 4 䭐 $H %HFFHGHG 됬`R8`)` HHV` /Q'܅IHHVVЍV@`8 ` ͐% ΐQ8`܅I `S܍TU p8D`F` ilH)HFȍQHGR $%܍&܍!ܢ8* J8` L ܝA)I 'ܝ=`I8iUFSGT`I܅IH3H ( )ȱHί`Α8HeHI SB=0P ٙNٙLFQJʈ p猱`8m0`,0H hi PȽίhٍ0GF8yאFG  $0 S01 E8`100 e 0ʩ 谼 谷`12)1`0`Ȏi 0U`)8`ί` W G IؙJJ c: QLHIHI`JKJK`FHIG ( Ȣ؝؈JL)eKM`)` J }J͢ $0 ΑJFJL8`JGBJ \ FإG`BH \FإG`,H hHB؅F  ؅GxDE؍00C ް(`(8` L3J  B"L H  B 9ؙ` @ P8`K8`B8` O؈VJJJJحt) ) )Ю ЪGgF $ ᭔ع+ؠ >H  Wh8` 䮈ٽ ٬ؠ@` ( O )8`)i п`  H h)N$% LL L L >  .pJ덦 )@፩NJOK >iKKΥΥ IJΦ JФ̭JjHFIH HIGxKE ް((H hH h8`8@ȭ@L>쬉8NNO 8 ؍JL`RΥʱLN1MOMEKP/MEKΥLCL-M O,p莤eNNO(`JNKOL >/  .P L8 cؑJ`L@ȱ@ `@Nȱ@O`؝}}I}ؐ` rؽ؝} r 1 r؝}؈` ` H  \h)N@ C; L  >$ )bJ e ) H @hL ) # )حJjI~HI}H؊  PLKΥʱNLMO MЈMEKݸP%MEKΥL0 O, PeNNO O(` C  7 #2J}HI~HI؊ LQ  6` #A H} ع H~ ؙ؊ؠIhHIhH  iع `  عiعi` )؍0CGHFHBFGx ް(8hFhG`@4͔ L @Ai ׭2` . W#ع؍0 e讈)`.@+ i 8` L )߹0 )p )@ ) ȩ ؝O0QR 방 STQRFG 嬉؍i؍j؝k ؝f }V) }V )حP͝ `H@h`h``N8`  ) C⬉Ȣ؝@ݡ@ʈLO KIJHȢݡ)Jn 8 λ ؍ ؍ aH8 ع)ꭸJJJJ Ȣ؝I؈ >h(8H E h(8Hh(`ؑ@`@ȱ@ ` B@8ZV p鮈ٍٍٍvHٍu8ihjVJJJJV)V@` %I -t) 0@V)N8` @LL =@ 4ȹP8` %i` Bם0 4B B)( ȹ`8m8m@8` G8`F Pt)@N8`V)@J 4טyרםVV)׍Vgh 밑 %LȹL@ȅH@IL,0` G פֿ= eH.t)N 0 PghV)@LP8` a᮷ &֩VJKJ L䬈yٙ٭yٙ٩`K OEgFhG 6%&N   & ܮ `J HH hh` 0 @ LLL w`̻Yܝ ݝ0̻ȩFG   0` ܅F݅G ` wͬ 밽܅F݅G ` * w% L`L뮷HH &hFhG܍ݍ 8 `FHGH & hGhF`ݹܙ݊`@Bɼ>K@J5 9X(K XXK تKo`V8`no` I on I9XX`) HJJJh`OeNeO࿰ 9XАO`@ȭ@` ON fNJKO`HхhꭋILhH),kx8 (8` ԍ`@ABe Or88`zw! NIJK,-NOPQRSu' @   !"#$Ԡ͠ˠ(C)1983-87APPLELKL`BL Lެެެެެެެެެެެެެެެ(C)APPLE'83xLLM Mh@8nЍLޭ 0J @,,LZP׽8H  ): e: y8鰕:Jjjj<)yאi8i;i(*=>hPם8`;Zx3QZYXXWV[HEVhEhH)IWHPHHHAHHHLaVEWLӿ ֽ ְ& .Vӈ  JJJJH 8h Ei 8EX`'8`jӍWӥC)p> pӥCYӍY 轊( ( ӈBV ( ӭp0 \BkJ ՠ@iӦ> Ӑi'j:ZH i@ioZZH h ѐȭnWǥBJ Ӱ8XӦ>` Ր+>*L o % ԽYӍZӭoӝY 3Ѡ шNZ`rZLkӭZӍq8r7IZӐiZkӐk 8 ѹs ӭq ѹ| kн Z)*>>` @ $(,048<@DHLPTX\`dh 0ުlptx| 0($ p,&"op8`kkV꽌ɪɖxlӽ*kӽ-kәmMlӈ 꽌ɪ`8` ZԍsԍԍԍԥDEԌ8TԌ8WpԌqԠ 7I꽌ɪ꽌ɭ蠪:љVE:8`]ѾV]H)]ѾV]ҙ)]ѾT]ҙ)] >8hUD` ԝY`> Hh݌(`HCJJJJ)*h`8LխӅ:HhHh Ո թ թ ՘VYҪҦ>:Y)Ң`;R?AJ;<ȰY)Ң`Y?)Ң`ȐҰ ;HhHh=Ң`Hh `Hh`DEiȍ0֌18V%֌&8V֌֠)HV)hH)hHIhդD?DRIDQD)҅; ?JDQD]ՎՎՎ`MY pӭY)p  ӭp`C)`BFGV 8``  / XʩXύX X %   % ɍRH hɛɘɉɈ $ Ld :Ldې)ɮ۰ɺ' Ld  : X ( % ɛ$ɘɉ ɈL :Lɍ)ې)ɮ۰ɺH h 'L  ġLL ̹L)'L ȳL O'F ʻ ̹(((L $ʩ $$ $L `ީ % K@D EFby LҠؠӠ΢ϠԩҠŠƠԠԠŠӢɯϠҠůȠԠĠ  0h)ύh0HHHH " ׍hhhhhhh .hh8`JIMJAYKERRY&MIKEL   L %)Idb| ,d^d]\\0Xd\ ); ;$`Le]] f@ E] e\\ f\\ f E\ e^^ f E^ Оe]] @ f g ) \ea @` DD8`EI\{᫋ KP ib:ߐ ;Xb8d*bec*ᨹ; :;K; hh\XE* K"*3L\sȽ BȽ BȽ Bn0`^mCD0lBTK0l\B\dJJJ0)2pp` @ ȎcZoo`Z' ZM O8oUcE HCL< ,H ,,h0E.KhhK Y8L8`Kg f8 5 YEKno q HdLf ˍjhHdfRM:: mi]h\mj^0 (0HJJJ0)2=p3\l]m^n 80` H8b pK`C]0\BD^0B\T0`,,,,J,JH1) 1hJ,J,`\ sPK KL0]""h)Jz if*:: ))H " fo0`04K-Kh0+:"(kso{w8`` q/y0' IQq\ KKhrz xᩇpᫀ/> Diversi-CacheT70+Kg W 0`J 0 BothYes No J ip 8 8o# Ϋ  WoHo  Wh: LT0HH"kHJJJJ Ch)P   0`"(K`8 XkDiversi-Cache(tm) Copr. 1987 DSR, Inc By Bill Basham Version 1.0 _  | Maximum Buffer Size: 800K | | Cache Drive: 1 | | Enabled: Yes |  | Select: HUJK Save: ML DSR, Inc 34880 Bunker Hill Farmington, MI 48018 313 553-9460 (Price: $35)ɍ`ɋ:``ɊɈɕ:3 iɁ i/A@` ɀ0:::0 `:`᫫0 K`@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@  !"#$%&'()*+,-./0123456789:;<=>?0K"h  "zZZڢ"h6%h08'` l k l ʎ0k`80buh[K"q "z{bPhȯb4h0Xd"ᢁ"$/H "zHڢ""{eJ 8e bhbh 0Ȁb h0" @+K8p 07`Lɮpp epB/\1kKQ0 R0b)0&# i " ȣȣ0hk!?I!:KbXbሓhzKhᘏkhkگ*O %)I30x+ Q "8l\Kh0bh\  W P L J H G @ < ; 9 7 5 0 / , &      _ \ Y X U L C : 8 1 +     ~ y v s b W 9 6 | m ` _ W .   tqnid_^]LIFD4!iWOG|NMJHED?>;9'        816/Paint           ////////// / / / / //?????????? ? ? ? ? ??OOOOOOOOOO O O O O OO__________ _ _ _ _ __oooooooooo o o o o oo                     816/Paint                                                                                                              816/Paint`abcdefghijklmno`abcdefghijklmno`abcdefghijklmno`abcdefghijklmno`abcdefghijklmno`abcdefghijklmno`abcdefghijklmno`abcdefghijklmno`abcdefghijklmno` a b c d e f g h i j k l m n o ` a b c d e f g h i j k l m n o ` a b c d e f g h i j k l m n o ` a b c d e f g h i j k l m n o ` a b c d e f g h i j k l m n o `abcdefghijklmno`abcdefghijklmno        816/Paint                         816/Paint                         816/Paint                         816/Paint                         816/Paint                        $4DTdt$4DTdt$4DTdt$4DTdt$4DTdt$4DTdt$4DTdt$4DTdt$4DTdt  $ 4 D T d t   $ 4 D T d t   $ 4 D T d t   $ 4 D T d t   $ 4 D T d t $4DTdt$4DTdte%PAL.4<-! e%PAL.3<-! e%PAL.2<-!*e&PAL.13<-!Ee&PAL.12<-!Ee&PAL.11<-!Ee&PAL.10<-!De%PAL.1<-!7eMOVEPIC2"<-!7eMOVEPIC<-!2eMOVEPAL2!<-!*ŲeMOVEPAL'<-!, eMOVEBIB<-!* e       0123456789:;<=>?0123456789:;<=>?0123456789:;<=>?0123456789:;<=>?0123456789:;<=>?0123456789:;<=>?0123456789:;<=>?0123456789:;<=>?0123456789:;<=>?0 1 2 3 4 5 6 7 8 9 : ; < = > ? 0 1 2 3 4 5 6 7 8 9 : ; < = > ? 0 1 2 3 4 5 6 7 8 9 : ; < = > ? 0 1 2 3 4 5 6 7 8 9 : ; < = > ? 0 1 2 3 4 5 6 7 8 9 : ; < = > ? 0123456789:;<=>?0123456789:;<=>?       /?O_o/?O_o/?O_o/?O_o/?O_o/?O_o/?O_o/?O_o/?O_o  / ? O _ o    / ? O _ o    / ? O _ o    / ? O _ o    / ? O _ o  /?O_o/?O_o        0@P`p!1AQaq"2BRbr#3CScs$4DTdt%5EUeu&6FVfv'7GWgw(8HXhx )9IYiy *:JZjz +;K[k{ ,<L\l| -=M]m}.>N^n~/?O_o        816/Paint                         816/Paint `````````` ` ` ` ` ``aaaaaaaaaa a a a a aabbbbbbbbbb b b b b bbcccccccccc c c c c ccdddddddddd d d d d ddeeeeeeeeee e e e e eeffffffffff f f f f ffgggggggggg g g g g gghhhhhhhhhh h h h h hhiiiiiiiiii i i i i iijjjjjjjjjj j j j j jjkkkkkkkkkk k k k k kkllllllllll l l l l llmmmmmmmmmm m m m m mmnnnnnnnnnn n n n n nnoooooooooo o o o o oo        816/Paint  0@P`p 0@P`p 0@P`p 0@P`p 0@P`p 0@P`p 0@P`p 0@P`p 0@P`p  0 @ P ` p  0 @ P ` p  0 @ P ` p  0 @ P ` p  0 @ P ` p  0@P`p 0@P`p        816/Paint  0@P`p!1AQaq"2BRbr#3CScs$4DTdt%5EUeu&6FVfv'7GWgw(8HXhx )9IYiy *:JZjz +;K[k{ ,<L\l| -=M]m}.>N^n~/?O_o        816/Paint  0@P`p!1AQaq"2BRbr#3CScs$4DTdt%5EUeu&6FVfv'7GWgw(8HXhx )9IYiy *:JZjz +;K[k{ ,<L\l| -=M]m}.>N^n~/?O_oA)0 T8) `A)0 T8) A)`8` n \ nԅ \ n A)`  80 T8` nA)0T8)`A)0T8) A)`0 T8H`媪㠤ű⠰)MODIFIPALJ<-!J&e,DITHERSCREENA<-!E-e)DEFILEPAL#9<-!Le%BIRDS'?<-!F e,BASIC.SYSTEMf(<-! m4 e)AFFICHAGE{x<-!D0e  MODIFICATION 16 PALETTES2 J-P ARNAUD8:F(D$(4):j2"MODIFICATION DES PALETTES..."7:"Les parties noires du dessin vont changer de couleur"<:F"NOM DE LA PALETTE ";P$:P$""ĀPD$"BLOAD";P$;",A$8D00,L$300" Z: _"COULEUR CHOISIE:"C d:"1[ OCTET (de 0 @ 255) ";MR iM255100v n:"2[ OCTET (de 0 @ 15) ";N xN15110 J363523686332 J,M J1,N ::"NOM DU GROUPE DE PALETTES ";Q$ Q$P$155 Q$""Q$P$"MOD"! :"NOM PAR DEFAUT: ";Q$C D$"BSAVE";Q$;",A$8D00,L$300"I """"######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""222  !2233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww""""######3333444444DDDDEEEEEEUUUUVVVVVVffffggggggwwwwxxxxxx!!!!!"""""2222233333CCCCCDDDDDTTTTTUUUUUeeeeefffffvvvvvwwwww        816/Paint                                                                                                      ? ** AFFICHAGE 16 PALETTES AVEC 1 COULEUR D'ECRITURE **} *** TEST AUTOMATIQUE DES DIFFERENTES POSSIBILITES ***:(:D$(4)2D$"PR#3"<D$"BLOAD MOVEPIC2"FD$"BLOAD MOVEPAL2"P"TEST IMAGES 16 PALETTES (FORMAT SCREEN)" Z:L _" interrompt le d{fil{ et affiche la valeur du 1[ octet"R a d"NOM DE L'IMAGE <*> = IDEM ";N$:N$""Ā n::"NOM DE LA PALETTE <*> = IDEM ";P$ x::"VALEUR DU 2[ OCTET <0 @ 15> ";A N$"*"150 D$"BLOA"$%D";N$;",A$1000,T$C1" 768/ P$"*"180Q D$"BLOAD";P$;",A$8D00,L$300"Z 810g B0255} N363523686332 N,B N1,A (49152)160Ĺ49193,65:290 810 T1500:  49193,65::"2[ OCTET PRECEDENT: ";A:90 "::" 1[ OCTET = ";B6 ,:" 2[ OCTET = ";A 6::" ENCORE FIN VERIFICATION SAUVER IMAGE

SAUVER PALETTES ";Z$ @Z$"E"90 EZ$"P"450 JZ$"F"Ā OZ$"V"Ĺ49193,193:T15000::49193,65:290 QZ$"I"350 T310 ^:- h"NOM DE L'IMAGE ";V$< rV$""290R |V$V$".16P,T$C1"f D$;"CREATE";V$~ D$;"BLOAD MOVEBIB" 768 D$;"BSAVE";V$;",A$1000,L$8000"  : "NOM DU GROUPE DE PALETTES ";P$ P$""290 D$;"BLOAD MOVEBIB" 7682 D$;"BSAVE";P$;",A$8D00,L$300"8 &()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdUUU UUUPUUUP [_PUPUUPUUPUPPUUPUU[UUPU_UUYU[UYUU_UUҐPUҐUUUUݐPPU[UU UYUP UU[UUUUPUPY-)PUPUP UU_[UUUPUUPPYPUUUPUUU_UPPUU PUP PUYUPPUU_UPUP)PPUUUPPU-UPU_UUUUP"YPPPUU-PUUUUPU PUU)PPPY)UPYPUPPUPUPUPUPRҕP PPUPYYݕUPPPPUUPUPPPUYݐUUPPUPUUUU "PYҕUY UPPU)_  UUPUUY"PUUP UUPU)UUPYUU-UUPUUUPUUPY-)PUUPUUUPUUUPPPPPUYPUPPYPPUPUPPUPPPPUPUUU)PUPP ")PUPY-UUUPPUUPUPYUPU)UP -UUUPUPUUU UU)PUPPUPYPPPPUPPUUPPYݐUPY-UU UU)PUU)UUUPUPUP-UPY"UU)UUPYUUUYPU UUP)PPPY-UUYPYUUUPPUUP --)UUUUPUUUPPU) -PU ݐUUUUUUUUU - UUUPPUPUPUP)PUYUYUUUYP "UPUUUPUUUUPPUPP UUPPYP PUYPPUUYUPUUPPUUUPYҕUPPYݕP- UPPUUPPUPUP_UUUUPPPYҕUPPPU UUPPYUUPPUUUUU_PUUP)UY)UYҐUPPYPPYPUP)PY-UUUUUPUUPUUPUY"UPPPPPYPYP)UPUUPYUUUPUUYUPUU%UҕU-PPUPUUUUUUUUUPPUU%UPPU-UPPUUUUUUPP"UUUUUPUPUYUYUUUPUPUUPPUP _U UUUUUPU)UUPPPPPPPUUY-PYUUUUUUUUP-UPPUY-)PPYPPYPPUPPY")UPPUU UU_UUUUUUPUY"UU U)PUPY"YP U)UPUUUUUU_UUUUUYUP UUUUPU UUPPPUYݐRPUUUPYUYUUUUUUUUUUUUUUݕPU]UPUY)UU U PUY)UPUP UPPٕUUUUUUUU"UPUUUUҐPUUPPUUPPUPPUPUPPUUPPٕUUUPUU-ۿ)UUUUUUUUUP PPPPUPPPPUUUUUP "ww PUUPUUUPPYY)UUY )P PUUUUPUUPUwwwwwwUP ݕU UPUPYR)UU Y"U PUPUYUU_wwwwwwwwwwwUPU"ٕUUUY-UPPPUPU UPPPUY)UUUPݐ%PU_wwwwwgggwwwwPUUUU)YUPUUUYQ UPUPUYP"UUUUPwwwwwfff~wUUUU -PUP U Y PUP)YPPUvffgf爏UUUPPUY"PUUUYYݕP UYPUUPU)UPPUUUU ݐxfgnx)UUUUYUP U %PUYPUUUP "xxU)PUUUPҕUUUPYbYPUUݐUUUUY -P xwUUYUҕUUYUPPU"bYPUUUUUٕU UUPUUUUUYUUU )PPU"/b "UPY)UUUݐ UUUUUUwwxUPPPUUUYP """`&b YUPUUPUUUxwxUUPUUUUUUUUPUR&"" boYPUU UUUPUUPU[UwxwpwwUUPYPUUUP)UU""f&"YUU -PUUPYPUU_wwfgvvwvgw%UPYUUUYPP""/f%UPUUYUYPUU-vffwwwffovvvwwww~wU UYP "f"f &"PYUP Ґ [wwwwwwwwvogwfxvPPUUUPY )PY&bb "/UUY-PUUUPPUwwwwwwwwffwvvwffwUPUUUUYPUYPYPR&fb"UUPUPPPUUUPUPYwwwwwwwwvffwwvgfxfv)UUUPUU )PUUU"/YUPUY-ҐUUUUUY-wwwwwwwvvvvowwwvgwxfvfw -UUYUUUP&bYUUUUUUU) ݐwwyywwwvwgwgwwwvgwvgwfvwUYRUY UP]RaUPYUPPPUwwy}wwwwvgwgwwwfgwwfvffvUP UUPYUٙ_PUUP--YUwywwwwgwwgwwwfgvgwfffUUPUPUP P/ UUYPUPPwywwwwwvwggwwwwwfwvfgvUUUUPUPP ]P  UUUUUUUUwwwwwwvwwgywywwwwwfvgvUYUP "U U)UYUPwwwwwwfvviwwgwfffwfUP YPUUUU[UUPYU U_wwwwwwvvfiwwvffffwfUUUUUPUUUUPUUUYUwwwwwwvfvviwwwwfffg}oUUUUUYPUU] UUUYUUUUU[wwwwwwffgfiwfvvfffgUU ٕUUY "UU_UUR)UUUUP wywwwwwvvgfwwfvfffw P  U ۿwywwwwwfggfvgwfvfg}ݻUYU[𻻻UYU]۽ݻwvgwwgggmwfffffg۵UPݻۿwwwfgwgfvwwvfffwoU]ݻwwwvgwfffwwwfffgvowwwvgvff`wwwwffgqfwwwvfvfgwwwww wwwwfff""&fa wwwffgf"""&݈xwwwfwf""afffbff݈xwffb"`f`f x `oxwqff!oxwqfb""fwwxw" vvvxf`vvfff" ` vvgof""" wfgoff""f  wfwoff"&&"f wfvoffb""fogfvffb"&&fggvfb""&```ggffffb&fb&`` vggffffbff` wgf"&b&""f`wvvof"ff"b"f`wwffffff""`wgwf`ff"ffffggwvf"""``wgvf"wgvg wgb"&vw wgfffb"fww vwfffffb"&ww`ffff"b&bfffww`ffffffb"&` vwg`ffff`ovwg`vwo govggovggowggowggwggvggwggwgowowoo 816/Paint wA,p   A,p   A,p   A,p   A,p   A,p   A,p    t  c c S SB22!w wA,p   wA,p     wp w @ I   wU __ _Z  10fa  LG ASTARTUP$#   / XXύX?klmnÍoL) "6L'?"(0`6708" = ***)<JJH !h穖tp% ;"Z/݀>">"' 1" 7"5).莀/ ;" " 6" >" 1"6"$ "g"" !"""""IzLeghijklmnopqrstuvwxyYL 8!9 詍` "  à4"/pŠϠŠà͠ӠàԠŬH06172839h` v97L75v^a ?/( va?LLLɍ$?`?a ɍɥAH93827160hH46576879h`,C bL ɍ b w,S0 @ lLޭBDEF޾ p ޾ p($ذ v (0 ( L?ԦʚLeةީa s  lL b,FLg,DL,C0$3 >@ Ɉ 3ɾꩈL(3ɾ;Ƀ B94 l% bʽ  ՚,S` H E$݅3`(l8L3LX>(Ƀ,`3,G0]ɾ g` H`پ_پ p _پ׾`>( p۾m׾) W)ʩ@`ɾ>(O puȾ ɾ-O ]c־Jjjj `O>0O l POپھ p H־Ǿh۰8L־Jjjjɾ)Ⱦ8 ѱ OLӜ ĤLLX>(F`־ؾپھ׾` bɄ KDEF vLl v lL bKɍKL?` w  vLl@3 @LtJ)s@J b  l`a?sa?,E30ɍФ3 E3HD F3 Ʉ%h3 bM E  lLthɍLL3`3,A0s0% Ipn DpnI:L ؅303L8933LΞAAJL ةޘг uv $ 8LƞaЌ>?@`>?@`B8` K  춼LK ҟ ҟ ( KK`HJJJJ8`HK)` #hhLJپھ pHJh` D!hgt}~p `~t}p8n~ni}tpi~~tso8pinii>j?k̈́>~|p|Ii||̈́ l - `>i>?Ek?!>Q>>>̀ `` \> ̀ `e>>?́?>?Emn(>e>ȱ>e?>Q>ؠ> ie>>?`|;}=:<~:<=;`||m};>:8o>oȑ>ppȑ>> :op`G DKpnG @p;G=po:i>?Ek?>Q>> L> \/ e>>?́?ޱ>ȥj>>m>` _m8injkiljo풼S 鸍긍$I2 U)VJ зT)`l8`a HbIJhjǾȾɾ p٭b=aIe f`8` P־ǾҾ,G0C f=W)_``\"׾پӾؾھ pD`־ǾY׾ؾOW)ݩȾɾʾ pD`8`W)CB) 5W) =)W)@! pZ}ȾȾ󰹩 p` ־ǾҾ,G 8`׾ؾ f p vۥs׾tؾE`  ( 8о(־Ǿ,G 8`_`W)H־Jjjjh p̭ fLᶢǾ ת..8 ۭ (8mȾȾmɾɾʾiʾ` Lpl8l:/,s̝sƬƀ#(ZZV4G_0=( A P FjL\5p-e9ABSAVERIFYBLOADELETEBYECATALOGOPENWRITEXECREATEFRESTORENAMEBRUNLOCKCHAIN#FLUSHREADPOSITIONOMONPR#PREFIXCLOSEAPPEND6D(!쫂8ֵ#ح#׮2}q :IC@@ -!S    !C- !ABELSDFRV@@ !$(19@EüϠž(+@ABCDEFGHIKLMNPSV     T[fouu~ՠٯ* PWN*]ĿNTz @n6VC/+A>@I5gN Oz @n[Dz @nd0,~z @`$仫@v$⩔,C[B?I>孓`仫6VtCicQĿUKqtVt Nʮq$6,⨁ K6, VtI=v!gNVt Vt  lg~TLLwLLL) `8` ԠŬLL% ** AFFICHAGE 16 PALETTES **+:=(:D$(4):A0\2"IMAGES AU FORMAT SCREEN"d7:F" <*> = AFFICHER L'IMAGE EN MEMOIRE"KP"NOM DE L'IMAGE ";N$:N$"*"A1:100UD$"BLOAD MOVEPIC"ZD$"BLOAD";N$;",A$1000,T$C1" d768 : A1140, D$"BLOAD MOVEPAL"T "NOM DE LA PALETTE ";P$:P$""300v D$"BLOAD";P$;",A$8D00,L$300" 810 : "SAUVEGARDE DE L'IMAGE = NON" "NOM DE L'IMAGE ";V$ V$""300 V$V$".16P,T$C1":49193,1z|93 D$;"CREATE";V$0 D$;"BLOAD MOVEBIB"9 768] D$;"BSAVE";V$;",A$1000,L$8000"k 49193,65q ":w ,JEUXu' <-' '/POKER.CHALLENGE<- }Lo ,@ main o"0<""""")' ;8[i"H"H" H"h   H"h d٩˭ H"h Hل"hHeH{iH " {iH{iH "{iH "{iH{iH "᥵ H"h Hل"~h߆ Hل"h H"h߆"hHH H"hHH" H"h i٥8pIjdեH"hH"h٥H"hH"h˥ׅ H"hi H"h8pI H"hӭ H"hi H"hi H"hӗ H"hӭ H"hi H"hi H"hӗեe٥0 8pI 8pI dեIׂ'd٩˥i٥8pI H"h 娄HH  娄HH"HH  H"hHH"HH H"h 娄HH"тdѭ H"h 娷8HH  娷8HH"HH  H"h8HH"HH H"h 娷8HH"ςddͭ H"h 娄ͭ  娄iͭ  H"hiͭ H"h 娄iͥiHHpppypyy"HHHH" V C 0*! "{i+ ;i k ;8[iH" " :"""PP{iH"mH""" """""""""""H""HH HH ""HHH """ "H"HH"HiH"H"""HiH"9""{i+;ikPlease wait, loading tools... ;8[i """""""" ""HH"H""{i+k ;8[i"{iH"{iH"{iH"{iH""{iH"mHH"HHH-""HH """{i+k ==-\N377D.(>>@\XN1==About Poker Challenge...\N256 ;8[i"{iH"{iH"mHH"HHH-""HH ""{i+k >> File \N2==Quit\N264*Qq. ;8[i"{iH"{iH"{iH"{iH""{iH"{iH"{iH""{iH"{iH"{iH""{iH"{iH"{iH""{iH"vv{iH"{iH""{iH"mHH"HHH-""HH ""{i+k==Instructions\N270*Ii.==Show Score\N269*Ss==Change Timer\N268*Tt ==-\N377D==Play a Hand\N267*Pp>> Options \N3 ;8[i"H""*""{i+k ;8[i"""""{i+k ;8[imHH"HHH"h"{i+;ik ;8[i"ddϩN͍ύ  8͍ύ "$&((*͍,ύ.0͍2ύ4͍6ύ8:<>@BDHHH"hFH͍JύLHHH """{i+;ik ;8[iHJ","{iH{iH "{iH{iH "Ǣ7"HT""{i+ ;i k ;8[iHJ","{iH{iH "{iH{iH "Ǣ7"HS""{i+ ;i k ;8[i"8pIHH8pIHH"""8pIHH8pIHH":"۩ {iH{iH "{iH{iH "{iH{iH "{iH{iH "{iH{iH "{iH "{iH{iH "ͅ٩ {iH{iH "{iH{iH "{iH{iH "{iH{iH "{iH{iH "{iH{iH "{iH{iH "{iH{iH "HHHH"HH8pIHH"HH"_ {iH"iHHH{iH""mH""8ۥ8pIv"{i+  ;i k 0123456789 ;8[i8pIHH8pIHH"""8pIHH8pIHH":"mH""{i+ ;i k ;8[i"H3"HY*J"HHH ""HH""" :"{iH"mH""d{iH{iH "{iH{iH "᥽㥿3{iH{iH "{iH{iH "᥽ɥ˩{iH{iH "{iH{iH "ᥳ{iH{iH "{iH{iH " Hԩ"hH{iH"{iH{iH "{iH "{iH{iH "ᥩ{iH{iH "{iH{iH "{iH{iH "ᥩ㥫奿0:{iH{iH "{iH{iH "8{iH{iH "{iH{iH "0n4{iH{iH "{iH "{iH{iH "{iH "{iH{iH "{iH "{iH{iH "{iH{iH "{iH{iH "{iH{iH "Ʌۥ˅{iH{iH "{iH{iH "{iH "{iH{iH "᥽ۥݩ{iH{iH "{iH{iH "0d{iH{iH "{iH{iH "᥽ӥեۅɥ݅˩{iH{iH "{iH{iH "ᥳ{iH{iH "{iH{iH "{iH{iH "ᥩץ٩3{iH{iH "{iH{iH "ᥩ{iH{iH "{iH{iH "{iH{iH "ᥟׅߥم{iH{iH "{iH{iH " Hԕ"h{iH{iH "{iH{iH "ᥕ {iH{iH "{iH{iH "{iH{iH " Hԕ"h8pI0{iH{iH "{iH{iH " Hԕ"h{iH{iH "{iH{iH "{iH{iH " Hԕ"h{iH{iH "{iH{iH "ᥕ {iH{iH "{iH{iH "{iH{iH "ᥕ {iH{iH "{iH{iH "{iH{iH "ᥕߥ{iH{iH "{iH{iH "p{iH{iH "{iH{iH " Hԕ"h{iH{iH "{iH{iH "ᥕ {iH{iH "{iH{iH "{iH{iH "ᥕץ٥0:{iH{iH "{iH{iH "8{iH{iH "{iH{iH "0{{iH{iH "{iH{iH "{iH{iH "ᥩӥե0:{iH{iH "{iH{iH "8{iH{iH "{iH{iH "0WHH "HH""{i+k Shuffling... ;8[i "ݩddߩHۥi2HiHJ" HHH""{iH{iH " {iH{iH "{iH "{iH{iH "Ņ "hߢ"h"hņ{iH{iH "{iH{iH "ŅDž7"H ^"7"H ]""HHHH" "HHHH" "iHi H:"{iH{iH "{iH{iH "6L!L!{iH"mH"" {iH{iH "{iH{iH "6J!J!{iH"mH"") {iH{iH "{iH{iH "6H!H!{iH"mH"" {iH{iH "{iH{iH "6F!F!{iH"mH""9{iH{iH"mH""iHi H"iHi H"iHi H"iHi H""iߩ38pI/Hۥi2HiHJ"HHH""7"H ^"7"H ]"HiHۥi1HiHJ"H ]"iHiH:","iHi H<","iHiH<","i-HiH<"""{i+kKQJA ;8[id{iH{iH "{iH{iH "эӍ{iH{iH "{iH{iH "хݥӅߩ{iH{iH "{iH{iH "DžѥɅd{iH{iH "{iH{iH "᥽{iH{iH "{iH{iH "᥽ǥɩ{iH{iH "{iH{iH "ᥳ{iH "{iH{iH "ᥩ i{iH "{iH{iH "(ԩ"heeHC{iH{iH "{iH "{iH{iH "{iH{iH "{iH{iH "Գ#{iH{iH "{iH "{iH{iH "{iH{iH "{iH{iH "ԳC{iH{iH "{iH "J{iH{iH "{iH{iH "{iH{iH "Գ#{iH{iH "{iH ".{iH{iH "{iH{iH "{iH{iH "ԳJ"{iH "{iH{iH "{iH{iH "ᥩ07{iH "{iH{iH "5{iH{iH "{iH "0A{iH "{iH{iH "{iH{iH "᥽07{iH "{iH{iH "5{iH{iH "{iH "0H.J""{i+k ;8[i7":"HH"" ="="=" =""HH"HH""{i+;ik ;8[i7"H8HiHiHJ"HY"H8 HiHi HJ"HY"HiHi Hi HJ"HY"iHiH:""{i+;ik ;8[i7"H8 Hi HJ"HY"Hi Hi HJ"HY"H8H8HiHi HJ"HZc""{i+;ik ;8[i7"H8 HiHiHJ"HY"HiHi HiHJ"HY"H8HiHiHJ"Hc""{i+;ikHZ;i{HH ;[ H "H"HH "hhiHH"iH ""HH H "hhe : ""kHH ;[""" " " " " d&)H "h "Ԣ"""HH"HH"HH"H"kHH ;[ed  +hhk"h+h-h-H+H(k ;[H"h=:8 +;i H Zk ;i  H Zk+;ik;8 ;[  e {i e d d 8 H H H H" i 芗HH "hhЭ.HHH "h ( H"" "  "    {ei   ;ei+kHHH ;[ K 'aHHH"h::H"  HH"+;ik ;[ e +;ik  k;8 ;[H({iH "hU N) H({iH "h.H({iH "h+;ik+ : ;i kHHH ;[i ȗ0 i +hhhkHH"h"kHH"8k0;8  ;[HH "h: ) d )" #   +;i 08k;8 ;[  i ) U JLe Ȁe Jw(ȀȘem+;ikH ;[ 8-:  +hk5h!@? ;[ 23  :T+  ;i k ;[H "h  "ȗȗȗ "+  ;i k@HH ;[H "h% ia  )+  ;i kHHHHHHH$"hk ;[H "h!""eJ +;ik ;[H "h" "+;ikHH ;[HH "h)+  ;i kHHH ;[HH"h!H "h  +;ik;8 ;[H$" "h4 H"h$H"hH"hE 8 !"# {% HHHHHH$"hhhh+ " !;i k ;[ %{ )+hk ;[H "h, % HHHHHHH$"hhhh{ +  ;ik;8 ;[ &$"{iH"d{i  )  + $#;i"k ;[H "hID#;8 "%';i!'& %) +;ik;8 ;[&$"{iH"d{i ) + $#;i"k ;[H "hc^);8 ";i5 )il& ) +;ikHHHH ;[H"h`H"hPH"h@;8 " :: "h+  ;ik;8 ;[ m"{iH)" ;[H "hA @ "/{iH "{iH(" +;ik;8  ;[>m) H"(  a{8  +  ;ik;8  ;[H"hNID 7m)  H"    +  ;ik;8  ;[H"h]XS Fm)  H", )8 0e   +  ;ik;8  ;[H "hhc^ H"hNID "^m) G8  8  "    e :  + ;ik;8  ;[H"hzu H"he`[ Zm )  @m) +8  8  e :  + ;ik;8 ;[dm)m )eRJ";  )  e )  +;ik;8 ;[dH"hql km\m 8H C  e :)   8 e ) +;ik;8  ;[d d m) m )  0  h)+  ;i(k;8 ;[H"hg "a@ɀM "HH"iH H"+  ;ikHHH ;[H"hC ɀ8 @+ e :  ȥ+;ikHHH ;[HH "h~HH"hg eKZ H H [k>8 eKZ H H [kH,"+ ;i k ;[H "h& !@8  eiU U)+;ik                                 H KZ 8U::HHH " cH H [kk;8  ;[(0 {iH{iHڢ "{iH#HmH"*iH " "+  ;ik ;[ 4 0 H{i H"+;ik ;[ ʆ&   H{i H"+;ik ;[  "+  ;i k ;[  "+  ;i k ;[  "+  ;i k ;[  " " HH"+  ;i k ;[" HH"+  ;i k ;[H mH"+;ikH ;[HHIH IH "h II +hk ;[H "h I+  ;ikH"h%  E +;ikcck8k H;[IIIIʀFf ee&IIhhhh+k H;[ I I ȥIIʀ&&ff !  8  FfFfͥ  IIIIzzzzzz+kIIkIIk##kkCCkIIk8 # zz(kk8 , 8kkO D F E N G+@HL;8 ;["5m{iH" {iH""+"!;i k;8 ;[(d &^ $ (ɭ *Dm  dd{iH""+ (';i&k;8 ;[ m{iH""+;ik;8 ;[$Zm"C{iH"  & "d&d&F8"+"!;i kHH ;[ - + i   +;ik;8 ;[H&$""h ( m{iH ""+$#;i"k;8 ;[&m$Ym "C{iH"- *{iH"" {iH""+$#;i"k;8* ;[{iH"! .ȩDȩ1 ?{i#H"%'+ !%' ){iH"PH"H"H#"H""HH")  +#""+;i*k.D1;8L ;[d3dMRH{i3H"3m57{iH"y9d {i9 d {iH"M ;;{i<Hk"HH"{iH"33"Ma"+NPMO;iNk;8 ;[$ R i 6  d&d(#{iH""&(+ "!;i k;8 ;[d&d($ j i N ?{iH""%HHHHH "h&h(hh+ "!;i k;8" ;[( E i ) ɭ!ȷ#)*+$&#%;i$k;8 ;[ :  +k ikHH ;[ HHH "h+hhkHH ;[ 3 i  ȥ +  ;i k ;[  +{ei d : ȷ   +hzk+k;80 ;[>@ : 8:":"Bm  84 ) a{8    i Ȋ ">B@86"d>>@ :"<1 '{iH"{iH"<ȗ ɭ68 6ȥ8  ɰɭ6HHHH "h  Ȋ+2@1?;i>kHH ;[  "H ɭ#HHH""  +  ;ik;8 ;[d$"  ɭp $H({i H "h %){iH"$!" # ##&$"+ $#;i"k HH ;[" x  _  ɭɰFH "h1 " "+;ikHH ;[HH "h" "+ ;i k;8 ;[" t d  ɰOȷ t)kl mD&& && m  )   H")I  0  { )8)F6e  {{ I8?0= 5-  e H"+;ik???;8 ;["   ɰȷ {i dd )M  HHm" H"|"u :   iH " Ђ7 ԘԖ" ԘԖ 'H"+;ik;8  ;["  ɭ ɰȷ )0 H""Ȅ ex ")Y ) :  9HH HH  )H" e + ;ik;8 ;["  ɭ ȷ  {id $  m  R* )ece! H";e e     +;ik;8 ;[) e Ȁ"', ȗ Ȁ,ȥ , Ȁ    +;ik;8 ;[{i d )fe "8 ԒԐ" ԒԐ +H"+;ik;8& ;[%64{i%H{iH{i'H "{iH20.i H " ", %#64)%d,)4) %d,. l,::0,+(4'3;i2k ;8& ;[%,'{i%H2 1 '     64 {i4H{iHڢ ")  0ʀ)0 d'0 )eI,%{i%H{iH0. "+(4'3;i2k;8" ;[2?.*,( d {iH ""᪠ .:.!ȷ.#!!d#.HHHH,*#! "hhhh{iH"/(+e!e#{iH" d(*,{iH".*,{iH"j . .ȥ . ɰ!. {iH"".{iH""+$0#/;i.k;8 ;[)) H"ha"dC<""0ވ   ""3." )""+;ik  0 0 "k " "H "k ;8  ;[{iH)"i H:"{iH " 9HHg"{iH H H~"h";"+;i kH"kH ""h)k;8& ;[{iH)"  i {iHV"᩼{iHV"᩼H({iH "hХ {iHU")+;i&k;8  ;[{iH)"{iH "H{iH{iHO"h)  :"+;i k;8  ;[   <)e  2)   i9)e )H 2h 2܂+& )e 2 ȗ+ ;ikHHHHH ڢ$"zzh`;8 ;[$m) a{8 ʈ " ud F"@6ʈB"&ʈ "ȩ  i +"!;i k.CONSOLE .PRINTER .MODEM     9 349#'B5SVY6jmp6tw~:R:R:R :R:R:R:R:RR"(:RFRORY_:R:RR:RR:R:R(+28:RCFMS:RZ]lt:R:R:R:R:R:R:RR':RJRSV]d:RknuR:R(R14;@CJS:RvR:RR:R $'.LOV[^en:R:Rpppypyy)64R@qSqfqlquq~qqqq895M     ED  , 1 B 5  7 7 5  9 " ;% 9( ;7 =: ?> ?B =P 5T W Aa k n 7y | 7 A  7 A  7    7 A   89> H R \ f p z    q o  7  89 5   ED D   ED >K B* D6 9 E H K AQ T c 5g k y   89 5 [  [  ED D     A% ( 7 5; ? M P 89 5   ED D } } ED >K B D r r ED>KB#D'Z*Z6EDG>KMB\D`DcDoED>KBD++ED>KBDA5  895589|   89%(47:AHKV{\C_Eb8955 "',16; @ EJVP\_dinq589"%1489Z]q895ARS_RRRRXXEDIB#B?89RR!-089\5mGpGs6wz5UWWU## ED(-BGI?QE:R^<GI<QB:RKY%[GIQ:RYGIPQV:R]G`IQ:Rf %k % !G !IL!QR!:RY!Y![!%Q#WU#U`#c#Eg#Cr#u#89#5######5###$x$:R$R$R$$$ %%%%.%;%i%R|%%R%%&*&*)&ED5&8&D&I&B&)&)&ED&&&&B ') ')'ED%'('4'9'B')')'ED''''B'Q''''B (3%(+2A(/1](d0h(((((((5((]((_(((((())));)>)A)S)k){))))))))89L*]Q*_+a+c+]+]+a+a&,:R0,e8,e^,]a,],a,a-]-].a .a..a.a.a.c.a.aM/aP/ak/]n/]/]/_/]/]0] 0];0->0-V0Y089{000500e00g000000g0e11g1e1189F1I1L1o1r1u111111111111112289B2E2H2f2i2l2x2{2~22222222222289'3*3-3P3S3V3b3e3h3333333333338944444i(4iG4kM4mf4i46B4i4444444444444][4p^54 5454H555m5k5454555i5454556%6 6'666'66%646vP6vP7i 8Bd8k8r8888888888889E9N9Q9]9 `9 99999999999 :y:{&:}O:S::W:`:d:j:o:u:y::::::::::y:{;%;+;/;;;A;G;i;m;q;;;;;;;;};;;;;;;; vP>vP >vP0>vP>vP"?Cq?vP???????????CD@vPd@@j@@p@@@@@@@@@@@vP@vPAvPkApAAvPBvPHBi`BcBlBvBBBBBCCCDDZDCDBDDDDDDEBEC9EB_EdEEvPECEE!FP4FCFFGvP#GCmGvPGGGCGvPGC`HeHvHCHvPHHHCNIvPfIkIICIvPIvPJJAJCJvPJvPJJJJOKTKeKjKKCLvPLL"L'LLLLLMvPDMkIMmVMivMiMvPMMMMM M NP(N +N 2N5NJNPNNYN _NpNNNNNNMNPNNvPNONOOpOOpOOpOOpOOpO OpO#OpO&OpO)OpO,OpO/OpO2OpO5OpO8OpO;OpO>OpOAOpODOpOGOpOJOpOMOpOPOpOSOpOVOpOYOpO\OpO_OpObOpOeOpOhOpOkOpOnOpOuOi|OOOOOOO P'P4PpgPO QO6QO]QOQOQDQCQ3hQCQ Q3hRR'RpgRvPRvPTTTT3U8UcUTUUUTVV-VTUVZVV V V VTV V V WvP=WBWWWTzWWWWT XC9XCAX IX yX`X`X`X`X`X`X XBXBYGY Y(Y +YlY`uY`YBYTY Y YiZTMZ PZ hZiZTZ Z N[W[ Z[ f[ l[ o[ u[ {[ ~[j[ [j[ [i[ [ [ [ [ [ \\M[\p^\\\Lo\Lo"]i%]i@]/[U]wUr]p^]i^i^^M[^/[^/[_M[>_jz_/[_$\_______ED_M[`vP<`/[J`$\l`P}`M[`/[`M[aKbaKbaIbaIb4a9a`a da3hajaj-b/[XbM[bb`b/[b$\"cfHcEDZccbcpgcM[d/[d$\EdEDTdddddOdM[`ecene fe/[fffffggfgED4gbgHH "HH"HH"+k8HH "HH"HH"+k 8 E 8- i  i8 pIHH9"HH:"8pIHH9"HH:"28pIHH9"HH:";8pIHH9"HH:"HHnGnG{iH""h"H"7H"jGjG{iH"mH"""~d{iH{iH "{iH{iH "эӍ{iH{iH "{iH{iH "хݥӅߩ{iH{iH "{iH{iH "DžѥɅd{iH{iH "{iH{iH "᥽{iH{iH "{iH{iH "᥽ǥɩ{iH{iH "{iH{iH "ᥳ{iH "{iH{iH "ᥩ {iH "{iH{iH " ԩ"he{iH "{iH{iH "{iH{iH "ᥩ07{iH "{iH{iH "5{iH{iH "{iH "0{iH "{iH{iH "{iH{iH "᥽07{iH "{iH{iH "5{iH{iH "{iH "0i"H J"H:"H@"HH%"" HHH";k{iH "d{iH{iH "{iH "{iH{iH "{iH{iH "эidH"h"h H"he ;k H"he HH i(H"heeH"iM7"H ^"7"H ]"/ HHH"i;kHH%""{iH "{iH "<{iH{iH "{iH "{iH{iH "эf88 pI"fGfG{iH""eGeG{iH""8pI HH\G\G{iH""h"H"HH{iH"H{iH"""HZ"ZGZG{iH"mH"""8pI0iN;kd{iH{iH "{iH{iH "эӍ{iH{iH "{iH{iH "хݥӅߩ{iH{iH "{iH{iH "DžѥɅ{iH "{iH{iH " Խ"hiH{iH "{iH{iH " Խ"hiH{iH "{iH{iH " Խ"hiH{iH "{iH{iH " Խ"hiH{iH "{iH{iH " Խ"hiH"{iH "{iH{iH " Խ"hiH{iH "{iH{iH " Խ"hiH{iH "{iH{iH " Խ"hiH{iH "{iH{iH " Խ"hiH{iH "{iH{iH " Խ"hiH"8pIl#{iH{iH "{iH "{iH{iH "{iH{iH "{iH{iH "ǭH"m{iH "{iH{iH "{iH{iH "᥽07{iH "{iH{iH "5{iH{iH "{iH "0{d{iH{iH "{iH{iH "эӍ{iH{iH "{iH{iH "хݥӅߩ{iH{iH "{iH{iH "DžѥɅ{iH "{iH{iH "᥽ iH{iH "{iH{iH "᥽ i H{iH "{iH{iH "᥽ iH{iH "{iH{iH "᥽ iH{iH "{iH{iH "᥽ i(H"{iH "{iH{iH "᥽ iH{iH "{iH{iH "᥽ i H{iH "{iH{iH "᥽ iH{iH "{iH{iH "᥽ iH{iH "{iH{iH "᥽ i(H"8pID{iH{iH "{iH "'{iH{iH "{iH{iH "{iH{iH "H"m{iH "{iH{iH "{iH{iH "᥽07{iH "{iH{iH "5{iH{iH "{iH "0i8m{iH "{iH "{iH{iH "эH}J"HHH ""HH"#"qNGNG{iH""H YeJ"HHH mH "KGKG{iH""HYeJ"HHH mH "FGFG{iH""HYEeJ"HHH mH "zCGCG{iH""H YEeJ"HHH mH "HH"Ti{iH{iH "{iH{iH ""HH:G:G{iH""h"H"F3G3G{iH"{iH""H"F#G#G{iH"{iH""H"F-GG{iH"{iH""-H"F<GG{iH"{iH""<H"FKFF{iH"{iH""KH""H""HH "HH"HH" ;k;k;iH@"HJ"HHH ""HH"FF{iH""H JJ"HHH mH "HH"T{iH{iH "{iH{iH ""HHFF{iH""h"H"aFF{iH"{iH""HHFF{iH""h"H"FF{iH"{iH""_CFF{iH"{iH""d7FF{iH"{iH""u(FF{iH"{iH""KF H{iH{iH "{iH{iH """HRuFuF{iH"{iH"" ^HFHF{iH"{iH"" g F F{iH"{iH""uFF{iH"{iH""~FF{iH"{iH""EE{iH"{iH""H""HH "HH"HH"+kHlJ"HHH ""HH"#"EE{iH""H NJ"HHH mH "HH"X{iH{iH "{iH{iH ""HHEE{iH""h"H" EE{iH"{iH"""~E~E{iH"{iH""",E,E{iH"{iH""+DD{iH"{iH""7DD{iH"{iH""@HDHD{iH"{iH""ICC{iH"{iH""RCC{iH"{iH""[SCSC{iH"{iH""d/C/C{iH"{iH""pBB{iH"{iH""yBB{iH"{iH""wBwB{iH"{iH""8B8B{iH"{iH""H""HH "HH"HH"+kHHH"H"8pI0iHH8 i(H"heeHO""6 8ihdH"hH"h;kHH"HH" #" {iH{iH "{iH{iH ""HH/B/B{iH""h"H" %B%B{iH"{iH""1BB{iH"{iH""","7"H ^"7"H ]"d{iH{iH "{iH{iH "эӍ{iH{iH "{iH{iH "хݥӅߩ{iH{iH "{iH{iH "DžѥɅd{iH{iH "{iH{iH "᥽{iH{iH "{iH{iH "᥽ǥɩ{iH{iH "{iH{iH "ᥳ{iH "{iH{iH "ᥩ {iH "{iH{iH " ԩ"he_7"{iH "{iH{iH "ᥩ i{iH "{iH{iH "(ԩ"heeH ^"7"{iH "{iH{iH "ᥩ i{iH "{iH{iH "(ԩ"heeH ]"'{iH "{iH{iH "ᥩ {iH "{iH{iH " ԩ"he HH{iH "{iH{iH "ᥩ i{iH "{iH{iH "(ԩ"heeH"{iH "{iH{iH "{iH{iH "ᥩ07{iH "{iH{iH "5{iH{iH "{iH "0!{iH "{iH{iH "{iH{iH "᥽07{iH "{iH{iH "5{iH{iH "{iH "0 m{iH{iH "{iH{iH "":BB{iH"{iH"""BB{iH"{iH""""+AA{iH"{iH""+"4AA{iH"{iH""4 "=AA{iH"{iH""= "FAA{iH"{iH""F"OAA{iH"{iH""O"XAA{iH"{iH""X"aAA{iH"{iH""a"jAA{iH"{iH""j"HH"+k"{i+kNothingOne PairTwo PairFlushThree of a Kind Full HouseStraightFour of a KindStraight FlushScoringPoker Challenge24000080>Hand values are displayed upon the desktop, playing is simple.give you your results.Qscores for each of the rows and columns will be displayed and a total dialog willNScoring takes the cards in rows and then columns, after placing the last card,#and two hands will be a card short.Qthen the next card will be delt. You will then end with an open space in the gridRif you do not place the card in time, you will be accessed five penalty points andOthe grid by clicking in the rectangle of your choice. There is a time limit andSshuffle the deck and deal them one by one. You will then be able to place them intoSTo play Poker Challenge, choose the 'Play a Hand' menu item, the computer will then;grid. The better the poker hand made, the higher the score.Qpattern on the desktop. Cards will be delt one at a time and then placed into theLThe Poker Challenge is played on a twenty-five square grid arranged in a 5x5Poker Challenge GS0C100015OKGrand Rapids, MI 495052206 Dean Lake NE Jim Sepanik'it for 10 days, send $10 to the author:,To Legally use this program after evaluatingThis is a Shareware program.By Jim SepanikAll Rights ReservedWritten in TML Basic. Version 1.00C010003Poker Challenge GS0C100015OKAverage: Grand Total: Hands Played:Penalty Points:Score:0C010003OKQuitNo Play Again? 24000080  2400008024000080Plus 1Plus 10Minus 1Minus 10CancelOKChange Counter ValueNone0C1000150C01000324000080 CE]_ace"g%i(k+m.o1q4s:u=wy{}f?f?f?':R9f?MSu;{;;;;]__]b]]]%]])]._5]8]]]]_acB]E]|aa:R aaac%a(axa{a]]]_]]H]K]ips]_S]V]]]]_]]D ]G ]e k  q w }    G G ED uF B  G G ED uF B  G G ED uF B" , / : D N X ,[ ,a Ml o u M   M   M   M 21 21 M 6 6 M N   * G G ED' - B1 E5 C@ P S EW Cb e Ei Ct w E{ C            N  N # I  5  N ] m) ]/ 6 9 < ? B E H V 5Z ah o s _~ #   _ ] ' `       5          /   G G ED c B    G G ED   D   ,/2JMGPG\EDbehDlpwzGGEDD #&>AGDGPEDVY\D`dknvGGEDD25G8GDEDJMPDTX_bjsvwGwGEDuFBu "%6:HNR`gtx5 EC&)E-C8;>uCNR]`EdCorEvC !26DJN\cptnGnGEDuFB !jG$jG0ED<?KPB[]_kapc]]7a:aq:R~ aaacaa3a6aQ]T]]_]]]]!o']*m-0u7w:I>AY\_kx N5ikm%--aaVYd:Rna~R:R :Rm% m%:R ee #m*m-mBE-H-Zgj-m-m%--uw5egeeooadgcorcuw|wwfGfGEDDeGeGEDDw\G\GEDuFB $w4Q:G>KMBSVYD`jmpctZGwZGEDBwuwoo}!]&_]]:R ]]6:RA E]H]:R ]]:R ]]:R #/'q*s-]0]g:Rr v]y]:R ]]:R   ] ]B :RM  Q ]T ] :R   / q s s q ] ]V!qZ!^!}b!qe!}h!]k!]!]!_!]!]"]"]t"]y"_#] #]C# G#]J#]# #]#]# #]#]$  $] $]G$ N$/R$qU$sX$][$]$ $]$]$ $]$]% %]%]X% \%]_%]% %/%q%s%s%q%]%]Y&q]&a&}e&qh&}k&]n&]&]&_&]&]'] '];'B'E'}I'oL'}O'S'}V'Y'\'r'u'''''''''5'''''( (((*(NG-(NG9(ED?(B(E(DI(L(d(g(k(r(u(}(((((KG(KG(ED(((D(((((((())))FG!)FG-)ED3)6)9)D=)@)X)[)_)f)i)q)z)})))CG)CG)ED)))D))))))))))***$*t*z*:G}*:G*ED*uF*B**3G*3G*ED*c*B*}**#G*#G +ED+c+B.+o2+B+GE+GQ+ED^+cd+Bt+x++G+G+ED+c+B+++F+F+ED+c+B,,,#,5',*,-,1,<,?,EC,CN,Q,EU,C`,c,{,,],,_, N,,,,,,5--- - ----F!-F--ED3-6-9-D=-@-X-[-_-f-i-q-z-}-------F.F .ED.uF.B*.9.F<.FH.EDU.c[.Ba.Fd.Fp.EDv.uF~.B..F.F.ED.c.B.F.F.ED.c.B/F/F/ED/c#/B3/F6/FB/EDO/cU/B///uF/uF/ED/c/B/HF/HF0ED0c0B$0 F'0 F30ED@0cF0BV0FY0Fe0EDr0cx0B0F0F0ED0c0B0E0E0ED0c0B050000 1 1E1C11E#1C.13161N1S1V1n15r1u1x1{1~11111E1E1ED111D1111111111222)2y22E2E2ED2uF2B22E2E2ED2c2B22~E2~E3ED3c3B)3,E,3,E83EDE3cK3B[3D^3Dj3EDw3c}3B3D3D3ED3c3B3HD3HD3ED3c3B3C3C4ED 4c4B#4C&4C24ED?4cE4BU4SCX4SCd4EDq4cw4B4/C4/C4ED4c4B4B4B4ED4c4B4B4B4ED5c 5B5wB 5wB,5ED95c?5BO58BR58B^5EDk5cq5B55555555E5C55E5C55a5a5555a5a555666a6a60646:R>6eF6eU65Y6\6_6p6w6}66666666:R66R6a6E6C66E6C6 7]7c7/Bf7/Br7EDx7uF7B77%B7%B7ED7c7B7B7B7ED7c7B7888-!8-38@8C8-F8-X88]8_e9aj9c9]9]1:a4:ak::Ru: ::]:]:a:a;:R;e;e+;8;;;]>;]{;a~;a;:R;e;e;;];]<a<aS<:R]< c<g<k<]n<]<a<a<:R<e<e==a =aY=a^=ce=ah=a=a=a=]=])>].>_5>]8>]>]>]>M?B?B?ED?c%?B5?B8?BD?EDQ?cW?Bj?z?A}?A?ED?c?B??A?A?ED?c?B?@A@A@ED @c&@B9@I@AL@AX@EDe@ck@B~@@A@A@ED@c@B@@A@A@ED@c@BAAAAA'AED4Ac:ABMA]AA`AAlAEDyAcABAAEACAA89 ;[ Y[]_a): Y +;ik;8 ;[܅܅     :  ie H  HH H"+ H) H1 ,@ _linetbls  _mainprograms/P -eeella a y $ . . 2 P P d x 0 R R       5 G R Y k k r r } 1 .k"_S$b(BBMq ^ S]```#9=[m{""7\cn\, g!7"#W$%%j&N'''''()(H(f((()Z)))))**w***5+{++,,,,>,b,z,,,,,,,,-Z---,.^....&/X////0I0{000 101212121P1}1112|22223N33334H4z4445B5t55555555666^6|6|66666666 ;[ Y[]_a): Y +;ik;8 ;[܅܅     :  ie H  HH H"+ H) H1 H" :    A ,@ _datastmts ;[ Y[]_a): Y +;ik;8 ;[܅܅     :  ie H  HH H"+ H) H1 H" :    A+;ik;8" ;[(@**d(*)ȷȷ)ȷ)Ȅe2 4  ) ,@ ~global  ;[ Y[]_a): Y +;ik;8 ;[܅܅     :  ie H  HH H"+ H) H1 H" :    A+;ik;8" ;[(@**d(*)ȷȷ)ȷ)Ȅe2 4  )*B>4 PROGRAMMES GS.INFOS.7ICONSCOUV.7ARTICLES*HGSINFOS