8L2C)pJJJJ IH(ȱH:=IH[H`@HcH  $ +   I/H`JLNGȄBȄF aK  haaFF  mJm# KKJ UJ )J ۈ) ;J3ȱJFȱJGJKaȄM  aaNNJFLGJL LDCOP SHAPESe DATAh LOGm AMPER SOU LAM T16' PRODOS: BASIC.SYSTEM&( STARTUP:!DATE;!$MENU= !CALCD? &PRODOS `DaElH$?EGvѶK+`L HHLy XP LM ŠϠĠӠS)*+,+`F)) (*=GJFjJJA QE'+ '== `@ STSP8QSS8 m P o R(8R@~@}J@` ߩ%S @ ~`E hhhߺ0 h ߐ# ߐ ߐ ߐ 0 HϭߍLпllllhh8` QSTV،h@ihAiȱ@JJJJq@)@evȱ@Hȱ@Ah@@cee J) LxL LxJiB LxJ) GxNhHHHHL(  ްƠx@BEOD  ް(`( C)CJJJlBJ,~آ <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  @`bLJCAB@=?,<ʆ>*=?BC8 é&'112`݁(݉(`}(`e`H)hJJ?(0JJ)` (< ( < *? ( < (? ( < (? ( <*? * **? *? *? ( < *? ( <((ȱ( Y'( ' f'L&`L' 'L' Y' L& Y'L'8ei` ,$`ee` `( '( (` *( ' (`hh8`8`(l&j"L  <8# ȱ)ɀ  )t& ` (Xp< @t& )mt&t&.t&w& Mt&i  ``rȱȱȱȱ0]cȱeem(ȱ(ȱ((ȱԠŠҬîʎ1DžϠl&8f ZHH)hh8JhJJJJJ j&Hk&8H) 12 (j21 h!hH h %)Ђ12H)M0 h10200I20h2 |&`L($_뿩 8!@8` MNЩUMܩ  L 5   8 0 8 `0 / x X$$%&%0`ŠӠЭ[ V7 c L '0%O '8O JmO * ʈ0  0ŠϠĠ͢Š͠͠ϠŠŠϠĠخ͠ ͍B B(8`;YYZLYLYLY"7"Y"/"ll"*# HQ$WON!-PB}OBiB ,m# m# J Qڨ)̰n]e мȱ ; ̀𩠙< iO P F V >Z SY ɘL` X _ 'P0ōҍJJJJ ɺi) ɺiLD )?      `l@Hȱ@IױHXATȱH ɯȩ׍̞5H)/@a)_ .0 :A[8@`,뎞׮Б` L` @>_)I38Ypqם`K8`@Nȱ@O@ IiNȽבN)/ȩ/N`@[ WHJjjjhA <'KI؍_JJJJح}) ) )в|J8` GpF $ ᭔ع+ؠ HH  Jh8` 䮑ٽ ٬ؠ@` ( X )8`)i пJGBJ a FإG`BH aFإG`H hHB؅F  ؅GxDE؍00C ް(`(8` L7J  G"L H  G 9ؙ` @ P8`B8` X؈ ;JHIH ILFFHGI ѭJjHIH;7IؙJJ g3HIHILJKJK`FHIG ( Ȣ؝؈JL)eKM`)` J Jͫ $0 ΚJFJL8`0C ް(`(8`ؑ@`M8`8@ؐʈI묒)8 L LةC8`؍)@ i)8zJ _ ؅F L) +&J(b ;FإGؐ/8`*J۩ ٰ`JJJJi LdH8`ͦ ٍ0  ` `ٍyٍiB0H0FG h0`שB5xED "8`  `ٽJJJJ`H͜hn)NjNjNjN. dH͜ ;٭ *Nۙ۰ڙک `Z8` d# B` . . .8۰0٭)ܝ٭*ܝ٥F٥G٭'ܝ٭(ܝ`) 8ʈ` )0ٝ)i `8`R "ꍜ NمFمG < Μ0 FGL鮑0 ٭٭ٽ8`H8`  ,0 d01 E8`100 v$0ʩGF 밽 谸 谳`12)1`0`Ȏi 0U`)8`θ` )W G JA)H ܝʈh٭ )ȱHθ`Κ8QeHI SBF0Y ٙWٙUFZSʈ {猺`8m0`,0H hi L荸Ƚθhٍ0GF8yאFG  `* ΙQ8`5IF܅G 됾`\܍]^ {8D`F` tlH)HFȍZHG[ $%܍&܍!ܢ8* J8` L ܝJ)I 'ܝF`R8i^F\G]`R5IH3H (  밯ZF[G 밠S%܈P" X)Im'܅F(܅G)܍^*܍Q 4 䭐 $H %HFFHGHG 됨`R8`)` QH_` :R(5IHH__Ѝ_@`8 e ͙_ʈ@}ȱ@oȱ@y{|rZ[_)7_I0ܢܽ \'Q*ܩu 7pqFG (ST L܅I^ mQIH` } }Y0\F]G Q_HZF[G` G8`F@ 0 e LK8`F GI8`FHGH hGhF܌ բFܽܕF芝ܝ 밶FFGG H܅I mIIHHyHȘI Lܝ` @o@ w@Ю׍_)m0JHi 뎑`C8` @ 3N@) d莽 ⭺i`0 v0GF #0 W,0 ).H hȑNWȮّNW8`ٍّNθ0NN` H h)N$% LL L L H  :pJ덯 )@፲NJOK HiKKήή IJί JФ̭JjHFIH HIGxKE ް((H hH h8`8@ȭ@LH쬒8NNO 8 ؍JL`RήʱLN.MOMEKP/MEKήLML-M O,p莭eNNO(`JNKOL H/  :P L8 gؑJ`L@ȱ@LL`BLLޢޢޢޢޢޢޢޢޢޢޢޢޢޢޢCOPR. APPLE,1983LM Mh@8nЍLޭ 0J @,,L:,L@   !"#$Ԡ͠ˠĠԠhhhhILhH),dx8 (8`@Ae f!55s+aIJK,-NOPQRSuHUSTON!' J5 s9X(K sXXK تKo`V8`no` < on sI9XX`)HJJJh`OeNeO࿰ s9XАO`@ȭ@` ON YNJKO`HHHHх܅F݅G ` ͬ 밽܅F݅G ` * % L`FGL 4܍ݍ8`FHGH 4ܙhGhF`@Bɼ>K@yٙ٩`O dIpFqG :%&N  # 4܅F܅G `J HH hh` 0 @ L\L# [Tܝ ݝ0ȩFG  0` רם__)׍_pFqG 밍 hPם8`;Zx3QTTSRWVUHEVhEhH)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Ӧ>` Ր+>YL 8!9 詍` "  à4"/pŠϠŠà͠ӠàԠŬ%JJH !h穖tp% ;"Z/݀>">"' 1" 7"5).莀/ ;" " 6" >" 1"6"$ "g"" !"""""IzLLG ASTARTUP$#   / XXύX?klmnÍoL) "6L'?"(0`6708" = ***)< &@DEF   %LҠؠӠ΢ϠԩҠŠƠԠԠŠӢɯϠҠůȠԠĠ ƠϠ ɘɉ ɈL :Lɍ)ې)ɮ۰ɺH h 'ĝL  LL L)'L L L'L  (L(L $ʩ $$ $L `ީ % XʩXύX X A %  % ɍNH hɛɘɉɈ $ Lc :Lcې)ɮ۰ɺ'Ɲ Lc  : X i % $ɛ$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| H06172839h` v97L75v^a ?/( va?LLLɍ$?`?a ɍɥAH93827160hH46576879h`,C bL ɍ b w,S0 @ lLޭB 鸍긍$I2 U)VJ зT)`l8`a HbIJhjǾȾɾ p٭b=aSL/id /`H) hJJJJ ɺi` M  ` ת.8 `O`S  AI-L9 ᪰B C VW>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 Eо VV :$ZA@L8 `u-U -W b WW)JJ :T$K \0IDK : :5K 0.)K :쭼󬮼XK`L9L^ :K mY ܩ 8jK` J,, ( 5̪ ` J, ̪ ` J, `)a)_ͩ`0:8 `)H"H ת תh}I תhm8`0 :AG8 `) ת `..`SI-SRRX)sƬƀ#(ZZV4G_0=( A P FjL\5p-e9ABSAVERIFYBLOADELETEBYECATALOGOPENWRITEXECREATEFRESTORENAMEBRUNLOCKCHAIN#FLUSHREADPOSITIONOMONPR#PREFIXCLOSEAPPEND6D(!쫂8 ( 8о(־Ǿ,G 8`_`W)H־Jjjjh p̭ fLᶢǾ ת..8 ۭ (8mȾȾmɾɾʾiʾ` Lpl8l:/,s`\"׾پӾؾھ pD`־ǾY׾ؾOW)ݩȾɾʾ pD`8`W)CB) 5W) =)W)@! pZ}ȾȾ󰹩 p` ־ǾҾ,G 8`׾ؾ f p vۥs׾tؾE` `޾Lp h־Ҿ,G0^W)TP) ecfdپھ׾ؾӾ p$c d pccddީ 8`ȾɾʾNfne}ȾȾI>Ie f`8` P־ǾҾ,G0C f=W)_`:_`蹀:`V)8`MN; b;`;C b N8` G)̀#:蹀:`V)R ޾,N0MHhHh p' L,N HCNh`M`M N N `9V) ` V) ޾ p`  (8` 8`8`(W)`_V)Ij!؍Í`_ FjЭW)`_ Ͼ pH Lh8`jGMоM  G)p pY)ικ`lP *,N!ǾȾɾʾ pǾ~H h8`8`,C  8` ȾɾM$ mHݓǾ phϾ pH Lh8`Ͼо־ǾҾ_` 볩Ӿ pW) "LEC`C )莼 з l6 7= /& /8Hh /` 6Y׾ؾ+پھ p|پɾʾ`HV)jh츾$-#Ͼ p о־޾Ǿ` 8` 8`ɾ)ɾ̸ ɾɾ0miȾ ;τ<:: <`:8` e eվ'OV)Jj зf Ja l + ѱ:ji Ĥ Ƀ B ,  簰 ` l])Y 񩢍`Ⱦɾ0Ǿ p1׾ؾ  p p ٷ H rh(`׾ؾ` : ߭׾t8퍼mؾŰ펼t폼 L28` ˌھپLp k V)@W0!XY X6Y7` YX`X:Y) F з8` # `l׾ XYW0V)4W׾ؾ_`)0%I0)3]8X^YȰ8` 8` p Ⱦɾʾ8`پھW)@%ZȾ pSԩ p`S pLjÍ FN I 9 : ׾hؾ  p hgͺ칾`LٷV)jC mMjà Lp `VJJ°L9Lp з)< L з L緭W)8VJưϥ3 켼 `F`4W)ɐ/XYjV  kimljn` pg׾mȾXhؾmɾYtѮȾɾ aYX`8g@I5gN Oz @n[Dz @nd0,~z @`$仫@v$⩔,C[B?I>孓`仫6VtCicQĿUKqtVt N540" 23:D$"PREFIX"P$(VDS)3 34,0:35,24K 23:D$"-"B$(VDS)p "PAGE INFOS GENERALES,INFOS,/TMA| '" ",, ," 2 - EN TOUTE FRANCHISE",LIRE,T16 1" 3 - UNE CALCULATRICE",JR86,/T16/CALC 613 - C TRES SIMPLE,LC,T16 ;17 - TABLES DVND1SVD1:155 190o 35,24:34,21:22::T$;:"SELECTION -> PAGE "((A$(VDS),2))" "B$(VDS) B$(VDS)"INFOS"415 B$(VDS)"DOS"475 B$(VDS)"LC"480 B$(VDS)"LIRE"485 B$(VDS)"E1"515 B$(VDS)"E2"ODE INVERSE7 K(16384):K9ĺ:21:D$"-COMMANDE"O K6ĉ::D$"CAT":^ K128195 16368,0:V:A$(VSD):K141B$(VDS)""Ģ22:240 K136K139VV1:VDVD1:155 K149K138VV1 NSPS0VRD1VD1:SSP:160 <>?@ABCPLIN MICRO NUMERO "NU" "T$:34,2e 23:T$" UTILISEZ LES FLECHES - RETURN POUR RUN";:V::35,22q R0:S0z V: S0180 RR1:A$(R):RSP170 185 RR1:A$(R):RN180 :31:3:"FIN=CTRL-F": V:768,A$(VSD): VERS MdD$(4):D$"PREFIX/T16"(i(21)Gn:D$"PR#3":(17):G$(7)jsNU16:NUMERO DE LA DISQUETTE xI110:T$T$"----":}N34:A$(N),B$(N),P$(N):400V3:DV1:SP19:N19R1N:A$(R),B$(R),P$(R):# 1:" DISQUETTE DE TREM P% b oɮ)ȹ yɇ2JfF  eJeץ  ie`ϮϮINUTE(49042)# HEURE(49043)x DA$(JOUR)"/"(MOIS)"/"(ANNEE)" "(HEURE)":":MINUTE9220:DA$DA$"0" DA$DA$(MINUTE)" "PM$:d:::D$(4)&nD$"PREFIX,S6"Cx(49043)(49042)140f160:22:DA$:I12000::150D$"BLOAD DATE":768:D$"RUN MENU"JOUR(49040)((49040)32)32ANNEE((49041)2)MOIS((49041)ANNEE2)8((49040)32) MLLwLLL) `8` ԠŬLLʮq$6,⨁ K6, VtI=v!gNVt Vt  lg~TE FORMES,SHOWYK,/T16/SHAPESG @19 - DATA.SUITE,DATA.SUITE,/T16/DATAk E20 - DATA.S1,DATA.S1,/T16/DATA J21 - VECTEURS PRODOS D'INTERRUPTION,LIRE,/T16 O30 - LOGIQUE ELEMENTAIRE (MICROTEL),DEPART,/T16/LOG T36 - DEMO AMPERCOMMAND,DEMO.AMPERCDE,/T16/AMPER:Y46 - INTERFACE MIDI POUR APPLE,LIRE,/T16g^51 - ROUTINES D'ENTREE/SORTIE,LIRE,/T16c55 - LA SOURIS ET L'ASSEMBLEUR (IV),LIRE,/T16h60 - RENDRE LAM AU GS,SHLAM,/T16/LAMm61 - COPIE DE DISQUE 3.5 DANS GS/RAM,LIRE,/T16r" "E EQU $FC58 ; vide l'{cran TEXT ; ; ORG $6000 ; ; ; ****** PARAMETRES H$ * * trouve l'adresse et la longueur * de la chaine H$ et les stocke * en ADH,ADH+1 et LH. * * Appel par CALL 24576,H$ * JSR CHKCOM JSR PTRGET STA $19 STY $1A LDY #0 LDA ($19)EGHIJKLMNOPformule CHKCOM EQU $DEBE ; teste la virgule GETADR EQU $E752 ; FAC dans LINNUM GETBYTC EQU $E6F5 ; saute un caract}re ; et {value la formule PTRGET EQU $DFE3 ; recherche une variable PRNTAX EQU $F941 ; affiche A et X HOM; ; SP - CALCULATRICE ; OCTET1 EQU $06 ; OCTET2 EQU $07 ; RETENUE EQU $09 ; sauvegarde de la retenue LINNUM EQU $50 ; ADH EQU $FA ; LH EQU $FC ; longueur chaine H$ ADB EQU $EB LB EQU $ED ; longueur chaine B$ ; FRMNUM EQU $DD67 ; {value la CALCuHUSTON!' ''SP.CALCF .DSP.CALC.0QV`.DTABCALC.0Rp.D+CALC.COMP.0T/ 9`.D$JR86\ DĽ:D$(4):110490+:G$::2:9D$"PR#3"510::" Si vous avez {crit un programme int{ressant, aussi bien en Basic qu'en Langagemachine ou en C, n'h{sitez pas @ le proposer @ la R{daction de Tremplin Micro.": " ATTENTION! Pour q460X1: J510:"UNIQUEMENT SOUS DOS 3.3 (FACE 2)":490x510:"UNIQUEMENT AVEC LE LANGAGE C":490:G$::"LIRE L'ARTICLE DANS LA REVUE":4901:20:"ASIC ETOUR MENU ";:16368,0:X$:G$X$"B"K6:200X$"R"as PROTEGEE et il est prudent d'en faire IMMEDIATEMENT une bonne copie."::" LE NUMERO PLACE AU DEBUT DE CHAQUE LI- GNE DU MENU RENVOIE A LA PAGE CORRESPON-DANTE DE TREMPLIN MICRO.":460:130198:16368,0:16384,128,127:16368,0:XX1:X2 SENILLE 86100 CHATELLERAULT"e::" UTILISEZ LE BULLETIN DE COMMANDE DE VO-TRE DISQUETTE.":" SI VOUS POSSEDEZ UNE CARTE BLEUE, TELE-PHONEZ AU 49 93 66 66"::11::"EXPEDITION IMMEDIATE":460K:12:" Cette disquette n'est p SES PROGRAMMES ET ROUTINES DANS LE NUMERO ";::NU;::" DE ";::"TREMPLIN MICRO":#:" VOUS OBTIENDREZ FACILEMENT CE NUMERO ENLE DEMANDANT A L'ADRESSE SUIVANTE: * TREMPLIN MICRO LA PETITE MOTTE *84,234:785,32:786,237:787,253:788,200:789,196:790,96:791,144:792,244:793,32:794,251:795,218:796,96v:::11:" BONJOUR ET MERCI! "::W" CETTE DISQUETTE NE VOUS RENDRA VRAIMENTSERVICE QUE SI VOUS POUVEZ LIRE LES COM-MENTAIRES DE,,.wPAGE POUR EDITER VOTRE PROGRAMME,E1,\|PAGE L'ASSEMBLEUR EST TREMPLIN MICRO,E2,b:h:n:768,32:769,190:770,222:771,32:772,123:773,221:774,32:775,253:776,229:777,133:778,96:779,160:780,0:781,177:782,94p783,234:7,Y STA LH ; longueur INY LDA ($19),Y STA ADH ; octet bas de l'adresse INY LDA ($19),Y STA ADH+1 ; octet haut de l'adresse. RTS * ****** PARAMETRES DE B$ * * trouve l'adresse et la longueur * de la chaine B$ et les stocke * en ADB, ADB+1 et LB. * * Appel par CALL 24603,B$ * JSR CHKCOM JSR PTRGET STA $19 STY $1A LDY #0 LDA ($19),Y STA LB ; longueur INY LDA ($19),Y STA ADB ; octet bas de l'adresse INY LDA ($19),Y STA ADB+1 ; octet haut de l'adresse. RTS * ****** AND * * effectue un l'abcisse JSR FRMNUM ; JSR GETADR ; stock{e LDA LINNUM ; STA XLOW ; en XLOW LDA LINNUM+1 ; et STA XHIGH ; XHIGH JSR GETBYTC ; saisie de l'ordonn{e STX YCOOR ; YCOOR. JSR GETBYTC ; {chelle STX SCALE LDA #$06 ; intervalle = 6 STA INTE virgule JSR PTRGET ; saisie de l'adresse STA G19 ; et de la longueur STY G1A ; de la chaine. LDY #$00 STY COMPT STY YCOOR LDA (G19),Y STA LONGCHN INY LDA (G19),Y PHA INY LDA (G19),Y STA ADCHN+1 PLA STA ADCHN JSR CHKCOM ; saisie deEQU $19 G1A EQU $1A SCALE EQU $E7 ROT EQU $F9 LONGCHN EQU $FB YCOOR EQU $FC ADCHN EQU $FD INTERVAL EQU $EC * HPOSN EQU $F411 ; positionne le curseur HGR DRAW EQU $F605 ; trace la forme SHAPE EQU $F730 ; localise la forme X * PRINT JSR CHKCOM ; teste laDEY ; chaine. CPY #$FF BNE TRSF RTS * * ECRITURE HGR * * Appel par CALL 24771,chaine,x,y,{chelle * x = abcisse comprise entre 0 et 279 * y = ordonn{e comprise entre 0 et 191 * {chelle = 1,2,..... * XLOW EQU $06 XHIGH EQU $07 COMPT EQU $18 G19 5 JSR GETADR ; stocke la valeur en LINNUM LDA LINNUM+1 ; et l'affiche en LDX LINNUM ; hexa en d{but JSR PRNTAX ; de la page TEXTE LDY #3 ; transf}re TRSF LDA $400,Y ; les 4 octets AND #$7F ; en mettant le bit 7 a z{ro STA (ADH),Y ; dans la ZER LDA #$31 BCS O2 ZER LDA #$30 O2 STA (ADB),Y DEY CPY #7 BNE DB1 RTS * ****** DECIMAL -> HEXA * * Appel par CALL 24737,X * Le r{sultat est dans H$. * JSR HOME ; vide l'{cran JSR CHKCOM ; teste la virgule JSR FRMNUM ; {value l'entier <= 6553UM+1 ; analyse chaque bit BCC ZERO LDA #$31 ; code ASCII de '1' BCS O1 ZERO LDA #$30 ; code ASCII de '0' O1 STA (ADB),Y ; poke dans la chaine DEY ; bit suivant CPY #$FF BNE DB0 * LDY #15 ; meme chose DB1 ROR LINNUM ; pour l'octet bas... BCCpeut servir.... * ****** DECIMAL -> BINAIRE * * Appel par CALL 24689,X : * Le r{sultat est mis dans B$. * JSR CHKCOM ; teste la virgule JSR FRMNUM ; evalue la formule JSR GETADR ; FAC converti dans LINNUM LDY #7 ; 8 bits dans un octet DB0 ROR LINN * ****** ROR * * effectue une rotation @ droite * sur OCTET1. La retenue est * sauv{e en $09. * * Appel par POKE 6,X: CALL 24681. * LSR RETENUE ; tient compte de la retenue ROR OCTET1 ; rotation @ droite JSR SAUVRET ; sauve la retenue RTS ; elle OL * * effectue une rotation @ gauche * sur OCTET1. La retenue est * sauv{e en $09. * * Appel par POKE 6,X: CALL 24673. * LSR RETENUE ; tient compte de la retenue ROL OCTET1 ; rotation @ gauche JSR SAUVRET ; conserve la retenue RTS ; pour plus tard CALL 24654. * LSR OCTET1 JSR SAUVRET RTS * ****** SAUVE LA RETENUE * SAUVRET BCC RET0 LDA #1 ; retenue non nulle STA RETENUE ; qu'on sauve pour plus tard. BCS RET RET0 LDA #0 ; pas de retenue STA RETENUE ; on met 0 en $09. RET RTS * ****** RCTET2 STA OCTET1 RTS * ****** ASL * * effectue un d{calage @ gauche * sur OCTET1 * * Appel par POKE 6,X : CALL 24651 * ASL OCTET1 RTS * ****** LSR * * effectue un d{calage @ droite * sur OCTET1. La retenue est * sauv{e dans $09. * * Appel par POKE 6,X:OKE 6,X * POKE 7,Y * CALL 24637 * LDA OCTET1 EOR OCTET2 STA OCTET1 RTS * ****** ORA * * effectue un OU inclusif (ORA) * entre OCTET1 et OCTET2. * * Appel par POKE 6,X * POKE 7,Y * CALL 24644. * LDA OCTET1 ORA O ET logique (AND) * entre les octets OCTET1 et OCTET2. * * Appel par POKE 6,X * POKE 7,Y * CALL 24630 * LDA OCTET1 AND OCTET2 STA OCTET1 RTS * ****** EOR * * effectue un OU exclusif (EOR) * entre OCTET1 et OCTET2. * * Appel par PRVAL * MAINPRT LDY COMPT LDA (ADCHN),Y CMP #32 ; espace ? BNE A46 LDA #63 A46 CMP #46 ; un point ? BNE A69 LDA #60 A69 CMP #69 ; E ? BNE A43 LDA #59 A43 CMP #43 ; + ? BNE A45 LDA #61 A45 CMP #45 ; - ? BNE A48 LDA #62 A48 CMP #48 ; 0 ? BNE OK LDA #58 OK SEC SBC #48 TAX ; trouve la JSR SHAPE ; forme. LDA YCOOR ; positionne LDX XLOW ; le curseur HGR LDY XHIGH ; avant JSR HPOSN ; le trac{. LDA ROT JSR DRAW ; trace la forme LDY XLOW G_}_{?#cCCo"{[cCA !J(J|?<x~oz|cv"}^/}?zwc;l.A` J<(J~~~~ozoovr_{~^#|?}wj3lL~~~~G{?zkk;l._"|_Z|"{Zzo__x}|~~~~~~"{|?+{o6{/+}[[{~~~~~!6y_}?+yo6y+|Cc{A`Jo{~~~~}owp_{~^;x6xo*{[[{A J) ozoovt_;}^#|z#EH~_x{/x_._Jz_+}_jzoOSUVWXYZ~~~~~_~_{}/~"Bz+|_bxo_~~~~w6x_|?#  c` ` v`` ` v` `ݥ``8 ``~_7z_?+zo6z#|CcCA`z^o{~;|?;v~oz|cv:}-SI--5??7--5??7--5??7-m;7-MN ߛ mW-i)mW-i? mWMWM;)mWMWM;)-W-ۻi;?)-W-ۻiۻ)MW ۟i;i)-WM2BSdt /?P`p mJiJi?)-SI?i;?)-SI?I;?ii;?WI)-W-I;?)-W-i;?)-S JM)-W-i;?)-W-I;?)-WMWM?)-W-ۻi;?R R ;Ji  ?.0:80 0  eЭ` ߅ȱȱ` ߅ȱȱ`%`E```F T``  `F & T``F f T`` g RfQ10fP10` X g RQP A)` ߅ȱHȱh g RPQ ; incr{mente l'abcisse CLC TYA ADC INTERVAL STA XLOW CPY XLOW BCC NOINCXH INC XHIGH NOINCXH INC COMPT ; test de LDX LONGCHN ; fin de chaine. CPX COMPT BNE MAINPRT RTS * * ASSEMBLEUR EDASM ProDOS * |~~~_y||?o*[{{u~~~~A Jy8o{_?;6|"{zko#m(|x|/x~~~~_{|_?+[c515,520,525,530,535,540,545,550,555,560,565,570,575,580,585,590,595TCHE29600,605,610,615,620,625,630,635,640,645,650,655,660,665,670,675,680,685,690,700,705 ***** MISE A BLANC DES CHAINES *****BASE10A$"": BASE16āI03:hT1TCHE:TCHE4(V132)(H53)28:TCHE51925q mTCHE28TCHE32TCHE36TCHE40TCHE44TCHE48İ415:375 rT128T132T136T140T144T148İ395:TZ:ZY:YX:XX0 wTCHE29385E|TCHE1450,455,460,465,470,475,480,485,490,495,500,505,510,)(R32)):VV13(R10)13(R11):3106 ,"";H,V,SZ 1H28(H25.575)3:V13(V32)i 6H53H53z ;H137H137 @V26V26 EV182V182 J(S)2R13İ350 OHH1VV1275 T16H1,V1:16H,V Y275 ^ ON A CLIQUE c(7);2 )  ***** TRAITEMENT ERREURS *****Z T15:(7);:185:PR,E$,70,8,1::465:275  ***** DEPLACEMENTS CURSEUR ***** MS0290 D$"IN#"SL: ACTIVE LECTURE SOURIS  LECTURE "H1H:V1V( 'MS0ľR$:R(R$):HH28(R8)28((R21D'UN NOMBRE *****$ BASE22157 Q2XXXX2Qb 185:155:AB,B$:BIN,XX:PR,B$,44,8,1h z BASE10245 Q9235 XX(A$) 185:155 PR,A$,1406(A$),8,1 XXXX16Q 185:155:AH,H$:HEX,XX:PR,H$,116,8,1 []^_`abcdBIN,X:PR,B$,44,8,1:$ A$(X)E XH1406(A$):PR,A$,XH,8,1K o ***** AFFICHAGE DU MODE ***** 0:1538,8:3 BASE16Ĕ2438,8: BASE2Ĕ2338,8: ***** EFFACEMENT ***** 0:PR,V$,44,8,1:3: ***** SAISIE .d ***** JR86 : CALCULATRICE SOURIS *****\i ***** Roland JOST (C) 1986 *****jn715:275s ***** SOUS-PROGRAMMES *****x ***** AFFICHAGE DES NOMBRES *****}185:155BASE16ČAH,H$:HEX,X:PR,H$,116,8,1: BASE2ČAB,B$:"{~|~|~~~_~x|_x_:_Rz_+{_ZzgG|o"|cC{%"{|"{_~_~_{/{"Z|"|bxx}/+[{{%_}?~z~c%~~~~~~A_|?<x~~|~~~~gA1I,48::.BASE2āI015:A2I,48::P ***** EVALUATION DE X *****gBASE10X(A$):BASE16X0:L03:Z(A1L):ZZ48(Z47Z58)55(Z64Z71):ZZ(L)Z::I03:XXZZ(I)(16(3I))::5BASE2X0:L015:Z(A2L):ZZ48(Z47Z50):ZZ(L)Z::I015:XXZZ(I)(2(15I))::N ADDITION A LA PILE`TZ:ZY:YX:} ***** OPERATIONS *****BASE16:120BASE10:120BASE2:120X0:395:185:X(X):120X(X):120X(X):120XXX:120%0666I888MM -ի+kM d n49246,0:"monochrome8 x(4)"RUN/T16/MENU"I I1500::**********!* SHOWYK *2********** U (4)"BLOAD YK2":232,0:233,3h:(21):3:0n(1:110,10:220,1022:110,40:240,40<3:110,80:280,80FJ110P49246,0:200:"monochrome Z49247,0:200:"couleurSHAPESuHUSTON!' 'SHOWYKfJeYK2g.Ǯ e ACTIVE LA SOURIS 6D$"PR#0": AFFICHAGE ECRAN<j ***** DESACTIVATION SOURIS ET FIN *****pD$"IN#0": ACCEPTE INPUT DU CLAVIER D$"PR#"SL:(0): DESACTIVE LA SOURISD$"PR#0": ECRAN(4)"RUN/T16/MENU"-@kI17:(49164I256)32(49403I256)SLI:I7::890GpIu"PAS DE SOURIS . UTILISER LES TOUCHES FLECHES DU CLAVIER ":MS0:z"INTERFACE SOURIS EN SLOT "SL:MS1 ***** ACTIVATION SOURIS *****MS0ıD$"PR#"SL:(1):CALC.0,A$7000":232,0:233,1129CD$"BLOAD SP.CALC.0"YHAH,H$:A1(250)256(251)yMAB,B$:A2(235)256(236)R185WS4\H53:V26:16H,V:H1H:V1Va ***** RECHERCHE DE LA CARTE SOURISf :$CN0C = 32 ET $CNFB = 214 ( SOFT SOURISROLRR24681: RORHBIN24689: conversion d{cimal-binaire.{ HEX24737: conversion d{cimal-hexad{cimal %PR24771: {criture HGR. *PI3.14159/1:0:342609865:900::16302,0:D$"BRUN CALC.COMP.0" >D$"BLOADTAB"B$"0001000111001101"7V$" "CBASE10jAH24576: recherche adresse de H$AB24603: recherche adresse de B$AN24630: ANDEO24637: EORRA24644: ORAAS24651: ASL LS24654: LSRRL24673: XYX:YZ:ZT:120.A$A$"1":Q1:190EA$A$"2":Q2:190\A$A$"3":Q3:190kXYX:120XYX:YZ:ZT:120A$A$"0":Q0:190A$A$".":190 ***** INITIALISATION *****ZZ(16)D$(4)E$"EEEEEE"H$"1215190b6,X:RR:X(6):120,gQ10:190:lQ11:190HqQ12:190_vXYX:YZ:ZT:120v{A$A$"7":Q7:190A$A$"8":Q8:190A$A$"9":Q9:190XYX:YZ:ZT:120A$A$"4":Q4:190A$A$"5":Q5:190A$A$"6":Q6:190WW:120"&6,X:LS:X(6):1201+X1X:120H0WWX:XY:YWW:120O5:h:6,X:AS:X(6):120?6,X:7,Y:AN:X(6):120D6,X:7,Y:EO:X(6):120I6,X:7,Y:RA:X(6):120N6,X:RL:X(6):120SQ13:190XQ14:190]Q15:X(X)(10):120(X(X):1208X(X):120GXYX:120^X(XPI180):120uX(XPI180):120X(XPI180):120 X(XPI180):120TZ:ZY:YX:XPI:120XX:120WWX:XY:YZ:ZT:TWW:120 !WWT:TZ:ZY:YX:XDATAuHUSTON!'  'DATA.SUITEihDS.LMjҮ/0hDATA.S1khDS.LM1lZӮ/0hnp *";P P1$;"* TOUT VA BIEN ?... *"; P1$;"* MOI, JE SUIS PRET ... *";P1$;P1$;P0$; I1120:P1$;:I P0$ I12000:I MISE EN 80 COLONNES D$;"PR#3" (18)  C$d PROGRAMME DE SALUTATIONS ?n DEPART Xx 29 11 85 kD$(4):(21)P0$"****************************************"P1$"* *" TEXTE  :P0$;P1$;"* SALUT TOTO ! mLOGuHUSTON!'  '&DEPARToQm&ACHATSrmSIMPLEs,m&TRIPLEt3mSIMPLZs mJgh1Ș $ H怱 , H h,怠Ƀji`PREMIERE SUITE,LIGNE 756 PDEUXIEME SUITE,LIGNE 80T UTROISIEME SUITE,LIGNE 85g Z:LIGNE BIDON _ET ON TERMINE LIGNE 95d ::(4)"BLOAD DS.LM1"1PREMIERE LIGNE<768:s(22:"PRESSER POUR MENU DE DISQUETTE ";:R$:2R$"M"R$"m"ĺ(4)"RUN/T16/MENU"<:FJANVIER,FEVRIER,MARS,AVRIL,MAI,JUIN,JUILLET,AOUT,SEPTEMBRE,OCTOBRE,NOVEMBRE,DECEMBRE K怱, b ` ::(4)"BLOAD DS.LM"$R$/768:f(22:"PRESSER POUR MENU DE DISQUETTE ";:R$:2R$"M"R$"m"ĺ(4)"RUN/T16/MENU"<:F0,JANVIER,FEVRIER,MARS,AVRIL,MAI,JUIN,JUILLET,AOUT,SEPTEMBRE,OCTOBRE,NOVEMBRE,DECEMBREdATALOGUE OU MENU  , D$;"CATALOG"< I11000:P "D$"RUN ACHATS"T VENDRE Y SUPPOSE QUE X NE VEUT PAS VENDRE Y)"Y"*** ANNULE LA PHRASE PRECEDENTE"~"FIN APRES LA DERNIERE PHRASE" ENTREE DES CARACTERES 9:1:I;" ";C$:C$:C$(44)C$(42)C$(13)1040C$(8)ĭ(P$(I))0ĺ(7):96>780#H ENTREE DE DONNEES +RI0F\II1:T1:K1:P$(I)""Zf INSTRUCTIONS p:"PHRASES DU TYPE:":" X DESIRE Y"z" POUR Y IL FAUT Z1, Z2,... ET ZN"" X POSSEDE Y":" X VEUT VENDRE Y"1"(L'ABSENCE DE MENTION: X VEUT ID$;"CLOSE"(216,01420`:"TAPEZ UNE TOUCHE QUELCONQUE.":A$:860 :"IL SEMBLE QUE CETTE BASE DE DONNEES NE CONVIENNE PAS. VOULEZ-VOUS RECOMMENCER?"216,0 A$:A$:A$(27)2910*A$"O"6004A$"N"2910:A$"A"1630"DA$"M"6003NA$"C"530AX NOM? SbD$;"CATALOG"l"NOM DE LA BASE DE DONNEES DESIREE ? ";R$v OUVERTURE 780D$;"OPEN";R$D$;"READ";R$IJI1IJNA(I)T1NA(I)A$(I,T) MENU \:10:"VOULEZ-VOUS TRAITER UNE ANCIENNE BASE DE DONNEES? TAPEZ A":"OU BIEN COMPLETER UNE ANCIENNE BASE DE DONNEES? TAPEZ M"&:"OU ENCORE EN CREER UNE NOUVELLE? TAPEZ C"0A$:A$(27)2940(L'ABSENCE DE COROLLAIRE SUPPOSE QUE JULES NE VEUT PAS VENDRE DES SKIS.)"z 22:1:"TAPEZ UNE TOUCHE QUELCONQUE";:A$ 520  RESTITUTION DES PHRASES  I1IJ I;" "; T1NA(I) A$(I,T);" "; T : IPE:"3 J::" TYPE: ";(34);"POSSEDE";(34)Z T:"= sujet POSSEDE complement" ^:" JULES POSSEDE DES SKIS" h::"AVEC SA COROLLAIRE:" r:"= sujet VEUT VENDRE complement" |:" JULES VEUT VENDRE DES SKIS"K 20:1:"'EXPLICATION:"b ":"= POUR verbe IL FAUT complement 1 , complement 2 ET complement 3" ,:"= POUR FAIRE DU SKI IL FAUT DES SKIS , DES CHAUSSURES ET DES TICKETS" 622:1:"TAPEZ UNE TOUCHE QUELCONQUE";:A$ @:"OU DES PHRASES DU TY"' :" PIERRE DESIRE DU PAIN"V 22:1:"TAPEZ UNE TOUCHE QUELCONQUE";:A$h :"OU BIEN:" ::" TYPE: ";(34);"DESIRE VERBE";(34) :"= sujet DESIRE complement verbal" :" JEAN DESIRE FAIRE DU SKI" ::"AVEC Lqstuvwxyz{|}~:" /MICROTEL/ACHATS" ::" CE PROGRAMME RESOUT PAR LE RAISONNEMENT LE PROBLEME POSE PAR UNE BASE DE DONNEES COMPRENANT DES PHRASES DU TYPE:" ::" TYPE: ";(34);"DESIRE OBJET";(34) :"= sujet DESIRE complement+d MICROTEL CLUB DE MOURENX Gn ACHATS ox 08 12 85 19 11 86  PROGRAMME D'INTELLIGENCE ARTIFICIELLE NO 1 ::A$(200,20),NA(200),P$(200)D$(4)D$;"PREFIX /T16/LOG"' 0*C$(8)ĭ(P$(I))1P$(I)"":950WC$(8)P$(I)(P$(I),(P$(I))1):1020jP$(I)P$(I)C$9:1:I;" ";P$(I);(29);:960 CAS SPECIAUX P$(I)"FIN"IJI1:1460P$(I)"***"II2:860$ ANALYSE DES PHRASES-MISE EN SEGMENTS SIGNIFICATIFS D. I = NUMERO DE LA PHRASEt8 A$ (I,T) = SEGMENT SIGNIFICATIFB T = NUMERO DU SEGMENT DANS LA PHRASEL NA (I) = NOMBRE DE SEGMENTS DANS LA PHRASE I VA$(I,T)(P$(A$(K,1)"":A$(K,2)"":A$(K,3)"":NA(K)0>" ZB0:ZC0:2020X" X EST SATISFAIT g" ZD12660v" "ALORS ";"( A$(I,1);"EST SATISFAIT .""2 L1NA(I)"< A$(I,L)"""F L"P NA(I)0:ZC0:ZD0"Z ZB0:2050"d D'AUTRES DESIRS #n L1"ET QUE ";A$(J,1);"NE VEUT PAS VENDRE ";A$(J,3) 8 KM B ZB0:2020U L RJ_ V 2790u ` X POSSEDE Y j A$(J,1)A$(I,1)2570 t Z VEUT VENDRE Y ~ K1IJ A$(K,1)A$(J,1)A$(K,2)"VEUT VENDRE "A$(K,3)A$(J,3)2480 K2! (J,2)NA(J)42300(K5NA(J)["ET ";A$(I,1);A$(I,2);A$(J,K);A$(J,1);A$(J,2)bKA$(I,3)A$(J,4):A$(I,4)A$(J,1):A$(I,5)A$(J,2):NA(I)5 NA(J)4ZB0:2020 K5NA(J) IJIJ1* $ A$(IJ,1)A$(I,1):A$(IJ,2)A$(I,2):A$(IJ,3)A$(J,2)"POSSEDE "A$(J,3)A$(I,3)ZC1:23805JjZC0ĺ"ET QUE RIEN NE PERMET DE LE SATISFAIRE,""ALORS ";A$(I,1);"RESTE INSATISFAIT ."A$(I,0)"*":ZC0:ZB0:ZD02050RJ2790"ALORS ";A$(I,1);A$(I,2);A$(J,4);A$(J,1);A$2080 I/ ZA0ĺ:"C'EST TOUT !":2910>ZA0:2010H :RIR*2790r4A$(I,4)"POUR "ZD1:2150> POUR Y IL FAUT HJ1IJRA$(J,1)"POUR "A$(J,2)A$(I,3)A$(J,3)"IL FAUT "2230\Jf POSSEDE Y pJ1IJ.zA "A$(J,T)(A$(J,T),4,(A$(J,T))1)-T3:JID$;"PR#3"s:10:"TAPEZ UNE TOUCHE QUELCONQUE."A$:X1:1810::"RAISONNEMENT :":: DESIRE W1IWIJA$(I,0)"*"2050A$(I,2)"DESIRE "ZA1:;&X1X0:1980:0"BASE DE DONNEES ";R$;" :"::F:J1IJSDJ;" ";bNT1NA(J)X(A$(J,T),1)"*"A$(J,T)(A$(J,T),(A$(J,T))1):A$(J,T);(44);" ";:A$(J,T)A$(J,T)" ":1920bA$(J,T)A$(J,T)" "lA$(J,T);&v(A$(J,T),3)"ETDE DONNEES !D$;"CATALOG"P"NOM DE LA BASE DE DONNEES DESIREE ? ";R$\I0:X0nD$;"OPEN";R$D$;"READ";R$IJI1IJNA(I)T1NA(I)A$(I,T)TID$;"CLOSE"I$(9)D$;"PR#1"I$;"80N"N";R$D$;"CLOSE"+D$;"DELETE";R$=D$;"OPEN";R$PD$;"WRITE";R$XIJdI1IJoNA(I)~T1NA(I)"A$(I,T),T6I@D$;"CLOSE"J ENCHAINEMENT TZV1^:hBA$(50),CA$(50)rZV11800| BASE 130Z:I;" ";"dT1NA(I)bn(A$(I,T),1)"*"ĺ(A$(I,T),(A$(I,T))1);(44);" ";:1410txA$(I,T);" ";{T23:"OK? (O/N)";:A$A$"O"860A$"N"1420P$(I)"":II1:860 MISE SUR DISKETTE 420D$;"OPE1290A$(I,T)"ET"1350L A$(I,T1)A$(I,T1)" "A$(I,T):A$(I,T)""lK(P$(I))NA(I)T1:1370v1130(A$(I,T)(A$(I,T1),X)" "A$(I,T)2A$(I,T1)(A$(I,T1),(A$(I,T1))X1)<F1:1350FK(P$(I))NA(I)T:1370PTT1:1:1290!(A$(I,T1))31230SA$(I,T)"FAUT"(A$(I,T1),2)"IL"X2:1320A$(I,T)"VENDRE"A$(I,T1)"VEUT"F1:1290(A$(I,T1))51260A$(I,T)"VENDRE"(A$(I,T1),4)"VEUT"X4:1320F1F0:1350(A$(I,T),1)"*"F1:I),1)"`A$(I,T)""II1:860<jKK1:C$(P$(I),K,1)MtC$" "1180d~A$(I,T)A$(I,T)C$K(P$(I))NA(I)T:11801130A$(I,T)"POUR"A$(I,T)"DESIRE"A$(I,T)"POSSEDE"F1:1350T21350A$(I,T)"FAUT"A$(I,T1)"IL"F1IJ#x A$(L,0)"*"2700v# A$(L,1)A$(I,1)A$(L,2)A$(I,2)A$(L,3)A$(I,3)A$(L,4)A$(I,4)A$(L,5)A$(I,5)2740}# L# "ALORS ";A$(I,1);"PEUT ";A$(I,5)# "ET ";# 2600# "ALORS ";A$(I,1);"POURRAIT ";A$(I,5)# RL:BA$(R)"MAIS ":ZD0 $ 2820$ A$(I,0)"*"1$ ZB0:ZC0:WL:2020Y$ S/P RECONSTITUTION DE PHRASES ~$ ZB0BA$(R)"COMME ":ZB1:2820$ BA$(R)"ET QUE "$ T1NA(R)$ BA$(R)BA$(R)A$(R,T)$ A$(R,2)"DESIRE "2870%" T4TNA(R)CA$(R)CA$(R)(A$(R,T)," *** DEMO AMPERCOMMAND ***(:>D$(4):D$"PR#3"Y(D$;"BLOAD AMPERCDE.C"~232768: --- Initialisation ---<:10180FFENETRE0,76,3,7P5:3:"Ce programme , {crit en Assembleur , a pour "; Z"fonction de vous permettre de"AMPERuHUSTON!'  '-DEMO.AMPERCDE!(AMPERCDE!h" AMPERCDE.Cw!h" S POSSEDE DES CHAUSSURES 3 PIERRE DESIRE MANGER 3 MICHEL DESIRE UN VELO 3 PIERRE POSSEDE DES SKIS 3 PIERRE VEUT VENDRE DES SKIS 3 ANDRE POSSEDE UN VELO 3 LE BOULANGER POSSEDE DU PAIN 3 CHARLES DESIRE UN MICROORDINATEUR 3 ANDRE VEUT VENDRE UN VELO NDRE DESIRE FAIRE DU TENNIS 3 ANDRE POSSEDE UNE RAQUETTE 3 ANDRE POSSEDE DES BALLES 5 POUR MANGER IL FAUT DU PAIN ET DE LA CONFITURE 3 LE BOULANGER VEUT VENDRE DU PAIN 6 POUR FAIRE DU SKI IL FAUT DES CHAUSSURES* DES SKIS ET DES TICKETS DE REMONTEE 3 GEORGE21 6 POUR FAIRE DU TENNIS IL FAUT UN COURT* UNE RAQUETTE ET DES BALLES 3 LE CLUB SPORTIF POSSEDE UN COURT 3 GEORGES DESIRE FAIRE DU SKI 3 LE CLUB SPORTIF VEUT VENDRE UN COURT 3 GRAND'MERE POSSEDE DE LA CONFITURE 3 GRAND'MERE VEUT VENDRE DE LA CONFITURE 3 A6 3 ANDRE DESIRE MANGER 5 POUR MANGER IL FAUT DU PAIN ET DE LA CONFITURE 3 INTERMARCHE POSSEDE DE LA CONFITURE 3 LE BOULANGER POSSEDE DU PAIN 3 INTERMARCHE VEUT VENDRE DE LA CONFITURE 3 LE BOULANGER VEUT VENDRE DU PAIN (A$(R,T))1)(44)" ":2880R%, T4TNA(R)CA$(R)CA$(R)"ET "A$(R,T):2880d%6 CA$(R)BA$(R)k%@ Tw%J CA$(R)}%T %^ FIN %h ::::%r D$;"PR#3"%| D$"RUN/T16/MENU"% d6:3:"tracer des fen}tres..."/ n1000F xFENETRE30,71,6,13{ 8:33:"...que vous pourrez d{finir simplement" 9:33:"en tapant une nouvelle commande dont" 10:33:"la syntaxe est :" 12:33:"--> & FENETRE BG,BD,LH,LB" 1000¹卻堢፻򠨤ҍŠՠõ֠ՠҠՠĴ؍àՠ卻àՠĹ󭍻͠ՠȠՠԠՠ±Ҡ¸Ġ򠺠ԍҠՠƵàՠñ1000:900:'D$"RUN/T16/MENU"?FENETRE25,52,10,14i12:29::"APPUYEZ SUR UNE TOUCHE":13:29::"POUR CONTINUER...";:T$:::TEMPO05000:TEMPOd900 K110;BG0:BD79:LH0:LB23:N110uBGBG1:BDBD1:LHLH1:LBLB1:FENETREBG,BD,LH,LB:TEMPO0500::K900FENETRE8,71,17,2219:11:"Bonne programmation , et @ bientot ..."21:50:"Francois GALLET"source (ProCODE) , AMPERCOMMAND vous"f14:15:"permet de rajouter de nouvelles commandes , qui"15:15:"associ{es @ l'Ampersand , enrichiront l'Applesoft ."1000FENETRE2,42,17,2019:5:"Et maintenant , un peu de mouvement !" un II GS ."H r8:10:"AMPERCOMMAND fonctionne en 80 colonnes , ce"{ |9:10:"qui est tous de m}me plus agr{able ." 1000 FENETRE12,68,10,16 12:15:"Si vous connaissez l'Assembleur et que vous poss{diez"'13:15:"de quoi cr{er un rez le retrouver , utilisez une"F 622:29:"sauvegarde d'{cran ."U @1000:900k JFENETRE7,54,3,10 T5:10:"Il est important de noter que cet utilitaire" ^6:10:"a {t{ {crit pour ceux d'entre vous poss{dant" h7:10:"un IIe+ , un IIc ourect ou en"K 16:29:"mode programme . Elle peut }tre suivie par une"t 17:29:"autre instruction Basic ." 19:29:"ATTENTION : la partie d'{cran recouverte par la" "20:29:"fen}tre sera d{finitivement perdue ."" ,21:29:"Si vous d{si FENETRE5,26,9,17- 11:8:"...ou :"L 13:8:"BG = Bord gauche"j 14:8:"BD = Bord droit" 15:8:"LH = Ligne du haut" 16:8:"LB = Ligne du bas" 1000 FENETRE26,77,13,23 15:29:"La commande peut s'employer en mode diŶƵ堨򠮠򠬠ؠ͠ՠ͍űՠð姍űؠՠð姍ڠՠò֍ȠՠԠՠРՠߠ堠ߍǠ占ŻҠڻ占Żλ占ŻҠûƻŻλŻҠڻƻŻػ占ͻҠŻڠԻ䍠ڠл䍠䍠Ȼ占䍠͍卪ûȍ卪λ占ԠػààԻؠԠҍȻλ占лػ̍ҠŻΠРû㍪󠺠Š፪婍򍪍Š֍̍ؠ؍堫卪卪堮΍Р؍Ӡ̍΍Р؍Ӡ̭堢ŢŠҠÍؠӠ̍ؠ΍ҠÍؠӠ̍ؠ؍ҠÍؠӠ̍ؠ΍ҠÍؠҢРһ̠ؠ̠٠ҢРһ堿ҠؠŠŲРōŲР󠨲堺ŠǬĬȬԠ򍪍¸Í¹ؠ卪Рд堨婍ؠؠؠ堿Ѡػ頬堡򍪠堮гàŠύàϠ٠Šг占Ѡб󠬠堬򍪍вٍٻ堿Šв󮮮ٍٻ䍠¹Í٠ƍбٍдٻ堨쩍ѠһҠԻ򮮮Рٻ󍪍Ščč堿ؠ堨驍à¸Ԡ􍪍¸ōԠōҫōҫ͍ԍ͍ԍͫӍ占Żػ占ŻҠû򍪍ȍ֍ҠڻӠ썪堺ڠ婍ڠλ宮ȠҠͮǠ󠺠堠SOUuHUSTON!'  ')SOURIS.IV eS4mapr 5h$h% $`qH Ut os(hp0,T`r UvH os(hu0,T`j,U,T*Jo`FENETREst`fƸȱ0 ȱȱL*LԢ5LLf Oq Pp ؎v Ύuqpívu L٥%H$Hq p8 !v"u# Xd d"P!#Lsvt ߍsu:t Zsqr 5_sÍŠؠŠؠڍؠؠΠؠ卪Ǡ?󍪍󍪠̴ؠ堰ؠؠΠؠŠؠӠ썪􍪠婍Ġàŧ堦Šؠ卪ؠ報خԴ報͠Ԡű報Դ̠宮Ҡ򠲍̴󩍠卪Šؠ婍ͮǠҠ卻占Ӡͻӧ婍Ԡűػӧ򠭭穬ٻ占Рػ堿ɠֻ占ԠűӠ頬썪堺ͮǠŠ孍àŻҠͮǻŠؠλ֠占Ҡû٠̴۠Ż堿ɠȠ󠬠占ԠűӠ썪堺à婍堿Ż۠宮Ҡû٠̴۠Żٻ占宮Рػ쪪àՠñ卻Ԡՠûűՠð젢墍űؠՠð򠲍̴󩍠Ӡ썪Ǎ?򠭭報Ԡűػӧ򠭭報خԴ͠Ԡű報Դ̠宮Ҡ卪Šؠ󠮍ͮǠҠ卻堨婍Ӡͻӧ堢墍ٻ卻Ԡű鍻һ堺ͮǠŠ鍠ٻ宮Ҡû٠̴占ٻٻ㍪堺ōŠֻ宮Ȼ򍪍ػ۠堰Ҡͮǻ堿占Ԡű鍻Ҡ宮Ȼ򮮮ֻҠڻӠ썪堿ٻ宮Ҡû٠̴占ٻ፻ōٻ썪堺ōŠֻ宮Ȼ򍪍ػ۠堰Ҡͮǻ̠à˻àҠŻàҠĻ󮮮ҠŻˠӠĠՠԠ΍堺Ԡ婍ԠԻ̠宮̠Ơٍ٠ՠᠢ墍Ԡՠؠՠ䮠؍٠ՠ䮠ٍ젢墍Ǡ´ԠƍȠՠ֠ՠڠՠò󍪠̴ՠ堰Ҡՠ򠰷ؠ| a ca a`%H$H)a b*a #a&a(,Th$h% "`%H$H)a b*a #a(&aB(,Tj,U,T*J#a` ligne 20 Le pointeur de pile {tant incorrect en retour du CALL-144, APPLESOFT ne retrouve pas ces informations et nous en informe brutalement avec son NEXT WITHOUT FOR. Maintenant que nous savons ce qui se produit, le rem}de est simple (j'{limine80 00 00 00 c'est le pas 1 (step) en format flottant 41EF 01 c'est le signe de step, ici + 41F0/4 82 00 00 00 00 c'est la limite (2) de la boucle 41F5/6 0014 c'est le num de la ligne FOR (ici 20) 41F7/8 0850 c'est l'adresse de fin de lal'est pas (CC). Regardons de pr}s: en 41E5/6 on trouve l'adresse D823-1, c'est l'adresse utile de la routine de LAM (fin de la cha^ine). en 41E7 on a $81 c'est le token FOR 41E8/9 0956 c'est l'adresse de la variable I indice de boucle 41EA/E 81 APRES en 4500... Vous allez pouvoir vous rendre compte que le retour se fait avec un pointeur de pile erron{. En $41FE vous avez le pointeur de pile AVANT (E4) et, en $44FE, le m^eme pointeur apr}s, ce devrait ^etre le m^eme mais, bien entendu, \a ne , on obtient un magnifique NEXT WITHOUT FOR IN 100. Pourtant, tout est bien @ sa place. Faites un nouveau RUN. Vous pouvez retrouver page z{ro AVANT en 4000..., APRES en 4300... pile AVANT en 4100..., APRES en 4400... inbuf AVANT en 4200...,d{pann{ des collaborateurs am{ricains de NIBBLE et Call A.P.P.L.E., il {tait temps que je me d{panne. Sauvez la petite routine GSLAM et le 'programme' BLAM, puis faites RUN BLAM. Si tout se passait correctement, la routine de LAM s'ex{cuterait 2 fois maist^ete de COMpatible, il n'est pas question de perdre 70% de ses caract{ristiques (patible = 7 lettres/10). J'ai donc d{cid{ de partir aux nouvelles et, dans ce cas, rien ne remplace une routine qui sauve la pile AVANT et la pile APRES. Avec \a j'ai d{j@ urt programme, il se peut que l'on ne remarque rien, mais en g{n{ral, on provoque un message d'erreur qui montre @ l'habitu{ qu'il y a un probl}me du cot{ de la pile. Le fouineur que je suis ne pouvait se contenter de cette constatation am}re. Le GS a une !Rendre LAM au GS 19 Juin 87 Vous avez sans doute d{j@ constat{ que la bonne vieille routine de S.H. LAM qui permet de mettre en place des routines HEX depuis le Basic, ne fonctionne pas sur le GS. Sur un co ӮLAMuHUSTON!'  '#LAM Ӯ+*GSLAM.ASMP8Ӯ0'GSLAM.SӮGSLAM6ӮSHLAMRӮ9,DOSCOTTINI.C bien entendu la formule fer @ souder / programmeur d'Eproms). Effacez les lignes 45 et 75 puis RUN. Cette fois tout se passera bien. CALL 768 aura sauv{ le pointeur de pile, CALL 773 l'aura r{tabli. Essayez, dans le programme de patch du DOS publi{ dans Tremplin 14, de remplacer tous les CALL-144 par CALL768:CALL-144:CALL773 et ajoutez la ligne 74 qui met en place les 10 octets qui sauvent et r{cup}rent S. 74 forI=768to77:readJ:pokeI,J:next:data186,142,251,1,96,174,251,1,154,96 Si vous avez la disquettؠĠ 占Ӎ̷ؠčӠ 占Ӎ̷ؠŠō̷ؠŠؠ؍ؠ؍ؠ؍ؠĠ Ġ  占 ԩǠ̷؍ Ӎµ؍ ؍印ú ؍ƺ؍Ÿ ؍İ Ÿ ؍ Ÿ ؍ º ؍ú 󩍰ƺ  印 Ӎ̷č 印 Ӎ̷úİ ōź̷ ԩ ̷؍era aussi sur un //e ou un //c.e Tremplin, transf{rez le fichier DOSYK sur votre disquette DOS 3.3 favorite, c'est nettement moins fatiguant. Le programme fonctionnera parfaitement sur votre GS qui de COMpatible se retrouve COMPATIBLE. Bien entendu, le programme ainsi modifi{ fonctionn 󩍠ؠ؍ؠ ؍ؠ 占؍؍؍ŠӍԠƍD 04 02 9D B1 B3 CA D0 F7 A9 AD 8D B4 B3"D520:768:144:773hHEX$"BFB1:4C C8 BF":520:144 ALLOCATE SECTOR DISK VHEX$"B247:F0 2A AD F1 B5 A2 00 C9 28 90 02 A2 02 CE F0 B5 30 15 18 3E F3 B5 3E F2 B5 90 F2 EE EE B5 D0 03 EE EF B5 AD 5 45 AD F6 B7 85 44 4C 42 AE 20 0C FD C9":520:768:144:773+HEX$"BF68:9B F0 01 60 68 68 68 68 4C 7F B3 A9 00 85 45 AD EA B7 85 44 4C 42 AE 00 00 00 AD 65 BF 8D 90 BF AA A9 00 9D B8 04 20 08 C4 A2 02 BD 08 02 9D AE B3 CA D0 F7 A9 AD 8D B1 B3 A2 02 B00 48 AD F8 06 4A 90 30 20 4D BF D0 16 AD 78 04 0A C5 2E D0 07 A9 01 99 0C BF D0 1C A9 01 8D F8":520:768:144:@ HEX$"BF30:06 D0 15 A9 50 8D 78 04 A9 00 20 5A BE 20 4D BF A9 00 99 0C BF 8D 78 04 A9 60 4C D4 BD A0 02 B1 48 A8 B9 0C BF 60 08 78 A9 00 82 B5 E8 8A 29 01 D0 F7 C8 CC F0 B3 D0 E5 68 0A A2 02 C9 50 90 04 E9 50 A2 04 69 01 0A A8 BD F1 B5 19 F2 B3 99 F2 B3 88" 520:768:144:773s HEX$"BEF0:CA 8A 29 01 D0 F0 60 B0 EC E6 44 A5 44 C9 23 90 D3 18 90 03 4C 48 BE 86 48 BD 88 C0 60 01 01 01 NO INIT J HEX$"9D1E:BE 9D N A884:58 58 58 D8":520:768:144:773e RANGE ERROR DRIVE HEX$"A95B:04":520:768:144:773 35/40/80 TRACKS y HEX$"BEAF:0A 20 6B BE 4E 78 04 4E 78 04 60 48 68 48 08 A2 00 C9 28 90 02 A2 02 28 7E F6,142,251,1,96,174,251,1,154,96:"Corrige CALL-144 sur GSC K S P::12:12m Z:"PATCH EN COURS": d KEYBORD INTERCEPT nHEX$"9D02:81 9E":520:768:144:773 x VIDEO INPUT HANDLER HEX$"9D04:BD 9E":520:768:144:773  ***********************;* PATCH DOS 3.3 *X* COPYRIGHT 1986 *u(* Marcel Cottini *2* pour Tremplin Micro *<***********************F H"Patch{ pour //GS par Yvan KOENIGI; JI768777:J:I,J::184) K90:"provisoire, saute le rem}de2 P773K Z782:"copie 3 pagesQ _ ********* BLAM *+********B(4)"BLOAD GSLAM"PPASS12i#HEX$"1000:4C 58 FF"(HEX$HEX$" N D823G":I1(HEX$):511I,((HEX$,I,1))128::72,0-60:"provisoire, saute le rem}de2768<778:"copie 3 pages F14``@C%+1@AC`F0 B5 60 A9 00 8D F1 B5 A9 00 8D 9E B3 20 F7 AF 18 AD EB B3 6D":520:768:144:773HEX$"B280:EC B3 F0 09 CD EF B3 90":520:768:144:773?"HEX$"B288:14 A9 FF D0 0A AD 9E B3 D0 2E A9 01 8D 9E B3 8D EC B3 18 69 11 8D EB B3 8D F1 B5 0A A2 02 C9 50 90 04 E9 50 A2 04 69 01 20 E0 B2 90 C6":520:768:144:773Q, NEW VTOC 6HEX$"B2D2:20 BA BE A9 00 8D F1 B5 4C FB AF 4C BA BE 0A A8 B9 F2 B3 9D F1 B5 F0 06 38 A9 00 99 F2 B3 88 CA 8A 29 01 D0 EB 60":520:768:144:773@ IOB TABLE + FACE B ͵ Ҥ ͵ Ӎ ˮٮ Ϯ ٮ ҤDCOPuHUSTON!' ')K.DCOPY.Sm̮*)RELOPRO.SЮ3'DCOPY.SO ٮ%DCOPYl`ٮF:20 2F AE 20 2F AE 60":520:768:144:773D END PROGRAMM U:""::n SH. LAM ROUTINE HEX$HEX$" N D7D2G":I1(HEX$):511I,((HEX$,I,1))128::72,0:00 65 3C 85 3C A9 00 65 3D 85 3D CA D0 EF 88 D0 E6 D8 A5 3D 20 DA FD A5 3C 4C DA FD 8D C5 C5 D2 C6 AD AA AD"520:768:144:773HEX$"AEF0:D3 CB C3 C1 D2 D4 AD AA AD C5 D6 C9 D2 C4 AD AA AD CC CF D6 EA":520:144 LINE FEED .HEX$"B3A1 B5 91 42 88 10 F8 C8 38 60 20 58 BF 20 48 F9 20 73 BF A2 05 20 4A F9 AD EF B3 85 44 20 42 AE 20 AD AE 20 AF B3 4C C9 AD A2 06 20"520:768:144:773nHEX$"AEB0:4A F9 A9 F2 85 18 A9 B3 85 19 A0 A0 A9 00 85 3C 85 3D F8 B1 18 85 42 A2 08 26 42 A9 -PATCH ENTETE CATALOG ET MODIFIE PARMSHEX$"ADA3:A9 16 8D 9D B3 20 2F AE 20 2F AE A2 1C BD E7 AE 20 C5 9F CA D0 F7 86 46 4C 8E AE":520:768:144:773HEX$"AE6A:A0 2C 20 08 AF 8E C5 B5 B1 42 99 D1 B5 88 10 F8 C8 18 60 00 A0 2C 20 08 AF B9 D88 D0 EE 08 A0 06 D0 05":520:768:144:773>^520:144Th MYSEEK PARMS rHEX$"BE5A:0A 48 20 4D BF 6A 68 90 4C 20 6B BE 4E 78 04 60 60":520:768:144:773| RECALIBRATE DISK HEAD HEX$"BDD1:4C 11 BF 20 95 BE":520:768:144:773 JHEX$"BD04:A0 04 8C F8 06 A0 04 8C F8 04 A0 01 B1 48 78 A0 0F 91 48 AA BD 89 C0 A0 02 B1 48 A8 C0 03 B0 0C AC 00 C4 AC 00 C5 AC 00 C6 AC 00 C7 BD 8E C0 BD 8C C0 A0 12 BD 8C C0 48 68 48 68":520:768:144:773/THEX$"BD3F:8E F8 05 DD 8C C0 D0 03 Ӡ Ӡ Š Š Ԡ ˠĠ ԠƍԠύԍԠٍԍŠ      àč٠ĭϭϬٍҠԍٍ̠РٍϠؠĬ֠ Χ ŢčǠԭͯҠҠ ㍻ŰĠ٫ҠƵߠưРƵ ҍ´ ԠĠ ŠŲà ̯ȭ ̯ȩ ̯ȍԠǠĠà Š ō ōҠĠō Ӎ٠ 㰲 ̩ Ϡˍٍ֠΍Ԡƍ            ç ԿčРٍٍīĠ īҠōҠԍϠԍЍōӍ΍РҩԿؠ 占Ҡōà㲠 卍ϠӍà ōӠ ΍ϠӍà ōӠ ΍ӭ ӭ㲠 ٽҠؠà ٠ ٽҠԿ٠ ٽ ؽ ҠŠ à㱠 Ҡ Ҡ Š 卻 Ġ ؠ ؽ ٠ ɠ٠٠占Ġ ٠ 占Ҡ ïҠ ï؍Ŭؠ ٍɠ堻 ٍٍРߍŠɍ٠ؠ ҠŠ ɍ Š堻 卍 ɍ 򺍻 Ԡ ፠ àǫ 󧍠ԫ㱠٠٠占Р Šɍٍ٠占Šɠ ɍ 占ϠōīōӠ΍ÍàǠ ͠ Ǎ͍ǫǭ 占ǭ̭č̭īĠ Ϯ ۹ōҫ 占 占Ҡ Ӡ 卍΍ ī 占ؠī 占ؠī 썪 卪 Ġ 卍Ϡōؠī ؠīàٍà䠻 􍍠ٍǍРٍٍǫàٍӠ䠻 ýٍٍàԠ占٠ 占ٍٍàԫٍٍӍŠ٠ ث ٠ Ҡ؍̠ōӍԠϺ ÍӍԠР̍ǠӠŠ ԠؠƠؠàؠàؠԠؠŠà٢čԠ ΍Ҡɍؠ ㍠ōӠԠ󮮮àà ŠàëÍР ëààÍԍŠګƫ 占ÍëÍԠ ōҠɍؠ ㍠ōӠԠ ﰍ̠ﰰ̠ﰰ̠ﰰÍ 岍ԍӍҠ à ΍à ؠԠ ͵ 占ؠԠҫÍӍĠӫĠŠˍԠ ҍÍӍˠ֠ Ġİ̠İ̠İԠ̠̠έ؍ĠƠʍҠŭ؍ÍŠԠ ԍ؍Š̍ؠ͠ ؽ 썠Ӎ 占ӫčҍԍōčԠР΍ԠРӍ٠Šԍ٠ŬٍҠԍٍ٠ĭūàҠԍѠԠŠ Ġ卍Šؠĭŭؠ΍؍ ĠڠԠ·٠Р ͵ ͵ ҍٍĠ؍Í̠ҍ؍̠̍ЬٍЬٍ؍؍ؠàӍҠӠ卍͠ ōР ፠ōӠ ΍ǫÍàԍؠ 占Íàԭͯ 卺ҍҍĠà 徬 墍ĠؠčԠ̠ΠҠŵΠŵ͠ŵӠŵӠŵԠŶ֠Ŷ̠ŸΠŹōԠčӠƵɠưԠƍcun de ces ouvrages est accompagn{ d'une disquette. Il convient de pr{ciserque toutes les routines peuvent etre essay{es @ partir d'un programme Basic {l{-mentaire."5490 Le premier (LE 6502 PAS A PAS) est pr{cis{- ment destin{ aux d{butants."+:" Les trois autres (bientot quatre) reprennent la plupart des petites routines parues dans TREMPLIN MICRO, mais pr{sentent aussi des micro-programmes in{dits."0:" Chaeux qui reculent encore devantl'apprentissage de l'assembleur. Ils ne savent pas de quels plaisirs ludiques ils se privent ainsi!"K&:" Si vous consultez notre bulletin de commande, vous constaterez que nous avons d{j@ {dit{ 4 ouvrages d'initiation. indication du mon- tant de vos droits d'auteur) vous sera adress{e. Dans le cas contraire, si vous avez joint une enveloppe timbr{e, votre disquette vous sera retourn{e490D$"PR#3":510:!" Nombreux, parmi nos Lectrices et Lecteurs sont cue sa publication dans la revue soit possible, il est indis- pensable que ce programme soit garanti INEDIT et qu'il fonctionne @ la fois sousProdos et sur les Apple II, IIe, IIc et IIgs.":" Si nous le s{lectionnons, une demande d'autorisation (avectbbbbb b$bb bbbb@b`L`٠徬Ӡ嬠Ġa a >? , a`l<ȥ<<ȥ<b?bةB8C< ȱ<ȱ<ɿ  ab?