8L2C)pJJJJ IH(ȱH:=IH[H`@HcH  $ +   I/H`JLNGȄBȄF aK  haaFF  mJm# KKJ UJ )J ۈ) ;J3ȱJFȱJGJKaȄM  aaNNJFLGJL LL !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( +?ZZT19Z' PRODOS }<ZZBASIC.SYSTEM((Z Z'STARTUP=-ZZC?Z ZGSSZ ZGSBU? &PRODOS `DaElH$?EGvѶK+`L HHLy XP LM ŠϠĠӠS)*+,+`F)) (*=GJFjJJA QE'+ '== `@ STSP8QSS8 m P o R(8R %Щ ߩx"L! )L! 8'  )ɀ)4,- U JNT) x"Lv"w" ( !` a"M)Fi/ e"3 k"  !"#$%&آ <B*IBGF08Lé'+8H <,``h(`@ڍL3<>=?<>CAB@?A` 1 L  <>`ڢF]PL8i m L   6< L  BLRAM' hLDLHB-9F 3"aɿ LLB Nϰ H  @h( L Lj  @`eLJCAB@=?.<ʆ>,=?BC8 é&'112`8`8`*ݑ*ݙ*`}*`e`H)hJJO*0JJ)` (< ( < *? ( < (? ( < (? ( <*? * **? *? *? ( < *? ( <*ȱ**ȱ**ȱ* k)* ) v)L(`L* )L0) k) L( k)L0)8e` ,$`ee` `* ** '*` :* * '*`hh M'i  ``) ]'(j21 [& \&!` (\&[&i\(\&]( (S&$ (,^&S& … (ŅL&JJJJ`Ϡ'8`S&h)hrȱȱȱȱ0]cȱeem*ȱ 2H22h2舌]&]&12H)M0 h10200I20h2 '`LE%12 `_'"L  <8# ȱ)ɀ  )' ` (Xp< @' )m''.''ЯӠֱЭԠŠҬîʎ1]&… (n^&Dž (\%T[&LD()8= (J 8'[&'\& ((ʎ1]&]&]&3223 h')L~&18]&"m11`YYZLYLYLY뿭` 8!@8` %MNЩUMߩ  L 5   8 0 8  `0 / X%& &&,&0`Š S ɘL   V7 L ' 0% '8 Jm ʈ0  0ŠϠĠ͢Š͠͠ϠŠŠϠĠخ͠ ͍B B(8. ) ɘ"    L=#=#&ŠϠĠԠŠ ԩ m# m# J Qڨ)̰m] нȱ ̀𩠙 i F >l"m" h" iL X%;"L8"ΠΠҠ`y""""""*$ Fk%YeQP!/RB}QBiBB}\ ĉFEL/#> ț6 hh@ihAiH(ؠȱ@JJJJq@)@-vȱ@Hȱ@Ah@M@c-e J) LL LJiB LJ) >xhHHHHL(  ްƠx@BEOD c ް(`( C)CJJJlB #-`J,~@~@}J@` ߩ%S @ ~`E hhhߺ0 h ߐ( ߐ ߐ ߐ  0 HϭߍLпllllIL/FHGI ҭtJsjHIHB>IZؙJJ W: ELyHIHI`JKJK`FHIG ( ZȢ؝Ur؈JLs)eKM`Z)` J NJbs $b0 bJFJL8`JGBJ P Zؑ@`M8`Z8@pؐʈIZ)Ns8NN tLy LZةC8`؍^)@ iZ)Nt8N^ysJ t^ ؅F Lo) +^%tJ(a *ZFإGؐ.` *tJHIH ۩ mmYٰNO`YJJJJ;i vYn vYٍnm0 Y k`H8`m m`nYٍqyٍoipB0Hn0oFpG h0`FG `ϩBxEDz0C ް(`(8`O `YٽJJJJ`dHYdhn)cNdjNdjNdjjNd.l CHqd v;dY٭n *jNlcۙ۰ڙک mm`Z8` C#llk k (`jkO .O .O .O8l۰*JNlܝ٭(ܝ`)َX X8ʈX` 0ٝ)i `}~8`YR dNOc vNYمFمG < d0 FGLYc0 ٭O٭Nٽ8\]`H8`  ,cN O 8dc` N E8`1ݒ00 Y Y0ʩ 谼 谷`12)1`0Y`ȎYi 0U`)8`΀`Y W xG 0A)H Yܝʈh٭0٭)ܝ٭*ܝ٥F٥G٭'ȱH΀`b8eHI |SB0! YٙٙF"`ʈ d猂`8m0g`,0H hi PȽ΀hYٍ0GF8yאhFiG  $Y0 G01܅I `c$܍%&c d8D`F` ]lH)HFȍ"HG# $%܍`&܍a!ܢ8* J8` L ܝ)I 'ܝ`8bi&F$G%`b܅IH3H c( c )_# 밨%܈" T)Ii)܍&*܍'ܮ( 4 䭐 $H %HFFHGHG 됬`R8`Ͷͷ)` H'` #Q'܅IHH''Ѝ'@`c8_ ``_ a% aQ8``ʈ@Eȱ@7ȱ@ACD:"L#M')5'I0ܢܽ =$'* 789FG ( Lv܅I& mIH` HE |E!0$% 'H"F#G 밳"N` G8`F@ 0 > cLK8` I8`FHGH hGhF܌ բFܽܕF芝ܝ 밶 ܅I mIHHyHȘI Lܝ` @7@ ?@Ю׍')mי'i Y`ZC8` @ F3N@) G莅 ⭂i`0 Y; Yٝ٘ 0 W,}0 Y .H hȑNWȮ~ّN}W8`ٍّN΀0Nf׮Б` L` @>')I38f!g8h9iם`K8`@Nȱ@O@ FIiNȽבN)/ȩ/N`@[ WHJjjjZhA 'KI؍0JHhh8` Qx")T'P) ɺiL; {)?mn | { {  ~ `l@Hȱ@IױHXATffȱH ɯȩ׍f5H)/@a)_ .0 :A[8@`,ZFإG`BH PZFإG`,H ZhHB؅F  ؅GxDEZ؍0z0C ް(`(8` vL'J Z 6"L vH Z 6 Z9ؙ` @ P8`K8`Z[B8` Z ؈'JJJJحE) ) )_Ю ЪGZ8FZb $ ᭔ع+ؠr 2HZ  Zh8` Yٽ ٬Zؠ@`b_[[b (Z[  _ )8`)i п` H h)N$%Z,"x8 (8` ԍ`@ABe 2U,,CnZ1rIJK,-NOPQRSuHUSTON!' @   !"#$Ԡ͠ˠĠŪno` on 7I9XX`)HJJJh`OeNeO࿰ 79XАO`@ȭ@` ON NJKO`HхhILhH)܅F݅G ` X* O% L`L뮈 ܍ݍ8`FHGHe eܙhGhF`@Bɼ>K@J5 79X(K 7XXKZ تKo`V8`   ܮ `J HHZ hh` 0 @ L$L O[̌Tܝ ݝ0̌ȩF𸽚G  z 0` | ܅F݅G ` X Oͬ | 밽 LȹL@ȅH@IL,0` G _=\] YH.E)N 0 >89')@LP8` >箈 ܩ' v LYyٙ٭yٙ٩`K CE8F9G 6%&N ȹYP8` iY` %ם0 B %)( ȹ`8m8m@8` G8`F PE)@N8`')@J טyרם'')׍'89 밑 Ȣ؝rI؈ 2h(8H ( h(8Hh(`Zؑ@`@Zȱ@ ` B@8Z'\]Y dYٍ]ٍ\ٍGHٍF8\:h];'JJJJ')'@` %I -E) | 0@')N8` @LL =@ ؝R@rRrZ@ʈL, KIJHZȢrZrrs)tJn 8 ΌZ ؍ ؍ >H8Z ع)ꭉJJJJZ Z )߹0 )p )@ ) ȩ Z؝ 0"# 방 $%"#FG Z؍:؍;؝< ؝7 N') N' Z)ح!n v`H@h`h`Z`N8`  ) 1Ziع `  عiعi` )؍0CGHFHBFG ުhFhG`@4Z͔ L @AZi ׭2` .Z #Zع؍0 YY)`.@+Z Zi 8` L ؊ PLvEvʱNLMOstMEKP%vMEKvL$ Ost,ru PreNNO ,(` C  7 2tJNHIOHIZ؊ }LE  *` AZ HN ع HO ؙ؊ؠIhHIhH } Z`Z؝rU}NINؐ` fRؽU؝N f % f؝RN؈` Z` H  Ph)N@ 1; L  2$ )bJ\] Y ) H 4hL )  )حtJsjIOHINHZNO 8y ؍xrJLu`vRvʱLN1MOstMEKP/vMEKvL7L-yMx Ost,rpueNNO(`JNKOZL 2/ "P L8 y WZؑJ`L@uȱ@vZ `@Nȱ@Orusv LL L F L 2 "pvJw )@zNJOK 2iKKvvss ttIJw u vJФ̭tJsjHFIH zHIGzxKE ް((H hH h8`8u@ȭv@L2Z8NrԠҠLKL`BLL ެެެެެެެެެެެެެެެ(C)APPLE'83xLLM Mh@8nЍLޭ 0J @,,LNLG ASTARTUP$#   / XXύX?klmnÍoL) "6L'?"(0`6708" = ***)<0h)ύh0HHHH " ׍hhhhhhh .hh8`JIMJAYKERRY&MIKEFby LҠؠӠ΢ϠԩҠŠƠԠԠŠӢɯϠҠůȠԠĠ  ɈL :Lɍ)ې)ɮ۰ɺH h 'L  ġLL ̹L)'L ȳL O'F ʻ ̹(((L $ʩ $$ $L `ީ % K@D E  / XʩXύX X %   % ɍRH hɛɘɉɈ $ Ld :Ldې)ɮ۰ɺ' Ld  : X ( % ɛ$ɘɉ 8V%֌&8V֌֠)HV)hH)hHIhդD?DRIDQD)҅; ?JDQD]ՎՎՎ`MY pӭY)p  ӭp`C)`BFGV 8``8LխӅ:HhHh Ո թ թ ՘VYҪҦ>:Y)Ң`;R?AJ;<ȰY)Ң`Y?)Ң`ȐҰ ;HhHh=Ң`Hh `Hh`DEiȍ0֌1֍ZԍsԍԍԍԥDEԌ8TԌ8WpԌqԠ 7I꽌ɪ꽌ɭ蠪:љVE:8`]ѾV]H)]ѾV]ҙ)]ѾT]ҙ)] >8hUD` ԝY`> Hh݌(`HCJJJJ)*h`0($ p,&"op8`kkV꽌ɪɖxlӽ*kӽ-kәmMlӈ 꽌ɪ`8` *L o % ԽYӍZӭoӝY 3Ѡ шNZ`rZLkӭZӍq8r7IZӐiZkӐk 8 ѹs ӭq ѹ| kн Z)*>>` @ $(,048<@DHLPTX\`dh 0ުlptx| ְ& .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Ӧ>` Ր+>P׽8H  ): e: y8鰕:Jjjj<)yאi8i;i(*=>hPם8`;Zx3QZYXXWV[HEVhEhH)IWHPHHHAHHHLaVEWLӿJJH !h穖tp% ;"Z/݀>">"' 1" 7"5).莀/ ;" " 6" >" 1"6"$ "g"" !"""""IzL')*+,-./0123456789:;j>>m>` _m8injkiljo풼i>?Ek?>Q>> L> \/ e>>?́?ޱ>ȥpnG @p;G=po:Q>>>̀ `` \> ̀ `e>>?́?>?Emn(>e>ȱ>e?>Q>ؠ> ie>>?`|;}=:<~:<=;`||m};>:8o>oȑ>ppȑ>> :op`G DKJپھ pHJh` D!hgt}~p `~t}p8n~ni}tpi~~tso8pinii>j?k̈́>~|p|Ii||̈́ l - `>i>L8933LΞAAJL ةޘг uv $ 8LƞaЌ>?@`>?@`B8` K  춼LK ҟ ҟ ( KK`HJJJJ8`HK)` #hhL𚾤3 @LtJ)s@J b  l`a?sa?,E30ɍФ3 E3HD F3 Ʉ%h3 bM E  lLthɍLL3`3,A0s0% Ipn DpnI:L ؅303پھ p H־Ǿh۰8L־Jjjjɾ)Ⱦ8 ѱ OLӜ ĤLLX>(F`־ؾپھ׾` bɄ KDEF vLl v lL bKɍKL?` w  vLl@$݅3`(l8L3LX>(Ƀ,`3,G0]ɾ g` H`پ_پ p _پ׾`>( p۾m׾) W)ʩ@`ɾ>(O puȾ ɾ-O ]c־Jjjj `O>0O l PODEF޾ p ޾ p($ذ v (0 ( L?ԦʚLeةީa s  lL b,FLg,DL,C0$3 >@ Ɉ 3ɾꩈL(3ɾ;Ƀ B94 l% bʽ  ՚,S` H EH06172839h` v97L75v^a ?/( va?LLLɍ$?`?a ɍɥAH93827160hH46576879h`,C bL ɍ b w,S0 @ lLޭBYL 8!9 詍` "  à4"/pŠϠŠà͠ӠàԠŬh,PIN'ҍIxy /L6Ix y JpnoF /= plm /w)!,ZJYH)h****)  md8幙`\H[< h  /( 载쳼󩭙L/id /`H) hJJJJ ɺi` M  ` ת.8 `O`S  AI-L9 ᪰B C VWS`޾Lp h־Ҿ,G0^W)TP) ecfdپھ׾ؾӾ p$c d pccddީ 8`ȾɾʾNfne}ȾȾI>Ie 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` CuHUSTON!Z' '(SAISIE.CAZ <, ?STRUPR.CCZ :"?STROK.CDZ ;?(CONWAY.CF Z R$(27)ĉ::. R(R$)64:R1RNP180> D$"-"T$(R)m 198:49168,0:49152,128,127:49168,0:: FICHIER DIRECT INDEXE,FIND/FICIND CLASSEMENT.BUF,CLASSEMENT.BUF RETOUR DU RETOUR DE LAM,PRO.LAM2 FRENCH.USING (GSBASIC),GSB/AVERd::D$(4):D$"PR#3"::)n4003xNP17?T$(NP)\NN1:2N::(64N);:T$,T$(N):" "T$;60(T$(N)));T$(N)NNP14022:" et sont sur la FACE B"23:"TITRE CHOISI (ESCAPE POUR SORTIR): ";:R$:22: LLwLLL) `8` ԠŬLLʮq$6,⨁ K6, VtI=v!gNVt Vt  lg~TV     T[fouu~ՠٯ* PWN*]ĿNTz @n6VC/+A>@I5gN Oz @n[Dz @nd0,~z @`$仫@v$⩔,C[B?I>孓`仫6VtCicQĿUKqtVt Nֵ#ح#׮2}q :IC@@ -!S    !C- !ABELSDFRV@@ !$(19@EüϠž(+@ABCDEFGHIKLMNPSsƬƀ#(ZZV4G_0=( A P FjL\5p-e9ABSAVERIFYBLOADELETEBYECATALOGOPENWRITEXECREATEFRESTORENAMEBRUNLOCKCHAIN#FLUSHREADPOSITIONOMONPR#PREFIXCLOSEAPPEND6D(!쫂8 ( 8о(־Ǿ,G 8`_`W)H־Jjjjh p̭ fLᶢǾ ת..8 ۭ (8mȾȾmɾɾʾiʾ` Lpl8l:/,s#include #include main() { char i=0,c=0,chaine[80]; printf("Tapez une chaine comportant des lettres maj,min et des chiffres "); scanf("%s",chaine); for (i=0;i #include main() { char *chaine = "Lundi,Mardi;Mercredi!Jeudi:Vendredi-Samedi=Dimanche"; char *separateur = ",;!:-="; char *s,i; puts(strtok(chaine,separateur)); while(s) puts(s=strtok(NULL,separatechar *strupr(str) char *str; { char *p=str; while((*str=toupper(*str))!=0) ++str; return(p); } main() { printf(strupr("salut")); } } } @Btf("%c est un chiffre\n",c); else { printf("%c est une lettre ",c); if (isupper(c)) puts("majuscule"); else puts("minuscule"); } si une cellule poss}de 1 ou pas de voisine elle meurt par isolement 4/ chaque emplacement adjacent @ trois cellules donne naissance @ 1 nouvelle ******************************************************************************/ #define nb_li 20 #define nb_co 80 char old_generation[nb_li][nb_co]; char next_generation[nb_li][nb_co]; int nb_generation=1; int population_depart; /* --------------------------------------------- ** Cr{ation de la premi}re g{n{ration al{atoire ** -----------------d::D$(4):D$"PR#3":'i215@nI768868:R:I,R:s32,88,252,169,16,133,7,24,109,201,190,133,9,173,200,190,133,8,169,0,133,6,168,145,8,133,8,133,9,160,0,177,6,240,65,9,128,192,0,208,22,230,8,208,2,230,9,166,8,72,165 x9,90,32,36,237,122nf("%d",&population_depart); } while(population_depart > 999); srand(population_depart); init_generation(); do { affiche_univers(); calc_generation(); met_a_jour(); c=getchar(); } while(c != 'q'); } ou 'q' pour quitter\n"); } /* --------------------------------------------- ** Programme principal ** --------------------------------------------- */ main() { char c; do { printf("%cPopulation de d{part (inf{rieure @ 1000) --> ",'\f'); scaividus()); for(li=1;lisetoutglobals(,): Valeurs standards des masqbdemory.tdf"Z߄"misctool.tdf"d߄"quickdraw.tdf"n߄"desk.tdf"x߄"event.tdf"߄"sheduler.tdf"߄"sound.tdf"߄"adb.tdf"߄"sane.tdf"߄"integer.tdf"߄"texttool.tdf"8erreur: Branchement sur ERREUR s'il GSB.HELLO am{lior{!DEBUT$.PRINTER,-: Supprime .PRINTER1.PRINTER,: Installe .PRINTER sans AUTO-LF#(: R{serve $FFFF de m{moire2,"*/TDFS/"2<"Un instant SVP, je charge les fichiers .tdf"F"locator.tdf"P߄"mREM R{tablit le mode standard de traitement d'erreur 240 _setoutglobals(255,128):REM Valeurs standards des masques. 250 CLOSE #1 260 FIN: END ON ERR GOTO erreur:REM Branchement sur ERREUR s'il y a lieu... 200 OPEN .PRINTER, FOR OUTPUT AS#1 210 _setoutglobals(255,0):REM Fixe les masques AND et OR 220 PRINT #1;CHR$(27)"D"CHR$(0)CHR$(1):REM Z{ros barr{s. 230 ERREUR:OFF ERR:Tremplin Micro & Emile Schwarz")$=:centre("(c) Janvier 1987")! ,:"C - Charge une image"$ ,:"V - Visualise une image" ,:"S - Sauve une image" ,:"Q - Quitte"CHOIX(,:" - Votre choix: ";:$choix$choix$=ATE 13,5:PRINT "Q - Quitte" 200 CHOIX: LOCATE 16,5:PRINT " - Votre choix: ";:GET$choix$ 210 choix$=CHR$(ASC(choix$)-128) 220 ON choix$="C" OR choix$="c" GOTO charge 230 ON choix$="V" OR choix$="v" GOTO visu 240 ile Schwarz") 150 VPOS=8:PROC centre("(c) Janvier 1987") 160 LOCATE 10,5:PRINT "C - Charge une image" 170 LOCATE 11,5:PRINT "V - Visualise une image" 180 LOCATE 12,5:PRINT "S - Sauve une image" 190 LOC/tdfs/memory.tdf" 110 SUITE: PROC presente:choix$="" 120 VPOS=2:PROC centre("Utilitaire de chargement/sauvegarde") 130 VPOS=4:PROC centre("d'images en Super Haute R{solution") 140 VPOS=6:PROC centre("Tremplin Micro & Emlnopqrst voulez sauver " 50 ON ERR GOTO erreur 60 DIM pic!(32767):GRAF INIT 640 70 LIBFIND "QdStartUp",q1%,q2%,q3% 80 IF q1% THEN suite 90 INITOOL: LIBRARY "*/tdfs/quickdraw.tdf" 100 LIBRARY APPEND "* 5 REM UTIL.SHGR.GSB charge ou sauve une image SHGR 10 DEBUT: CLEAR 65535:TEXT:HOME 20 a$="Veuillez entrer le nom ProDOS complet" 30 b$="de l'image que vous voulez charger " 40 c$="de l'image que vousE͈presente:"-",P)"!"; I%=߁=P:"!!";=P:"!""-",P)ވpresenteCENTRE͈centre(a$)a%a%=(-a$)ߋ =a%:a$ ވcentre ވsavepicLOADPIC"͈loadpic(a$)#a$,ߒߓ#$#,,;pic!()%#&source@=pic!())'dest@="$E12000") (long@=')blockmove(source@,dest@,long@) *ވloadpic/+ DIM pic!(32767) et type de fichier: BIN PRESENT Proc{dures?/----------------------------------------------------------SAVEPIC͈savepic(a$)a$,ߒߓ#dest@=pic!())source@="$E12000") long@='blockmove(source@,dest@,long@)#,,;pic!()#la ligne ":QUITTE%:=:centre("Au revoir...")FINERREUR1::= +x%centre("Nom de fichier en double")#:centre("Fichier inexistant")?-----------------------------------------------------------&. epic(Pic$) :suiteSUITE1=:centre(a$)c%centre(b$):s%centre(c$)"Nom de l'image: ";Pic$:x%=Pic$): Renvoie 1 si fichier pr{sent, 0 si absents%=:c%=:ERREUR :::"Erreur n["" ?"߿);" @ $) ,:suiteVISU 6:= ?@centre("Pressez une touche pour faire apparaitre l'image")2Jcentre("Une deuxi}me touche: retour au menu")T$X$^h$X$::suiteSAUVErs%=:suite1,|x%erreur1: Si image existante: erreursavchoix$)-)"choix$="C"߉choix$="c"charge choix$="V"߉choix$="v"visu!choix$="S"߉choix$="s"sauve"choix$="Q"߉choix$="q"quitte choixCHARGEc%=:suite15ߍx%erreur1: Si x% = 0 alors image inexistante"loadpic(Pic ON choix$="S" OR choix$="s" GOTO sauve 250 ON choix$="Q" OR choix$="q" GOTO quitte 260 GOTO choix 270 CHARGE: c%=1:GOSUB suite1 280 IF NOT x% THEN erreur1:REM Si x% = 0 alors image inexistante 290 PROC loadpic(Pic$) 300 HOME:GOTO suite 310 VISU: HOME:VPOS=12 320 PROC centre("Pressez une touche pour faire apparaitre l'image") 330 PROC centre("Une deuxi}me touche: retour au menu") 340 GET$X$ 350 GRAF;mask OR _SetInGlobals ;init routine Input PushWord #$FF ;mask AND PushWord #$80 ;mask OR _SetOutGlobals ;init routine Sortie PushWord #0 PHA PHA _GetOutputDevice PHA PHA PHA _GetInputDevice PHA PHA _GetOutGlobals PushWord #$7F ;mask AND PushWord #0 ramme PLB ;Banc donn{es = banc prog PEI $0 ;Sauve 8 PEI $2 ;octets PEI $4 ;de page z{ro PEI $6 PHA i4'RealStart' dc i4'AnRTL' END **************************************************************** RealStart START PHB ;sauve banc donn{es PHK ;Sauve banc prog First gequ 20 PTR1 gequ $0 State gequ $3 PTR2 gequ $4 CH gequ $000024 CV gequ $000025 BASL gequ $000028 *************************************************************** str 'Birth of the Cool' dc10 CENTRE: DEF PROC centre(a$) 63211 LOCAL a% 63212 a%=40-LEN(a$) DIV 2 63213 HPOS=a%:PRINT a$ 63214 END PROC centre ESENTE:DEF PROC presente 63201 TEXT:HOME 63202 PRINT REP$("-",80)"!"; 63203 FOR I%=0 TO 15 63204 HPOS=80:PRINT "!!"; 63205 NEXT 63206 HPOS=80:PRINT "!"REP$("-",80) 63207 END PROC presente 632OSE#1 63014 source@=VARPTR(pic!(0)) 63015 dest@=TEN("$E12000") 63016 long@=32768 63017 _blockmove(source@,dest@,long@) 63018 END PROC loadpic 63019 REM DIM pic!(32767) et type de fichier: BIN 63200 PRmove(source@,dest@,long@) 63006 PUT#1,32767,0;pic!(0) 63007 CLOSE#1 63008 END PROC savepic 63010 LOADPIC: DEF PROC loadpic(a$) 63011 OPEN a$, FILTYP=6 FOR INPUT AS#1 63012 GET#1,32767,0;pic!(0) 63013 CL----------------------------------------------- 63000 SAVEPIC: DEF PROC savepic(a$) 63001 OPEN a$, FILTYP=6 FOR OUTPUT AS#1 63002 dest@=VARPTR(pic!(0)) 63003 source@=TEN("$E12000") 63004 long@=32768 63005 _blockN PROC centre("Nom de fichier en double") 540 ELSE:PROC centre("Fichier inexistant") 61997 REM---------------------------------------------------------- 61998 REM Proc{dures 61999 REM-----------TRACE:TEXT:HOME 480 PRINT "Erreur n["ERR " ?"ERRTXT$(ERR); 490 PRINT " @ la ligne "ERRLIN:PRINT 500 QUITTE: OFF ERR:VPOS=20:PROC centre("Au revoir...") 510 FIN: END 520 ERREUR1: OFF ERR:HOME:VPOS=12 530 IF x% THE IF c% THEN PROC centre(b$) 430 ELSE:IF s% THEN PROC centre(c$) 440 INPUT "Nom de l'image: ";Pic$ 450 x%=FILE(Pic$):REM Renvoie 1 si fichier pr{sent, 0 si absent 460 s%=0:c%=0:RETURN 470 ERREUR: OFF ERR:NO ON 360 GET$X$:HOME:GOTO suite 370 SAUVE: s%=1:GOSUB suite1 380 IF x% THEN erreur1:REM Si image existante: erreur 390 PROC savepic(Pic$) 400 HOME:GOTO suite 410 SUITE1: VPOS=20:PROC centre(a$) 420 ;Basic Device Driver PushLong #3 ;NumSlot _SetInputDevice ;s{lectionne Driver Input PushWord #0 ;Basic Device Driver PushLong #3 ;NumSlot _SetOutputDevice ;s{lectionne Driver Sortie PushWord #0 ;initialise Input device _InitTextDev PushWord #1 ;initialise Output device _InitTextDev LDA ;R{cup}re le mode BEQ AffiCold PushLong #Hot BRA Affich AffiCold PushLong #Cold Affich _WriteCString short LDA #First+3 Locate JSR HTAB LDA #Top JSR p Octet Haut PHP ;Sauve le mode BEQ Cfroid PushLong #Active BRA Affi_ Cfroid PushLong #Inactive Affi_ _WriteCString PushLong #Demarrage _WriteCString PLP ***************************** longa off longi off ShowStat anop ; entr{e mode 8bits LDA #First+2 JSR Locate long LDA State AND #$00FF ;Stri;la page z{ro STA $4 PLA STA $2 PLA STA $0 PLB ;r{cup}re le registre Banc RTL ;retour @ l'envoyeur *********************************** ;restaure masks _SetInputDevice ;restaure Input Device _SetOutputDevice ;restaure OutputDevice PLA STA $6 ;r{tablit PLA LDX #0 BRA SetHC SetHot DEX ; -> X=$FF SetHC STX State BRA Choose setmode anop LDY #1 LDA State STA [PTR2],Y exit anop long _SetOutGlobals ; CR ? BEQ setmode LDX State CMP #$15+$80 ; -> ? BEQ Ajuste CMP #$8+$80 ; <- ? BNE Get_Key Ajuste CPX #0 BEQ SetHot JSR ShowStat * Get_Key anop ; ici mode 8bits JSR GETKEY * ; toujours mode 8bits CMP #$1B+$80 ; Escape ? BEQ exit CMP #$0D+$80WriteCString JSR HTABbis PushLong #Line8 _WriteCString JSR HTABbis PushLong #Line9 _WriteCString JSR GetStat short Choose anop ; ici mode 8bits ;on est en mode texte JSR VTAB JSR HTABbis PushLong #Line5 _WriteCString JSR HTABbis PushLong #Line6 _WriteCString JSR HTABbis PushLong #Line7 _HTABbis PushLong #Line22 _WriteCString ;reviens en mode icone LDA #First+1 JSR HTAB PushLong #Line23 ;on est en mode icone _WriteCString LDA #5 JSR HTABfirst PEA $5A ; 'Z' _WriteChar LDA #First+39 JSR HTAB PEA $5F ; '_' _WriteChar BRA VertiLup enbas anop JSR JSR HTABfirst PushLong #Line3 _WriteCString JSR HTABfirst PushLong #Line4 _WriteCString PEA 18 VertiLup PLX DEX BMI enbas PHX PEA $0D _WriteChar #00 JSR VTAB JSR HTABfirst PushLong #Line0 _WriteCString JSR HTABfirst PushLong #Line1 _WriteCString JSR HTABfirst PushLong #Line2 _WriteCString VTAB RTS ;retour mode 8bits ***************************************************************** longa on longi on GetStat anop JSR MachId ;R{cup identificateurs TYA ;NumRom dans Y mais AND #$00FF ;octet haut ind{termin{ BEQ ROM0 PushLong #0 ;place pour r{ponse PushWord #0 ;outil en ROM shWord #%0000000000101000 ;Mode EVENT d{sir{ PushLong #EVENTBUF _GetNextEvent ;Lecture dernier Ev}nement PLA BEQ AGAIN ;Pas d'{v}nement LDA EVCODE ;Tyrd #0 ;Place pour r{sultat _EMStatus ;Lis {tat de EVENTmanager PLA BEQ EIGHT ;EventMngr Inactif AGAIN PushWord #0 ;Place pour r{sultat Pu******************************************************** * Routine emprunt{e au RAT.CALC.CDA de Glen BREDON **************************************************************** GETKEY anop PHX PHY PHP long PushWo;ROM num PLX ;r{serv{ PLA ;config PLP PLP PLP ;r{cup Status d'entr{e RTS longa on longi on ********anop PHP long PHA PHA PHA PHA PHA PHX PHY PushWord #$FE1F _FWentry ;Ex{cute IdGS du Moniteur PLY _FWentry ;Ex{cute COUT moniteur PLY PLX PLA PLP PLP PLP ;r{cup Status d'entr{e RTS *--------------------------------------- MachId ;r{cup status d'entr{e RTS *--------------------------------------- CharOut anop PHP long PHA PHA PHA PHA PHA PHX PHY PushWord #$FDED PHA PHA PHA PHA PHX PHY PushWord #$FC22 _FWentry ;Ex{cute le VTAB Moniteur PLY PLX PLA PLP PLP PLP H PLP ;r{cup status d'entr{e RTS *--------------------------------------- VTAB anop PHP ;sauve status short STA >CV long PHA first anop PHP ;sauve status short LDA #First goHTAB PLP ;r{cup status HTAB anop PHP ;sauve status short STA >CTA PTR2+2 LDA #$15FE ;mot bas de 00E115FE BRA commun **************************************************************** HTABbis anop PHP short LDA #First+2 BRA goHTAB HTAB PTR2 short ; A,X,Y sur 8 bits LDY #1 LDA [PTR2],Y STA State long RTS ROM0 anop long LDA #$00E1 ;mot haut de 00E115FE S LDY #$0003 ; La 1}re instruction LDA [PTR1],Y ; de MMBootInit est LDA XxYyZz STA PTR2+1 ; on implante XxYyZz en $04... DEY LDA [PTR1],Y commun STA PushWord #$0102 ;Fonction 1 Outil2 _GetFuncPtr ;r{cup adr-1 de l'outil choisi PullLong PTR1 ; implante en $00.... * ; l'adresse de MMBootInit-1pe d'{v}nement CMP #5 ;AutoRepeat ? BEQ KEYD CMP #3 ;Touche Frapp{e ? BNE AGAIN KEYD short LDA EVMSG ;Lis Touche ORA #%10000000 ;Force ASCII neg BRA TESTKEY EIGHT short KEY LDA >$E0C000 ;Lecture clavier BPL KEY PHA LDA >$E0C010 ;Strobe Clavier PLA TESTKEY anop P/ ,@ /Birth of the Cool.KHHH "HHH "HH " " " " " " "  = " f " ***************** AnRTL ENTRY RTL **************************************************************** END dc c'D' dc H'18 0E 00' **************************************************************** EVENTBUF anop EVCODE DS 2 EVMSG DS 4 EVWHEN DS 4 EVWHERE DS 4 EVMODIF DS 2 *********************************************** dc c' @ ' dc H'00' Cold dc c'froid' dc H'0D 00' Inactive dc H'0E' ; Normal dc c' ' dc H'00' Hot dc c'chaud' dc H'0D 00' Active dc H'0F 1B' dc c'LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL' dc H'18 0E 00' Demarrage anop dc c' ' dc H'0F' ; Inverse dc c'Red{marrage:' dc H'0E' ; Normal dc H'18 0E' dc c' Annuler: Esc OK: ' dc H'0F 1B' dc c'M' ; CR dc H'0D 00' ; sort en mode Icone Line23 anop ; entr{e en mode icone c H'18 0E' ; mode texte dc c' Choix: ' dc H'0F 1B' dc c'H' ; <- dc H'18 0E' dc c' ' dc H'0F 1B' dc c'U' ; -> on du RAMdisk.' dc H'0D 00' Line7 dc c'Un red{marrage @ froid' dc H' 0D 00' Line8 dc c'validera la configuration' dc H'0D 00' Line9 dc c'fix{e au tableau de bord.' dc H'0D 00' Line22 d0D 00' Line4 dc c'Z' dc c'LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL' dc c'_' dc H'00' ; Pas de CR !!! Line5 dc c'Cet accessoire permet' dc H'0D 00' Line6 dc c'la destructi Line3 dc c'Z' dc H'18 0E' dc c' ATTENTION ' dc H'0F' ; INVERSE dc c' ' dc H'1B' ; Icone dc c'_' dc H'rmal dc c' Yvan KOENIG ' dc H'0F 1B' ; Mode Icone dc c'_' dc H'0D 00' Line2 dc c'Z' dc c'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' dc c'_' dc H'0D 00' ; Mode Icone dc c'Z' dc H'18 0E' ; Mode Texte dc c' Birth of the Cool ' dc H'0F' ; Inverse dc c' ' dc H'0E' ; NoLP PLY PLX RTS longa on longi on **************************************************************** Line0 dc c' ______________________________________' dc H'0D 00' Line1 dc H'0F 1B'  "  "  "0* " Z "; _ "  "  "   " 0 " L " d "  " ;0  ɛ!ɍɕɈʆ۠pourtant vieux de pr}s de trois mois je ne suis pas en mesure de garantir que le MMBootinit commencera toujours de la m^eme fa\on. Il y a d'ailleurs d{j@ un cas d{viant. Lorsque l'on d{marre sous P16 avec la vieille ROM (pr{c{pitez vous pour la remplacer n du changement de ROM mais \a nous pend au nez. J'ai donc choisi de r{cup{rer son adresse dans le code m^eme de l'outil en question, en respectant scrupuleusement les proc{dures d'approche r{glementaires. Rich WILLIAMS n'ayant pas r{pondu @ mon courrier EEZER.CDA. Lors du d{marrage, la fonction MMBootInit du Memory Manager s'oriente vers un d{marrage @ froid ou @ chaud en fonction du contenu d'un octet. Comme @ peu pr}s tout ce qui est dans le GS cet octet peut se promener. Il ne l'a pas fait @ l'occasioaire subir pour cause de configuration inad{quate du RAMdisk. Vous avez en effet remarqu{ que la s{lection effectu{e au tableau de bord ne prend effet qu'apr}s la s{quence susdite. Apr}s FREEZER qui venait @ votre secours sous ProDOS8 voil@ comme promis FRUne exclusivit{ Tremplin MICRO: FREEZER Vous poss{dez un GS tout frais (c'est donc que vous ne l'utilisez gu}re) et vous vous inqui{tez, @ juste titre du devenir de la carte m}re @ la suite des op{rations 'extinction'allumage' que vous devez lui f8< % +.1>ADGQT0W0adLgLqtdwd;2  "%3: Esc OK: M LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL Red{marrage: @ froid  chaud Dk.==ff \\\\_ Z ATTENTION  _ ZLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL_Cet accessoire permet la destruction du RAMdisk. Un red{marrage @ froid validera la configuration fix{e au tableau de bord.  Choix: H U AnnulerHHHHZ$"zh(((`0HHHHHZ$"zh(((`Z0"h,( "h0  0Hh(z` ______________________________________ Z Birth of the Cool   Yvan KOENIG _ Z\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\0 " " "hhhhk 20) " "( "0  ` )0 "hh00`000(0$(`0%0HHHHHZ"$"zh(((`0Hpar la nouvelle) les outils en ROM sont largement patch{s et le code MMBootinit est remplac{ par un simple RTL. C'est pourquoi j'ai {t{ amen{ @ introduire une identification de ROM provoquant un traitement 'en force' dans le cas de la ROM.00. J'esp}re que les commentaires du source vous permettront de comprendre le fonctionnement de FREEZER.CDA. Si vous avez la disquette TM19, vous pouvez sauter directement @ la rubrique UTILISATION. Pour les autres, il est bien entendu possible d'effectuer une saisie d/ ,@ /Birth of the Cool.KHHH "HHH "HH " " " " " " "  = " f "  Cool' est un clin d'oeil en hommage au nouveau docteur honoris causa de PARIS 10, @ savoir: MILES DAVIS. afin de permettre {ventuellement de changer d'avis et de r{tablir le mode '@ chaud' si vous aviez un remords de derni}re minute. Seule la commande Pomme-Ctrl-Reset est irr{versible. A l'intention de ceux qui n'auraient pas compris, le titre 'Birth of the'd{marrage @ froid' et quittez le tableau de bord. Taper Pomme-Ctrl-Reset provoquera un red{marrage @ froid qui bien entendu d{truira le contenu {ventuel du RAMdisk et validera vos s{lections. Le processus peu sembler 'longuet' mais c'est fait d{lib{r{menttte de d{marrage. En cas de besoin, pour reconfigurer le disque virtuel ou pour changer de p{riph{rique, passez par le tableau de bord. Effectuez les s{lections d{sir{es (taille RAMdisk par exemple) puis appelez 'Birth of the Cool' et s{lectionnez le mode hier sous le nom d{finitif car APW cr{e un fichier de travail xxx.ROOT ce qui limite la longueur du titre de cr{ation @ 10 caract}res. ----------- UTILISATION ----------- Implantez FREEZER.CDA dans le directory /xxx/SYSTEM/DESK.ACCS de votre (vos) disque les d{sactiver par -E ou -T. Il existe d'autres param}tres mais \a suffira pour aujourd'hui. Il reste encore @ taper, depuis le SHELL: FILETYPE FREEZER CDA puis RENAME FREEZER FREEZER.CDA Il ne m'a pas {t{ possible de cr{er directement le ficlle qu'en soit la nature) +E vous renverra alors directement en mode {diteur @ l'emplacement de l'erreur. Inutile de r{p{ter ces param}tres @ chaque tentative, elles sont m{moris{es (jusqu'@ ce que vous quittiez APW). Il est cependant possible deire g{n{rer le fichier Macros par APW soi-m^eme. Faites ensuite ASML +E +T FREEZER.SRC pour effectuer l'assemblage et le 'linkage'. Les param}tres employ{s sont bien agr{ables. +T provoquera un arr}t de l'assemblage en cas d'erreur (quere autres une pr{sentation d' APW et de l'assembleur associ{. Il faut effectuer la saisie du source imprim{ \i-apr}s, sauver sous le titre FREEZER.SRC. Ensuite, depuis le SHELL tapez: MACGEN FREEZER.SRC FREEZER.MACROS 2/AINCLUDE/M16= afin de fable de les mettre sur la disquette. Pour ceux qui ne maitrisent pas APW (ou qui ont acquis pour environ 150 francs chez DDA les seules disquettes APW, APW.U et DEBUGGER) je rappelle que les Clefs pour APPLE //GS, malgr{ quelques coquilles, contiennent entmais ATTENTION, MERLIN816 respecte les contraintes du LOADER P16 mais ne le fait pas exactement comme APW. De ce fait les fichiers g{n{r{s par ces assembleurs ne sont pas identiques. J'envoie les deux versions @ Tremplin mais je ne sais pas s'il sera possioler votre saisie. Lorsque tout sera d'aplomb, faites: BLOAD FRIZ CREATE FREEZER.CDA,T$B9 BSAVE FREEZER.CDA,A$2000,E$27FF,T$B9 Ceux qui ont fait l'acquisition de MERLIN 816 devront pratiquer quelques modifications de d{tail au fichier Source irecte du code HEXA mais les caract{ristiques du syst}me P16 compliquent les choses. Je conseille d'effectuer la saisie en commen\ant en $2000, de sauver en mode BIN par BSAVE FRIZ,A$2000,E$27FF Il vous sera alors possible d'utiliser SIGNATURE pour contr^ "  "  "0* " Z "; _ "  "  "   " 0 " L " d "  " ;0  ɛ!ɍɕɈʆ۠ldy #&addr2 pullword &addr1,y ldy #&addr2+2 pullword &addr1,y MEND MACRO &lab pullword &SYSOPR &lab ANOP pla AIF C:&SYSOPR=0,.end sta &SYSOPR .end MEND MACRO &lab pushlong &addr,&offset &lab ANOP LCLC &C LCLC &REST &C AMID &addr,1,1 AIF "&C"="&lab ANOP AIF C:&addr1=0,.a AIF C:&addr2=0,.b LCLC &C &C AMID &addr1,1,1 AIF "&C"="[",.zeropage pullword &addr1 sta &addr2 pullword &addr1+2 sta &addr2+2 MEXIT .a pullword pullword MEXIT .b pullword &addr1 pullword &addr1+2 MEXIT .zeropage ls &lab ldx #$0A0C jsl $E10000 MEND MACRO &lab _SetOutputDevice &lab ldx #$100C jsl $E10000 MEND MACRO &lab _WriteChar &lab ldx #$180C jsl $E10000 MEND MACRO &lab _WriteCString &lab ldx #$200C jsl $E10000 MEND MACRO &lab pulllong &addr1,&addr2 OutputDevice &lab ldx #$130C jsl $E10000 MEND MACRO &lab _InitTextDev &lab ldx #$150C jsl $E10000 MEND MACRO &lab _SetInGlobals &lab ldx #$090C jsl $E10000 MEND MACRO &lab _SetInputDevice &lab ldx #$0F0C jsl $E10000 MEND MACRO &lab _SetOutGloba MACRO &lab _GetFuncPtr &lab ldx #$0B01 jsl $E10000 MEND MACRO &lab _FWEntry &lab ldx #$2403 jsl $E10000 MEND MACRO &lab _GetInputDevice &lab ldx #$120C jsl $E10000 MEND MACRO &lab _GetOutGlobals &lab ldx #$0D0C jsl $E10000 MEND MACRO &lab _Get8< % +.1>ADGQT0W0adLgLqtdwd;2  "%3: Esc OK: M LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL Red{marrage: @ froid  chaud Dk.==ff \\\\_ Z ATTENTION  _ ZLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL_Cet accessoire permet la destruction du RAMdisk. Un red{marrage @ froid validera la configuration fix{e au tableau de bord.  Choix: H U AnnulerHHHHZ$"zh(((`0HHHHHZ$"zh(((`Z0"h,( "h0  0Hh(z` ______________________________________ Z Birth of the Cool   Yvan KOENIG _ Z\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\0 " " "hhhhk 20) " "( "0  ` )0 "hh00`000(0$(`0%0HHHHHZ"$"zh(((`0H#",.immediate AIF "&C"="[",.zeropage AIF C:&offset=0,.nooffset AIF "&offset"="s",.stack pushword &addr+2,&offset pushword &addr,&offset MEXIT .nooffset pushword &addr+2 pushword &addr MEXIT .immediate &REST AMID &addr,2,L:&addr-1 dc I1'$F4',I2'(&REST)|-16' dc I1'$F4',I2'&REST' MEXIT .stack pushword &addr+2,s pushword &addr+2,s MEXIT .zeropage ldy #&offset+2 pushword &addr,y ldy #&offset pushword &addr,y MEND MACRO &lab pushword &SYSOPR &lab ANOP AIF C:&SYSOPR=0,.b LCLC &C &C AMID "&SYZ ATTENTION  _ ZLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL_Cet accessoire permet la destruction du RAMdisk. Un red{marrage @ froid validera la configuration fix{e au tableau de bord.  Choix: H U Annuler: Esc zh(((`Z0"h,(  "h 0 0Hh(z` ______________________________________ Z Birth of the Cool   Yvan KOENIG _ Z\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\_  "0 s |` Ș)0 "hh00`000(0$(`0%0HHHHHZ"$"zh(((`0HHHHHZ$"zh(((`0HHHHHZ$"e " !0  Mɛ!ɍɕɈʆ۠0 " " "hhhhk  0) " "( " s " | f " f " f22 " fJJ " feL " m~~ " m " m "0* " mZ "; s _ " f ,@ RealStartzKHHH "HHH "HH " " " " " " " | m## " mLe Cool RealStartAnRTL%BASLG(Birth of the Cool RealStartAnRTL%BASLG(Birth of the Cool RealStartAnRTL%BASLG(Birth of the Cool RealStartAnRTL%BASLG(Birth of th,> DAStartTopG FirstGPTR1GStateGPTR2GCHG$CVG%BASLG(Birth of the Cool RealStartAnRTL%BASLG(Birth of thMACRO &lab shortm &lab ANOP sep #%00100000 longa off MEND MACRO &lab _GetNextEvent &lab ldx #$0A06 jsl $E10000 MEND MACRO &lab _EMStatus &lab ldx #$0606 jsl $E10000 MEND ab str &string &lab dc i1'L:&string',C'&string' MEND MACRO &lab long &lab ANOP rep #%00110000 longa on longi on MEND MACRO &lab longm &lab ANOP rep #%00100000 longa on MEND MACRO &lab short &lab ANOP sep #%00110000 longa off longi off MEND SOPR",1,1 AIF ("&C"="#").AND.(S:LONGA),.immediate lda &SYSOPR pha MEXIT .b pha MEXIT .immediate LCLC &REST LCLA &BL &BL ASEARCH "&SYSOPR"," ",1 AIF &BL>0,.a &BL SETA L:&SYSOPR+1 .a &REST AMID "&SYSOPR",2,&BL-2 dc I1'$F4',I2'&REST' MEND MACRO &l OK: M LLLLLLLLLLLLLLLLLLLLLLLLLL9LLLLLLLLLLLL Red{marrage: @ froid  chaud DAnRTLNkL Red{marrage: @ froid  chaud DAnRTLNkL Red{marrage: @ froid  chaud DAnRTLNkL Red{marragMERLINuHUSTON!Z' S 'FREEZ.CMD.SZ0$)FREEZER.SjZ1, .FREEZ.MACROS.SyZ )FREEZ.CDA.Z0%)FREEZER.LZ/0%占ҠҠ砣嵍獍Ҡ砣嶍獍Ҡ砣巍獍Ҡ砣帍獍Ҡ砣幍獍ҠҠƠߧ󠻍Ҡ砣岲砠卍Ҡ砣岳占獍獍Ҡ砣岍獍Ҡ砣峍獍Ҡ砣崍獍؍؍ɠ؍čҠڧ堠卍䠣占䠣占ҠҠ砣對獍Ҡ砣屍􍍠䠣Ơ렠č䠣렠ҍ󠠻卍䠣砣堠􍍠䠣砣 獍ɠ堸ɠɠɠ占占󍍠䠣Ơ렠č䠣렠ҍ󠠻媪 짍̍䍍 ˠ占 ڮӍԠ΍РƍұҲȠ̠֠ààؠ  Ү ٮ ̍ˠҮ̍Š֠ڮ ڮč ڮč ҮӍǠҠ͠ҮӍˠҮ̍Р¹􍍠Р堻堸Ҡ􍪍堸Ҡٍ Р«堿ѠРīҠѠ占ؠ占РѠ占РŠؠѠؠÍؠؽƍàؠ占卍堻٠占ҲݬٍР獠󠠻堠 ٍ̠Űð٠Ѝٍ؍Ӎ ؠ 尠㠧 ߧĬΠ ŠРѠčР堿Š΍ĠРǠ占 獠ٍԠР٠Űð󠠻ѠԠ 捺Π䠣 䠣Ԡ砣ƍѠ占Ӎ ؠ Ԯî ΍٠؍ٍЍР獠䠣占Ӎ䠻ЍР獍؍ٍ䠣űƍӠ٠͠퍠ؠ獍ЍЍР؍ЍЍР占ӍЍР獍؍ٍ䠣čԠٍ؍ЍЍРȍР占Ӎ РР֍Р獍؍ٍ䠣ò ٍ󠻍ЍРР Р Р РРٍұݬٍҲР ج ٠Ҳݬٍ占Р獠ӍͰР獠ű堰űōҲŠ űō͍䠣첍򠠻򭱠鍠ұ ٠ᠱұݬ٠Ҳ ؠ Ҡ䠻٠ĠƠѠͰ砣占䠣獍砣占獍Р占Ѡ䍠砣荍砣獍Р􍍠ҠҠӠ堸󍍪 ؠ 堸Ҡ占Р獠占ĠƠР占Ѡ䍠砣占ߍ砣ߠû 占堻 占 ㍠̠򍍪屠Ƭ  占㠧ڧŠ 占㠧 Ơ占㠧 Š썠㠧 Ƭ  占㠧ߧĬ岠㠧ڧ㠧ܧ㠧ߧĬ峠㠧ڧō㠧 Ơō㠧  占㠧ߧĬ崠㠧ڧ㠧̧㠧ߧҠ/ ,@ /Birth of the Cool.KHHH "HHH "HH " " " " " " "  = " f " ΠƠءؠΠΠԠΠàϠݱР٠ŠРƠΠΠƠحΠƠءؠΠΠԠΠàԠƠϠݱƠحؠΠƠدؠΠƠءΠƠحΠŠƠدΠƠحΠƠح؍ݱƠدݱΠݱƠدݱΠɠàԠƠϠݱƠحΠƠدؠΠƠءΠƠحؠΠŠƠدΠƠحؠàؠݱ̠űàƠݱݱŠƠدݱΠݱΠàƠݱ䠣ݱŠݱΠݱàà젤ưàà젤àà젤àà젤àà젤àà젤àà젤Í젤à젤à젤°à젤à젤àà젤àà젤İà𪪪̠ԍ̍ԠƍƬ㠧ħ 姍ŬƠŠӠǠӠΠӠŠӠƠӠ㠧̧Ŭ堻㠧 Ơ占㠧座Š썠㠧 㠧䧍ĬŠ썠㠧 㠧䧍ĬŠ 占㠧 Ƭ㠧ȧ ō㠧 Ƭ㠧է ō㠧 ˺ Ƭ㠧ͧ ҍĬ 卍岳嵠㠧 Ĭ嶠㠧 뮧Ĭ巠㠧 䧍Ĭ帠㠧 Ĭ幠㠧 䮧Ĭ岲 "  "  "0* " Z "; _ "  "  "   " 0 " L " d "  " ;0  ɛ!ɍɕɈʆ۠LLLLLLLLLLLLLLLLLLLLLLL_Cet accessoire permet la destruction du RAMdisk. Un red{marrage @ froid validera la configuration fix{e au tableau de bord.  Choix: H U Annuler: Esc OK: M LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL Red{marrag( "h0 0Hh(z` ______________________________________ Z Birth of the Cool   Yvan KOENIG _ Z\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\_ Z ATTENTION  _ ZLLLLLLLLLLLLLLL " "( "0 ` ҂)0 "hh00`000(0$(`0%0HHHHHZ"$"zh(((`0HHHHHZ$"zh(((`0HHHHHZ$"zh(((`Z0"h,"; _ " " ˄ "  " 0 " L " d "  " ;0 ɛ!ɍɕɈʆ۠0 " " "hhhhk 20)Birth of the Cool.KHHH "HHH "HH " " " " " " " = " f " " ƒ " "0* " Z ==.;wdtdqgLdLaW0T0QGDA>1.+ ff: Esc OK: M LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL Red{marrage: @ froid  chaud Dk%  <83%"  2\\\\_ Z ATTENTION  _ ZLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL_Cet accessoire permet la destruction du RAMdisk. Un red{marrage @ froid validera la configuration fix{e au tableau de bord.  Choix: H U AnnulerHHHHZ$"zh(((`0HHHHHZ$"zh(((`Z0"h,( "h0  0Hh(z` ______________________________________ Z Birth of the Cool   Yvan KOENIG _ Z\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\0 " " "hhhhk 20) " "( "0  ` )0 "hh00`000(0$(`0%0HHHHHZ"$"zh(((`0He: @ froid  chaud Dk//.===fffИƒ К+.˄1ˏ>ADGQT00W0adLLgLqtddwd;叙2  "%38< % GDAStartIRealStartEAnRTL.d::D$(4):D$"PR#3":'n280@xI768868:R:I,R:32,88,252,169,16,133,7,24,109,201,190,133,9,173,200,190,133,8,169,0,133,6,168,145,8,133,8,133,9,160,0,177,6,240,65,9,128,192,0,208,22,230,8,208,2,230,9,166,8,72,165 9,90,32,36,237,122Z DE FACE ET PRESSEZ UNE TOUCHE ";:R$:: US$=FR$:REM sortie US$ uniquement pour d{mo 65272 DO:PV%=INSTR(FR$,",") 65273 WHILE PV%:SUB$(FR$,PV%)=" " 65274 UNTIL 65275 DO:PV%=INSTR(FR$,".") 65276 WHILE PV%:SUB$(FR$,PV%)="," 65277 UNTIL 65278 CLOSE#29 65279 END PROC 65263 REM---------------------- F$=format, N=nombre 65264 DEF PROC French(F$,N) 65265 REM---------------------- sortie FR$ 65266 LOCAL PV% 65267 OPEN ".MEMBUFR", AS#29 65268 PRINT#29 65269 PRINT#29 USING F$;N 65270 INPUT#29;FR$ 65271 %".MEMBUFR",ߓ###߃F$;N #;FR$1US$=FR$: sortie US$ uniquement pour d{mo:PV%=FR$,",")PV%:FR$,PV%)=" ":PV%=FR$,".")PV%:FR$,PV%)=","#ވ<;"Format am{ricain",US$,NB$#߃<;"Format fran\ais",FR$,NB$ NB=-*NB "F$= "F$,"N= "N,"PV%= ";PV%1---------------------- F$=format, N=nombre͈French(F$,N)1---------------------- sortie FR$PV * French Using(=2FORMAT$="++7&.2Z"< 20R , 20A ,20AFNB=1234.53KF$="FfFf":N=:PV%=Y L"F$= "F$,"N= "N,"PV%= ";PV% PI%=߁ZFrench(FORMAT$,NB) dNB$=߻NB) n߃<;"#","format{","normal"$x߃FRENCHuHUSTON!Z' U'+FRENCH.UPROZFRENCHU.PROCZ FR.USING.TXT*ZZ,162,4,142,123,5,104,32,237,253,201,141,240,6,200,192,80,144,212,136,152,101,6,133,6,144,2,230,7,44,0,192,16,251,44,16,192,173,0,192,201,27,208,185,96 ::D$"PREFIX/T19/GS":D$"CATALOG" :21:"FICHIER A LIRE: ";T$:T$""210 22:"TYPE (TXT,$ ! ! outrec=80 ! ! close #29 ! ! type {2} ! ------------------------------------------ ! ! load {1} ! ! open {2}, filtyp=TXT for output as #29 ! ! outrec=0 : indent =2 ! ! output #29 : list : output #0 -------------------------------- ! CAPTURE2 ! !------------------------------------------------------------! ! REM exec CAPTURE2,"GSBfile,TXTfile ! ! home ! -------------------------------------------------------------- .ff Une variante permet de sp{cifier le nom du programme GSBasic @ charger et le nom du fichier TXT @ cr{er dans une seule commande. ------------------------------ ! ! output #29 : list : output #0 ! ! outrec=80 ! ! close #29 ! ! type {1} -----------------------------------! ! REM exec CAPTURE,"TXTfile ! ! home ! ! open {1}, filtyp=TXT for output as #29 ! ! outrec=0 : indent =2 out GSB', personnellement j'ai eu recours au bon vieil APPLEWRITER qui me donne toujours satisfaction. -------------------------------------------------------------- ! CAPTURE ! !-------------------------amme GSB sous forme de fichier texte je vous propose le fichier EXEC CAPTURE. La commande directe EXEC CAPTURE,"PATHNAME listera dans le fichier TXT PATHNAME le programme GSBasic en m{moire. Pour cr{er ces fichier EXEC, Schwarz vous donnera une formule 'tlignes de la proc{dure en regroupant des instructions. Si je ne l'ai pas fait, malgr{ mon go^ut pour les programmes compacts, c'est @ cause d'un bug dans la routine d'indentation de la version actuelle du GSBASIC. Afin de faciliter la capture d'un progret de les 'capturer' dans un fichier TXT (FRENCHU.PROC par exemple). A l'avenir, chaque fois que vous aurez besoin d'ins{rer cette proc{dure dans un programme, il vous suffira de taper: EXEC FRENCHU.PROC Il serait possible de r{duire le nombre de la formule 'proc{dure' dont l'appel s'ex{cute plus rapidement que celui d'une routine. En outre le recours @ DO_WHILE_UNTIL m'a permis d'exclure de la 'proc{dure' tout GOTO / GOSUB. Il serait judicieux de commencer par saisir les lignes de la proc{dure /T19":D$"RUN STARTUP"( R$"F"ė:1 210 ER(222):ER8ė:22::" GLISSEZ UNE DISQUETTE PRODOS DANS LE SLOT ";S$;" DRIVE ";DR$;: "" ERREUR ";ER;" - TOUCHE SVP ";:R$::216,0:150B0...): ";TY$:TY$""160. T$T$",T"TY$K D$"BLOAD ";T$;",A$1000"T 768 22:"":958:24:"(R)ELECTURE (A)UTRE FICHIER (M)ENU DE DISQUETTE (F)IN ";:R$:"" (R$)82R$((R$)32) R$"R"200 R$"A"150 R$"M"ĺD$"PREFIX-------------------- Enfin, pour simplifier l'ex{cution des listages papier je vous propose PAPLIST, PAPLYST et PAPTYPE. -------------------------------------------------------------- ! PAPLIST ! !------------------------------------------------------------! ! REM exec PAPLIST ! ! home ! ! open ".PRINTER", as #1 ! ! output #1 pression possible par le port s{rie du GS.tent continuer @ utiliser ce programme peuvent contacter le support technique APPLE qui pourra leur fournir un ensemble de patches YK permettant entre autres: recopie d'images HGR ou DHGR, pr{sence de 3 fontes personnalis{es en m{moire et, bien entendu, im US$ uniquement pour d{mo 65272 DO:PV%=INSTR(FR$,",") 65273 WHILE PV%:SUB$(FR$,PV%)=" " 65274 UNTIL 65275 DO:PV%=INSTR(FR$,".") 65276 WHILE PV%:SUB$(FR$,PV%)="," 65277 UNTIL 65278 CLOSE#29 65279 END PROC PS. J'ai cit{ APPLEWRITER, ceux qui souhai---------- F$=format, N=nombre 65264 DEF PROC French(F$,N) 65265 REM---------------------- sortie FR$ 65266 LOCAL PV% 65267 OPEN ".MEMBUFR", AS#29 65268 PRINT#29 65269 PRINT#29 USING F$;N 65270 INPUT#29;FR$ 65271 US$=FR$:REM sortieRINT USING 60;"#","format{","normal" 120 PRINT USING 60;"Format am{ricain",US$,NB$ 130 PRINT USING 60;"Format fran\ais",FR$,NB$ 140 NB=-PI*NB 150 NEXT 200 PRINT 210 PRINT "F$= "F$,"N= "N,"PV%= ";PV% 900 END 65263 REM------------ HOME 40 SHOWDIGITS=9 50 FORMAT$="++7&.2Z" 60 IMAGE 20R , 20A ,20A 70 NB=1234.53 75 F$="FfFf":N=789:PV%=345 76 PRINT "F$= "F$,"N= "N,"PV%= ";PV% 80 FOR I%=0 TO 1 90 PROC French(FORMAT$,NB) 100 NB$=STR$(NB) 110 Pssign ".PRINTER",1 ! ------------------------ Si vous oubliez la syntaxe d'appel, pas de probl}me, un simple TYPE execCmd affichera le contenu du fichier EXEC sur l'{cran. Yvan KOENIG 12 D{cembre 87 .FF 10 REM * French Using 20 REM 30-- ! CONFIGIMP ! @ ex{cuter avant la 1}re impression !----------------------! afin de supprimer l'ajout ! REM exec CONFIGIMP ! syst{matique d'un LineFeed ! home ! apr}s chaque CarriageReturn ! assign ".PRINTER",-1 ! ! aas #1 ! ! output #1 : type {1} ! ! close #1 ! -------------------------------------------------------------- ---------------------- PAPTYPE ! !------------------------------------------------------------! ! REM exec PAPTYPE,"TXTfile ! ! home ! ! open ".PRINTER", : list {1} ! ! close #1 ! -------------------------------------------------------------- -------------------------------------------------------------- ! PAPLYST ! !------------------------------------------------------------! ! REM exec PAPLYST,"lignDeb-lignFin ("1- liste prog complet ! home ! open ".PRINTER", as #1 ! ! output #1 : list ! ! close #1 ! -------------------------------------------------------------- -------------------------------------------------------------- !