8(AMESSAGE.COMCOM MESSAGE c}E q0 \C)CC8`DCeECiD` RP h1$E ȍ @y b Y)hܭ]L]` q  DMD   u j)`0  ,p0i2 &28jJ1f02 9 g iJf0i1)xԍӭ232002XԦ`  *'  } *(L `(  L l pL[,L] C i0 } p  gފދLh ( LD 0  C  C  \i +$+0'}; $(%)  b L[C `D P^߰")(݃   $DD}G@НL]S")M T H0 G$Ș݃ b 8$}$%8(() T `$E0(0)8`$GE` P} Li 8GD }L[ PH >iJ ;  yyB } ' |L[ "E( % H$ H#`L]B  0 G LO<  ( d lH۪!A3 A }jA !B EIC Y$E0 F  < 7 JN8Ndâ!,P h0ʠJd,6 } ' r/ $ ɛ ` '  L[  l }-     }    L[L  }  '  L[   p  ` g  l }) g ' }L[) ̠,L]T-0 |LM N݃:ː6UV LM N L(TU N,)M}LL[IL3GDIɛ ɜ DI  , JȊGм  G I) GȦ=}*GG ȄI1200820I H1E 1h0hIGI2ȢI`FE 0ɛ rɛ$ l '}蚦TTUVD`M L$:;Pyȱ$` r  iȱ$/:ȱ$VWyA**⩀ / }`$***? mL]-+ȱ$ɛ m* ? g. $0f.?'@BrAsTt[ }0: gL  `$0`j`& CpCi s L0JCܢj? I#}𴽎F ގМގ& & 0 C4 08L`0   | 레L] EGȽGȽ}G | E` 8,  }EG)݀G)ȱGȱG`"!L] l!i}栠$8  (IƭIp  h,g+j? 8 ii(Lq)! }S S0$}) E9`H)N,L]8GH Lq`gNgfj****8jHi h` } 2J  &e2i`"%?&;^$IM ! ! <u hh`$}Ev옝^! 1EHFHjm GHm H`u$Ev`L=? +`!,pFE ȄD8 }q D&E`I0` i`+DOS SYSMOC.I  J ٍ = ) F)}8`Ll T!U<; Ln <JM -18    HH =}D 1 :  /1[F:M #.! 0`>C #   #`>   e}L'>/b;\I\o@ @LK~ L  % /e  L ; H}H0S0N:;=91D,1ɛK$ɛ`:;ʾ  ,ɛ}`XYȄ #`DTDRLUFFFCICLRSJ==CIYEEONSMDLNOOUAOOOARPLNCL#####PANVBNFR*),-PQORa/%<}) j ө  RES L%-, # 3 0 %   4(H 4(` }( 3  #  ZOiۨ L4RE 3 =F S Z +8!} 0+  FF % 4 4& 4(X)Y    # 4 ʤ Ȅ L"}F F LH hL4`*J 0 B B 0a   8#}    Lkl  );<  : ` 0 } T T 7̀΀$}LIl <;`<L 3   #/ ! R( 7 7   7 89i L7 ,(&  %} L480  ` Ln    `   HJJJJ h) ii0HI B V`0  ,BLV&}[J  B Vso Fhh` GH ,H hɐɀɡ)HDCȱCɛeCD먥D h'}N MSп` ED` OIH`hhXhh  nL Free FilesBreakI/O-Error 128Disk f(}ullWrite protectedFile MismatchBad FilenameAction! D O S RUN: File lock)}edDevice doneDirectory fullFile not foundBad Load FileNot DOS II+Bad HexAbort-> Source-> DestinationD1:+DOS SY}0uw 7u u`)AI IЩ'Ϋ` IЩ+}'Ϋ`uЩ Х)JJ u)JЭ uIu) umuu u u<w,} ߬uv)`u 2<Vuu `u ҍu)uu`uuvu`) uu`u-}udu`ξuu`u*ZxɌ Ψui`uZ`<<~~$$M:.}Ѣ ҄ӆ !֢ Бҭ e ԍЍ l ?:Y  D'L#pppG"pppA '///}$2%35,4"!$2%35,4-)$$,).'2%35,4 8CUs9/5*534(!6%%84%2-).!4%$!7(/,%42)"0}%/&&2/'3&/2'%4)42%!,,9-)3%2!",%9/534),,(!6%4/42!).)4'//6%24/0)#+).'&,/7%233!4)3&!#4/29#/5,$"%"%1}44%2./4().'30%#)!,./4"!$6%29'//$350%2350%2-!.)3./4().'!'!).349/5!4!"Ѝ0 12}ҎҢ ҢҢҥL#G`%# )&#`&#` ҍ`3}2%!,,9-)3%2!",%"!$2%35,4 "`ϙшP" !4} #L3",%43&2/'$NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN # 0 2!,&$!6)$ RRRRRRR5}RRRRRٶYRRRRRRRRRRRRR<ө $ p0$1 ҩ(ҩҩҩҩV ^$ԥ6}L$HȍЩƍЩҍh@pppGd#ppH(Ap$ ,2-%:_% t%ҍҍA7}#3ʍ=E/l'+Щ0:1(6) ԩ8ԩ>/o#L<-;UE8}H< U3U3U5E<AUZFAN Coθ(0:&#)ЭL%ύҢL&%nIL%ɴ0ΰL9}%ɖ( I`0γL%`ι >/`)>/ ҍ` )θ&:}L&)ߍί`` ΰ`ί`)ߍβ`` γ`β`L%ҭ ҍ;} "药%#%#0&#%#L% ) η&` 0u<} H& ~& & && '` ~ 00((~((PP`=}0044))ddxx** )`6` )L:* ) ͺX9L&(k(X9@᭽>}@X9`κ``   ?}UUAduWF@i@jETj@f@Ud@} 3??3<pppppH(A^)Mɖ0`0` A} ?Fڍ^0)1ȍƍҍЩР4 ::10 0֍B}ZL+` ``#`4 )I L*) mЬC}ȌȌЬ^+ DI)`I)hJJJJJJJޭ) @L+ȌD}ҩҭ)ҍ ) ҭ`0(888880(88888(((0(E};(((27οҩ΍Fڍ " `F}`Э0z0`6`)`Эɒ```,0`Ɍ0`d`ɂ``έG} L+ҩύҩ, `ZZ$$~~ZZ:ͤ`/,.ͨ0 /..H}xhWD 3 `Χ`` / , ' % (# ) B*L<-I} J}000088pp0ꭤ`x`K}x` 6`Z` ~``8,X/ - 0譧Ѝ`ꭤ`L}ͪ8` ΨΨ` Χ`` Χ`$$($$M}HH $ $HN//&N}/// //////D0ɏ =D0)Ld0////P/ /O}/0ҩ /ҭ/I/ //L0znknzznknzn\PMP\nn\PMP\nznknzznknzŧʼnn\PMP\nznknzznknz/P}L]1///ɠC/ )ɀ |a11b1L:1a12b1 %0 Y1r1LX1 Y1r1//|1ҭ/ ҭ/0/L2-Q}99D99-----99D99----*99D99----*99D999-----99D99-----99D999-9992<L299DU999-29D9929-R}---99D992-----29D9929-*%*-99----*%*-99****%!%*99****%!%*99----*%*-99----*%*-9S}9999L<2-***KKKUD92///----*%*-99----*%*-99`  T}       U}      !"#$%&V}$%& !"#$%& !"# !"#$%&W}$%& !"#$%&   X}      Y}      '((((((()*/012/01266Z}5578'((((((()*665578/012'((((((()*665578'(((((()*/012665578[}'(((((((()*665578'((((((()*/012/012::I: 6 .7 6 .7\} 6 .7 6" .7Lk72##:i::L-7#:ȝ:ޟ:`2##8::ޟ:Lj7]}ʝ#:iȝ::` + z. . / b* , $, ?, S, [, '`^}//*/UUW@UU<TXh *U *UUUU_TP_}UWUUUUUUU}}UWPpUT **/ꪪ *WUUUUꪪU_ *U_UUUUU}<`}P@_U}EH< U3U3U5Ed}<AUҭ&#) Х`) `HЩЩ;h@HrЩЩЩЩ/h@Hԩ=h@He}ԩKh@HԩYh@H ԩgh@Hԩuh@HЩh@HLЩЩh@HЭԩh@HԩЩf}؍Щɍh@H"ԩЩ8Щh@HЩЩ:h@;<=>?@ABCDEFGHIJMNMNMNMNMNMNMNMNMNMNMNMNMNMg}NMNMNMNMNMNMN:9:9:9:9:9:9:9:9:9:9:9:9:9:9:9:9:9:9:9:9:9:9:9:9:9:9:9:9:9:9:9:9:9:9:9:9h}:9:9:9:9:9:9:9:9:9:9:9:9:9:9:9:9:9:9:9:9:9:9:9:9'(((((()*+,-.345566345566+,-.'(((((i}((()*+,-.345566'((((((()*345566345566+,-.345566'((((((()*j}'(((((()*+,-.345566345566345566'(((((()*+,-.k}+,-.345566+,-.+,-.+,-.345566+,-.345566'((((((((()*l}345566'(((((()*+,-.+,-.+,-.345566'((((((()*m}+,-.'((((((()*345566+,-.'(((((()*345566'(((((()*345566'(((n}()*+,-.+,-.345566`&#`ο`66'(((((()*345566'(((U**L,ϑ˥ L*L*``,-L-˩,̩ͩ,Ω * 7-*1p}˩̩ͩΩ **`*8+*i*8+i8+N+/,+i+,i,d`* -M`,q}ޟ,L--,.*ܹ8+ݽ..޽M.߽,-.,ި+,L-,L-Т`r} lqv{ &.6>F.....................//////////   s}   ! "%$#./#"%$$#"%&(*,.024')+-/1356789:;<=>?@ABCDEFGHIJJJKJJKJt}JKJJKJJJLLLLNPRLLLNPRLLLNPRLLLNPRLLLMMMMOQSMMMOQSMMMOQSMMMOQSMMMUUUU  UUUU u}  UU /0 (**( ((RRRZRRZRv}RZRRZRRR UUUUUU( ( ( UU(((UU* * * UUUUUUUU00  w}@0@@@PP@VV@P01TTP@ZZ@PP@hh@))@  x}PAAPAPAP 0 0 0 0<y}00((((112>>2z}12 ( (( (  (((( ((((<<<<{?L>ҝWAABB e1(?)}> ?>>>>>`IC@*CCiC*Ci*C`>  @@·>L?> @>˽>̬>˨C}͹*Cά>͝>)>|?w@Ю>>L?>>]>L?>L?Ң>˽>̽>ͽ>ν> ˽>>}`L? ?`>ͽ>ν> >>>L?>>ҽ>>>`>`ҍ`}UU*039UU*9x@sA0*ʂ?HUHss99?CsU*f3a0Z-s9C!?{<}sssss99s995<@Q@55(@@5/@@QHlyyHHQUlHyl@@}5<@5QQ@HQ@UUllltAoBHHHHQQQll5/*(#    }         } pBC  }DODLEpddddddddd}dddddddddddD BPDVDADDEŠӮé٠Ů}ĠĠΠ٠ӠҮŠӠŠ͠îîŠӮ3pieler|}2unde |3pieler|'ameover|EFϑ˥ LELE`}  * RI 3D8頝D >ЩЍЍЍЍEEEEE}EEEҍҍҍҭ >FG 3ҍҍҍҩ !../}EEEEEE EELGEE˩̩ͩΩ EUEPDP˩D̩ͩDΩ }EG0D1?/Щԩo@ԩHGHEHEԩˍ&I'E 3E }O H ILG( O OEEyYLGҍҍҍ >ED E'E !.}. !..L.F !.. HI !..LGH lE` Щ4Щҍ}EHE ԩ>h@ЩЩEHEh@E-dF8ЍEEE`E-d͍Ѝ8} EEE`pi@i0LIJIiLILIiLI`}f$$<<<EHEi EE i EE ЍЩ}Ѝ K M>M`d ':MPD` TM aM`) M`) M`mEE|MwNiEEi}E` nM Md N` nM Md N`EͽάEɨEEEEE``EE, "NLN,  "NE}, ENL!N, EN` nM oNEȍEEE O` nM oNEȍEEE O` "N EN`EͽxNsOάE N}EEEEE` ) ` `` N N`E-ELNҐE`mEEEiE`mEEEiE`EE L}- @MEEE LH @ME0 /OEEK /O`PDQDRDSD 8PD`EE.KDiKDLDiLDELDtOoPEKD}@ KDDLDE` O O`E`E`E`E` O`E` O`ؠ 3E E`x`H0E} 3;QԽaQթOOO YOEOԪ:bֽTbנmEE {P֍E {PEؽ٠E {PELVP {PLpPkQ}/P P`i֥i` `E`E`E`          }           ƫ )2 )2PPPPPPPPP}PPlQgRPPPPPPPPPPPQQPPQQQQPPQQQQQQ(* ,* ***2,*+,*2+2 *2,1 11 111111111 1"1}1 1) 111111)1 1"1 1111 1 1 1 11 11 1 1 "1 0/.0 020 02.0 .0 . 02. *2 } *2,*2,hRcS * * *, * ,*+,*2,* &*2,*21 1 1111111111111#11&1(110, )2.111})1-111 1)2.)&)2.0, 1 1)2-1111111 11$1&1.*12. ..0000.02.0} ..$0&.(dS_T.2.%!$# "%!   )}  " !#$ " ! " ! " ! " ! " ! " ! " ! " !  ! " !   " !"&}' `T[U $ $       ' }  #! #!      !  "# $ % & ' ()*}  !#$#$ !\UWV! !      }*   (   &   $   "     !  $  }$   #$$ XVSW  #$#$ %#$#$ !%#$#$" !#%#$&" !#&}" ! !  &     ! #$#$  !$   ! }#$$#$ !    # TWOX( &' !&'   % ) % % % %} &' % % % %   % (  %  %  % &' % %} % % % % % PXKY& ' ()) ( ' &} $ % % !#$ %( !#$ #$ !  % (#$ !  222 &'   " %  % }  % % % % %LYGZ % &'% % % %} %2# 2#2 22 2    2  2#}(#%! % *222, #*222, 11HZC[ #11 1 1 #1 &1 11 #11 0222. #0222.}    ( %    #&' * }  &' ! $  &D[?\  222222222222 &  & &&(}* ,  !#$ #$ !)   "  ! &'  " !#$ #$ ! }$ """""""""""""""""""@\;]"" """"|"" """"""""""}" """" """"""""" +&2%#$*2"&%#$}2(%#$  2*%#$   2,%<]7^#$  !2/#$  }"2#$          """"""'""}"""11"111111111111 11 11 " 11 "  8^3_ " " &' " "  ""}"#$" !#$" !#$ !""!(%&""""""""""$"}"( """"& " "   " " " " % " " "4_/` " ("""""}"""""""""""""""* !"""""" "    "    } "     "      """0`+a""}"""""""""""""""   } )   """""""""""""""""""%$%,a'b  }           (+&&')+!&*$&'}'+&'    %&' (b9b!%}:bmbi^=zn#$ QSSTUUVVWXYZZZZ[[[\\]^_`aaD%&' (b9b!%ApphLspppGNppbbbbbbbbbbbbbbbbbbbbBAp!#4)/.53%2'2/50 #,5"-!'!:)..2 }ϑ˥ LxpLp`rrst s t s0p1!&t'pps ԍ }ssLs`pqpi@pqiq`27?x, s tss!``Μs utLAtΜsΜs } tLAts`ppLtpppp pȖtuq p?쭕p`ΕppLtpΖpLtr˩̩ͩΩ v }p0 B Vrz{tu0 V(0BDrEHI V9 xuLu BLPuI/O FEHLER...ADuEH }I VLt xu0 B V`rp˽q̠r uɛuuLur`ɛ `ɀɠ`i@`8 `D:*.* EH vPASCAL5.KRS Der } } } Kurs II } (c) 1988 by Action! User GroupHallo... Hier ist der Pascal Kurs}. Nachdem wir nun auf der letzten Disk mitden Schleifen angefangen haben, muessenwir dies noch ein wenig vertiefen.Ausse}r der bekannten FOR .. TO .. DOSchleifenkonstruktion gibt es auch nochzwei weitere. Wie man sicher unschwererraten kann, m}uss dies natuerlich irgendetwas mit REPEAT und WHILE zu tunhaben. So was kennt man ja schliesslichschon von ACTION!.Doch }ziehen wir ein Vergleich zwischenPascal und Action!. Dies erklaert diesebeiden Schleifenformen naemlich schonfast von selb}st: ACTION! PASCAL---------------------------------------- WHILE bed WHILE bed DO DO } BEGIN . . . . OD END;oder: DO } REPEAT . . . . UNTIL bed . OD UNTIL bed}; Erklaerung:Das 'bed' steht fuer 'BEDingung'. Istalso sowas wie : I=0 oder I>10.Hier nochmal der Hinweis: Es hand}eltsich hier ja nicht um eine Zuweisung,also: kein ':=' sondern nur "=" odereben die '>' oder "<" zeichen.Diese lassen s}ich natuerlich mit AND oder OR verknuepfen. In Pascal muessenaber um jede Einzelbedingung runde Klammern gesetzt werden. }z.B.: WHILE (I=0) AND (A=1) Do ...Am besten eine Klammer mehr setzen alszuwenig!Der BEGIN ... END Block kann bei derW}HILE Schleife natuerlich auch weg-fallen ,falls nur eine Anweisung folgt.(siehe auch letzte Clubdisk...)Wie in Action! au}ch, muss man bei REPEAToder WHILE Schleifen natuerlich selberdarauf achten, dass diese Schleifenirgendwann einmal beendet }werden oder (bei WHILE) ueberhaupt durchlaufen werden, sofern es notwendig ist .Denn wenn die Bedingung nach WHILE nichte}rfuellt wird, so wird diese Schleifenauch nie ausgefuehrt. Eine REPEAT Schleife wird, im Gegensatzzu der WHILE Schleife mi}ndestens einmaldurchlaufen. So muss auch innerhalb derSchleife dafuer gesorgt werden, dass dieBedingung nach UNTIL auch ir}gendwann einmal erfuellt wird, denn sonst wuerdeeine Endlosschleife entstehen.Doch dazu befinden sich auch DEMO Sourcefil}es auf der Disk: REPEAT.PAS WHILE.PAS----------------------------------------So, und jetzt geht's abwaerts. Und zwar}bei der FOR Schleife, die schon auf derletzten Disk behandelt wurde. Bei derFOR Schleife kann man eigentlich nichtabwaerts} zaehlen (In Action! ja auch nicht), wie man es in BASIC vielleichtmit STEP -1 tun wuerde. Auch kann manin Pascal ja kein }STEP angeben, so dassnur in 1er Schritten gezaehlt wird. Aber mit der FOR .. DOWNTO .. Schleife kann rueckwaerts gezaeh}lt werden.z.B.: FOR I:=10 DOWNTO 0 DOHier jedoch wieder nur in 1er Schritten.Will man andere Schrittweiten, so mussm}an schon "selbst Hand anlegen" und miteiner REPEAT oder WHILE Schleife den BASIC STEP simulieren.Beispiel: Es soll von 1} bis 50 in 5erSchritten hochgezaehlt werden: . . . I:=0; REPEAT WRITELN(I); I:=I+5 UNTIL I=50;(siehe F}ile STEPDEMO.PAS auf dieser DISK)----------------------------------------So,das erstmal zu den Schleifen.Nunkommen die }Procedures und Functions,dieman a) schon von Action! her kennt (kennen sollte ,hoe hoe) und b) es auchin Pascal gibt.Doc}h dazu erstmal den anderen Kursteil laden... ------------- - PASCAL6.KRS - -------------} ---------------------------------------- ------------- - PASCAL6.KRS - -------------5 PASCAL6.KRS Nun geht's um PROCs und FUNCs, oder, besser gesagt um: ----------------------}------ - PROCEDURES & FUNCTIONS - ---------------------------- Beginnen wir zunaechst mit den} PROCEDURES, bevor wir zu den FUNCTIONSkommen.Allgemein kann man sagen, dass eine PROCEDURE , innerhalb eines Pascal} Pro-gramms , ein eigenstaendiges Programmdarstellen kann. Es ist hier sogar moeglich mehrere PROCEDUREs innerhalbeiner a}nderen PROCEDURE zu pro-grammieren. Man sieht hier schon, dassPascal etwas mehr komfort bietet als diedoch etwas stark mas}chienennahe SpracheAction!, was hier hier natuerlich keineAbwertung von Action! ist !!!Der Aufbau einer PROCEDURE ist der} eines"normalen" Programms also sehr aehnlich:Zuerst das Schluesselwort PROCEDUREschreiben, dann den Namen, der aber kein}Schluesselwort aus Pascal sein darf. Also nicht WRITELN oder so...Dann kann eine Variablenvereinbarungfolgen, die dann z}u dieser PROC. lokalist (was das ist kommt gleich!).Dann schliesslich die Befehle ,die durchBEGIN und END; eingeschlossen }werden muessen!.z.B.: PROCEDURE COUNTDOWN; VAR I:INTEGER; BEGIN FOR I:=10 TO 1 DO WRITELN(I); WRITELN(}'OK...'); END;So. Dies ist also eine PROCEDURE. Wuerdeman statt des 'PROCEDURE' 'PROGRAM' schreiben , so wuerde dies bi}s auf'END;'das man in 'END.' aendern muesste , eineigenstaendiges Programm.Im gesamten Programmtext folgt die Dek-klarat}ion solcher PROCEDURES immer nachder Variablenvereinbarung des Hauptpro-gramms. Hier ein Schema: PROGRAM XYZ; VAR A,B,}C :INTEGER; PROCEDURE ZAP1; VAR A,B,C :INTEGER; BEGIN . . . END; (* DER PROCEDURE *) BEGIN (*  }DES HAUPTPROGRAMMS *) . . . END.Damit ist sicher alles gesagt.Doch halt:Wer genauer hinschaut wird feststellen,d }ass zum einen die Variablen A B und Cfuer das Hauptprogramm deklariert wurdenund zum anderen auch nocheinmal in derPROCEDU }RE auftauchen. Damit waeren wirschon bei Thema lokale und globale Var-ablen,das den Action! Programmierernnicht unbekannt  }sein sollte.Die Variablen ,die in der PROCEDURE dek-lariert werden haben nichts mit denen des Hauptprogramms zu tun. Sie  }sind beimAufruf der Prozedur vom Hauptprogrammoder einer anderen Prozedur auch nichtmit bestimmten Werten belegt. Was ist} aber ,wenn eine Prozedur aufVariablen des Hauptprogramms zugreifensoll, was ja nicht ausgeschlossen seindarf ???. Die Fra}ge ist einfach zu be-antworten: Die Variablennamen der Proz-edur duerfen dann nicht mit denen desHauptprogramms identisch }sein. Einfach,oder ???Der Vorteil prozedureigener Variablenist natuerlich der , dass man Prozedurensehr allgemein program}mieren kann und diese in verschiedene Programme einfacheinbinden kann.Der Nachteil ist, dass dadurch aber mehrSpeicher ve}rbraucht wird. Aber man kannja auch globale (also Variablen des Hauptprogramms) benutzen.Nur bei Zaehlvariablen fuer Schle}ifeninnerhalb der Proc. sollten lokale Var-iablen deklariert werden (also innerhalbder Prozedur).Um lokal und global noc}heinmal zu ver-anschaulichen ein Schema:Es ist ein nicht vollstaendiges Pro-gramm. Hinter den Prozedurnamen istimmer ange}geben, welche Var. von dieserverfuegbar sind. PROGRAMM ZAP; VAR A :INTEGER; (* FUER DAS GE- } SAMTE PRG. ALSO GLOBAL *) PROCEDURE MARKUS; (* A,B *) VAR B :INTEGER; (* LOKAL ZU } "MARKUS",ABER GLOBAL ZU "ATARI" *) PROCEDURE ATARI; }(* A,B,C *) VAR C : INTEGER; (LOKAL) BEGIN (* VON PROCEDURE ATARI *) END; BEGIN (* VON PROCEDURE MARKUS} *) END; PROCEDURE HALLO; (* A,D *) VAR D : INTEGER; (* LOKAL *) BEGIN (* PROCEDURE HALLO *) END; BEGIN } (* DES HAUPTPROGRAMMS *) END;Soweit so gut, aber auch etwas unueber-sichtlich. Die PROC. 'ATARI' ist inner-halb von }'MARKUS' definiert, so sind hier also die Variablen des Haupt-programms, von PROC. MARKUS und natuerlich die von der PROC.} ATARIselber verfuegbar. Die Variable 'B' in 'MARKUS' ist alsoGLOBAL fuer 'ATARI', andererseits aberauch lokal, da sie fu}er PROC. ausserhalbvon 'MARKUS' ja nicht verfuegbar ist.In PROC. 'HALLO', die ja NUR INNERHALBdes Hauptprogramms deklarie}rt wurde,sinddie Variablen der anderen beiden PROCs nicht mehr verfuegbar, sondern nur nochder des Hauptprogramms und natu}erlich wieder die eigenen...----------------------------------------Ein Beispiel fuer einfache PROCEDUESist auf der DIS }K unter : PROCS1.PASgespeichert.Wie das in Pascal mit Parametern und solaeuft folgt im naechsen File..!}. --------------- - PASCAL7.KRS - --------------------------------------------------"}----- --------------- - PASCAL7.KRS - --------------------------------------------------PASCAL7.KRS ----------------- - DER PASCAL KURS - ----------------- Alles ueber P$}arameter in Pascal ================================= Was sind Parameter ?Fuer Action! Programmierer eige%}ntlichkein Thema mehr, fuer Basic Pro-grammierer im gewissen Sinne auch nicht,doch in Basic benutzt man sie nur unbe-wuss&}t...Ein Parameter ist ,kurz gesagt,ein Wert,der einer Prozedur oder Funktion beimAufruf uebergeben wird.Ein Beispiel in '}Basic dazu anhand desbekannten Befehls "PLOT" (setzt ein Pixel an die angegebene Position).Im Basicprogram kann man "PLO(}T" ja nichtnur so einfach hinschreiben, sondernmuss dem "PLOT" Befehl irgendwie mit-teilen, wo ein Punkt auf dem Bildschir)}mgesetzt werden soll. Das tut man damit,indem man hinter PLOT einfach die X undY Koordinate des jeweiligen Pixels schreib*}t. z.B.: "PLOT 10,10"Die beiden "10" werden PARAMETER ge- nannt. Wenn wir in Pascal den Befehl WRITELNbenutzen, koenn+}en Parameter entwederZeichenketten sein z.B:WRITELN('Hallo')oder Variablen z.B. WRITELN(I).Bei WRITELN natuerlich auch kom,}biniert (mit Komma getrennt).Soviel zum Begriff Parameter.Durch die Parametertechnik kann man natuerlich sehr komfortabe-}l programm-ieren, denn die selbstprogrammiertenProzeduren koennen quasi wie neue Be-fehle aufgefasst und benutzt werden..}Wie umstaendlich ist es da in Basic mitGOSUB und RETURN Unterprogrammen. Dortmuesste man naemlich alle "Parameter"(wenn ma/}n sie so nennen koennte) in irgenwelche Variablen speichern und dannmit GOSUB das Unterprogramm aufrufen.Auch in TURBO BAS0}IC ist mit den PROCUnterprogrammen leider keine Parameter-uebergabe moeglich !!!Die Parameter werden einfach bei derProz1}edurdeklaration hinter dem Prozedur-namen geschrieben: PROCEDURE ZAPP(A:INTEGER);oder mehrere Parameter PROCEDURE ZAPP2}(A,B:INTEGER); oder auch gemischte Typen PROCEDURE ZAPP(A,B:INTEGER,C:REAL);Innerhalb der Prozedur koennen dieParame3}ter dann genauso wie normale Variablen behandelt werden, nur dasssie eben schon vom aufrufenden Haupt-programm oder einer 4}anderen aufrufendenProzedur mit Werten belegt sind.Der Aufruf der Prozeduren sieht dann soaus: ZAPP(1,2);oder ZAPP5}(I1,I2); ,also auch mit Variablenoder gemischt: ZAPP(1,I2);Ein konkretes Beispiel:Es soll der Befehl "PAUSE" progra6}mmiertwerden. Dieser ,ist klar, soll dannsolange das Programm anhalten, wie esim Parameter angegeben wird.also: PROCED7}URE PAUSE(A:INTEGER); BEGIN REPEAT A:=A-1; UNTIL A=0; END;Im Hauptprogramm koennte dann alsostehen: 8} PAUSE(1000); oder PAUSE(3000); Es koennen aber auch Variablen als Para-meter uebergeben werden: PAUSE(I); 9}praktisch, 'ne ???Das ganze wird auch nocheinmal im Demo-programm "PROCS2.PAS" gezeigt.Soweit sollte nun mal wieder all:}es paletti sein ,oder ???Damit waeren wir aber auch schon gleichbeim naechsten Thema...Aber das wir im naechsten File b;}e-handelt: >>>> PASCAL8.KRS <<<< ----------------------------------------m naechsten File bkPASCAL8.KRS Die Variablenparameter... ===========================Vergegenwaertigen wir un=}s nocheinmal die Prozedur PAUSE aus dem vorrange-gangenen File: PROCEDURE PAUSE(A:INTEGER); BEGIN REPEAT A:=A>}-1; UNTIL A=0; END;Wenn wir PAUSE aufrufen und als Para-meter Variablen verwenden z.B.: PAUSE(I);dann wird d?}er Wert von "I" ,das nimmtman jedenfalls an, ja nicht veraendert.Das ist ja auch genau der Fall.In bestimmten Faellen ist@} es aber durch-aus nuetzlich ,wenn die Variablen, dieals Parameter verwendet werden, von derProzedur selber veraendert werA}den koennen.Nehmen wir folgendes Beispiel:Es soll eine Prozedur programmiert werden, die das Vertauschen zweier Var-iabB}len gleichen Typs automatisch durch-fuehrt.Ein moeglicher Aufruf sollte dann soaussehen: SWAP (I1,I2);(englisch 'to sC}wap' = 'vertauschen')Wenn jetzt die Parameter in der Proz-edur veraendert wuerden, wuerde das so noch keine Auswirkung aD}uf 'I1' und 'I2'haben.Daher muss man bei der Prozedurdeklara-tion einfach VAR in die Parameterlsteschreiben. In diesem BeE}ispiel also: PROCEDURE SWAP (VAR A,B:INTEGER);Das ist alles.Werden in dieser Prozedur also 'A' und'B' veraendert, so beF}ziehen sich dieseVeraenderungen auch immer auf 'I1' und'I2'.Die fertige Prozedur lautet dann also: PROCEDURE SWAP(VAR AG},B:INTEGER); VAR MEM:INTEGER; BEGIN MEM:=A; A:=B; B:=MEM; END;Das Demoprogramm "PROCS3.PAS" auf dieserDisk zeigH}t auch noch einmal den Unter-schied zwischen den normalen Parametern(auch Konstantenparameter genannt) undden VariablenparI}ametern. Dort ist dieProzedur "SWAP1" mit normalen Parameternausgestattet; "SWAP2" dagegen benutzt Variablenparameter. Am J}besten anschaun,compilieren und starten... Manchmal ist es auch wuenschenswert, normale Parameter mit Variablenpara-mK}etern im Prozeduraufruf zu mischen:hier einige Beispiele:(die Prozedur hat hier den klangvollenNamen 'ZAP'...) PROCEDL}URE ZAP(A:INTEGER,VAR B:INTEGER, C:INTEGER); A und C sind normale Parameter B ist Variablenparameter. oder PROCEDM}URE ZAP(A1,A2:REAL,VAR B:INTEGER, C:CHAR); hier also auch mehrere Variablen gleichen Typs und auch untershiedlicheVariaN}blentypen.Beim Prozeduraufruf muss natuerlich darauf geachtet werden, dass die Var-iablentypen mit denen der in der Para-O}meterliste aufgefuehrten ueberein-stimmen. Sollte es trotzdem einmal nichtstimmen, so meldet der Compiler einenFehler. HaP}t also nicht ganz so schlimmeFolgen wie in Action!, der ja nicht aufsolche Fehler aufmerksam macht.Noch ein Hinweis zu deQ}n Variablenpara-metern: Beim Aufruf muessen natuerlichVariablen und keine konstanten Werteuebergeben werden, aber auch da R}meldetsich der Compiler im Falle eines Fehlers...weiter gehts mit den Funktionen,abererst auf der naechsten Disk, hoe hoS}e... ------------- -- PASCAL9.KRS -- ------------------------------------------------T}----- ------------- -- PASCAL9.KRS -- ------------------------------------------------PROGRAM REPEATDEMO; VAR I,A:INTEGER; BEGIN I:=1; REPEAT WRITELN(I,' MAL DURCHLAUFEN...'); I:=I+1; UNTI!V}L I=11; WRITELN;(* ----------------------------------*)(* NUN KOMMT EINE REPEAT SCHLEIFE MIT EINER DOPPELTEN ABBRUCHB!W}EDINGUNG *)WRITELN('BITTE ZAHLEN EINGEBEN (MAXIMAL 10');WRITELN('ODER ABBRUCH MIT "-1"');WRITELN; I:=1; REPEAT W!X}RITE('ZAHL ',I,' BITTE ? '); READLN(A); I:=I+1; UNTIL (I>10) OR (A=-1);(* DIE ZAHLEN WERDEN NOCH NICHT GE- SPEI!Y}CHERT, ABER DAS PROGRAMM IST JA AUCH NUR EINE DEMO. ARRAYS FOLGEN NOCH ... *)END.E- SPEI sPROGRAM WHILEDEMO; VAR I:INTEGER; BEGIN I:=1; WHILE I<11 DO BEGIN WRITELN(I,' MAL DURCHLAUFEN...'); %[} I:=I+1; END; END.:INTEGER; BEGIN I:=1; WHILE I<11 DO BEGIN WRITELN(I,' MAL DURCHLAUFEN...'); $PROGRAM DOWNTODEMO; VAR I:INTEGER; BEGIN FOR I:=10 DOWNTO 1 DO WRITELN(I); END.AL DURCHLAUFEN...'); (cPROGRAM STEPDEMO; VAR I:INTEGER; BEGIN I:=0; REPEAT WRITELN(I); I:=I+5; UNTIL I=55; END. ,zPROGRAM PROCS2; VAR I:INTEGER;PROCEDURE PAUSE(A:INTEGER);(* WARTESCHLEIFE VON 1 BIS ZUM PARA- METERWERT. PARAMETERWE1_}RT MUSS GROESSER ALS 1 SEIN !!! *) BEGIN IF A>1 THEN BEGIN REPEAT A:=A-1; UNTIL A=0; END; END;1`}BEGIN I:=1000; WRITELN('PROCEDURAUFRUF MIT PARAMETERN...'); PAUSE(3000); WRITELN('PROCEDURAUFRUF MIT PARAMETERN...');1a} PAUSE(I); (* AUCH ALS VARIABLEN *) WRITELN('PROCEDURAUFRUF MIT PARAMETERN...'); PAUSE(3000); WRITELN('PROCEDURAUFRUF MI1b}T PARAMETERN...'); PAUSE(I); WRITELN('PROCEDURAUFRUF MIT PARAMETERN...'); PAUSE (500);END.WRITELN('PROCEDURAUFRUF MI0cPROGRAM PROCS2;(* ZEIGT DEN UNTERSCHIED ZWISCHEN KONSTANTEN- UND VARIABLENPARAMETERN *) VAR I1,I2:INTEGER;PROCED5d}URE SWAP1(A,B:INTEGER);(* HIER SIND KEINE VARIABLENPARAMETER BENUTZT. DIE VARIABLEN ,DIE BEIM AUFRUF DIESER PROZEDUR 5e}UEBERGEBEN WERDEN, WERDEN ALSO NICHT VERAENDERT*) VAR MEM:INTEGER;BEGIN MEM:=A; A:=B; B:=MEM;END;PROCEDURE SW5f}AP2(VAR A,B:INTEGER);(* HIER VARIABLENPARAMETER *) VAR MEM:INTEGER;BEGIN MEM:=A; A:=B; B:=MEM;END;BEGIN I1:=5q})n";TY[\]bty/Nbx5cs| b&DOS SYSbE*LETSFROGCOMbeoBUMPERS COMbSCROLL OBJb!PASCAL5 KRSb(PASCAL6 KRSb#PASCAL7 KRSb<PASCAL8 KRSbUREPEAT PASbZWHILE PASb\DOWNTO PASb]STEPDEMOPASb^PROCS2 PASbcPROCS3 PASbuPROCS1 PASb1zACTBAS1 KRSb0ACTBAS2 KRSbACTBAS3 KRSb ACTINFO7KRSbDLIS OBJbACTKURS POWbMENUE POWbMAGA5 MUSb0MAGAZIN5MUSbOWAVE2 MUSbcEXAMPL1 MUSbyEXAMPL2 MUSb EXAMPL3 MUSbDAMATA MUSbEXAMPLE4MUSbORIGTRAKMUSbPASKURS POWbHMARKT TXTb0MAGA1 TXTb DIST12 TXTb.6MAGA2 TXTbfMESSAGE COMb tACTFONT FNT1; I2:=2; WRITELN(I1,' ',I2); SWAP1(I1,I2); WRITELN(I1,' ',I2);(* "I1" UND "I2" WERDEN NICHT VER- AENDERT, DA IN SWA5r}P1 DIE PARAMETER NICHT ALS VARIABLENPARAMETER DEK- LARIERT SIND! *) WRITELN; WRITELN('--------------------------')5s}; WRITELN; I1:=1; I2:=2; WRITELN(I1,' ',I2); SWAP2(I1,I2); WRITELN(I1,' ',I2);(* "I1" UND "I2" SIND HIER VERTAUSCHT 5t} WORDEN *) END.I2:=2; WRITELN(I1,' ',I2); SWAP2(I1,I2); WRITELN(I1,' ',I2);(* "I1" UND "I2" SIND HIER VERTAUSCHT 4PROGRAM PROCS1;(* DEMO FUER EINFACHE PROZEDURAUF- RUEFE !!*)PROCEDURE MK_SPECIAL; PROCEDURE COUNTDOWN; VAR I1,I9v}2:INTEGER; BEGIN FOR I1:=10 DOWNTO 1 DO BEGIN WRITELN(' ',I1); I2:=1; REPEAT (* WARTESCHLEIF9w}E *) I2:=I2+1; UNTIL I2=2000; END; END; (* VON COUNTDOWN *) BEGIN (* VON PROC MK_SPECIAL *) WRITELN('9x}DIES IST DIE SUPER SUPER DEMO '); COUNTDOWN; END;PROCEDURE MK_KOMMENTAR; BEGIN WRITELN; WRITELN('DAS IST JA TOTAL 9y}UEBERTRIEBEN!'); END;BEGIN (* DES HAUPTPROGRAMMS *) MK_SPECIAL; MK_KOMMENTAR;END.N; WRITELN('DAS IST JA TOTAL 8^***************************************** ** ** ={} ** ACTION & BASIC ** ================== ** =|} ** *****************************************Ba=}}sic Beispiele Action! Aequivalent--------------- ------------------- (%) bedeutet ,dass =~} es diesen Befehl in Action! nicht gibt...ABS =} gibt es in Action! eigentlich nicht, aber man kann sich ja be=}helfen, indem man einfach eine Function program- niert: =} INT FUNC ABS(INT I) IF I<0 THEN I==*-1 FI RETURN (I) Di=}es geht natuer- lich nur bei INT Zahlen. Ein Aufruf koennte z.=}B. so sein: I=ABS(I),wenn I eine INT Variable ist.---------=}-------------------------------ADR Bei Strings (also BYTE Arrays) oder =} allen anderen Arrays gibt der Array-Name die Anfangsa=}dresse des Arrays zurueck. Bei einfachen Var- iablen gibt der=} "@" Operator die Speicherstelle der Variablen zu- =} rueck. z.B.: PRINTCE(@I) ----------------------------------------AND =} AND (in IF THEN FI Bedingungen) bitweises UND mit =} "&" ----------------------------------------ASC %---------------------=}-------------------ATN %----------------------------------------BYE %--------------=}--------------------------CLOAD Im Editor CONTROL+SHIFT+R druecke=}n, dann von "C:" laden.----------------------------------------CHR$ % (in Action! is=}t ein Zeichen ja sowieso ein BYTE Variable,so dass =} diese Function entfallen kann)----------------------------------------CLOG =} %----------------------------------------CLOSE #3 CLOSE(3)---------------------------------=}-------CLR %----------------------------------------COLOR 1 COLOR=1--------------------=}-------------------- COM Arraydeklaration----------------------------------------CONT =} "Proceed" Kommando in der Monitorzeile----------------------------------------COS =} %----------------------------------------CSAVE Im Editor CONTROL+SHIFT+W =} druecken, dann auf "C:" speichern.----------------------------------------DATA =} % (evtl. bei Array deklaration die einzellnen Ele- =} mente belegen.)----------------------------------------DEG %----------------------------------------=}DIM Arraydeklaration----------------------------------------DOS ueber Monitor------=}----------------------------------DRAWTO X,Y DRAWTO(X,Y)----------------------------------------END =} das Programm wird mit der RETURN Anw- eisung der letzen =} PROC in einem Pro- gramm verwendet.----------------------------------------ENTER si=}ehe LOAD----------------------------------------EXP %----------------------------------------FOR I=1=} TO 20 FOR I=1 TO 10 . DO . . . .NEXT I =} OD----------------------------------------FRE(0) % ----------------------------------------GET #1,A =} A=GET(1)----------------------------------------GOSUB blos nicht so was in=} Action!. Hier gibts ja PROCs, gell ???----------------------------------------=}GOTO % (Ha Ha)----------------------------------------GRAPHICS 1 GRAPHICS(1)-----------------=}-----------------------IF I=0 THEN I=1 IF I=0 THEN I=1 FI (IF . THEN . ELSE =}kommt im Turbo Basic Teil)----------------------------------------INPUT I I=INPUTB() =} I=INPUTI() I=INPUTC() (je nachdem, welcher Vari=}ablentyp einge- geben werden soll!)INPUT #1,I I=INPUTBD(1) =} I=INPUTID(1) I=INPUTCD(1) (je nachdem, welcher Variablentyp ei=}nge- geben werden soll!)INPUT A$ INPUTS(A) (nur wenn A ein BYTE =} ARRAY ist !!!)INPUT #1,A$ INPUTSD(1,A) (nur wenn A ein BYTE =} ARRAY ist !!!)----------------------------------------INT(X) %----------------------------------------=}Weiter geht's mit >>> ACTBAS2.KRS <<<--------------------------------------------------------------------<_***************************************** ** ** A} ** ACTION & BASIC ** ================== ** A} ** TEIL II ** *******A}**********************************LEN % (die Laenge eines Strings steht in A} Element 0 des BYTE Arrays)----------------------------------------LET A} % (Variablen werden nur mit "=" be- legt.)-----------------------------------A}-----LIST %----------------------------------------LOAD Im Editor A}CONTROL+SHIFT+R druecken, dann das Filespec eigeben.------------------------------A}----------LOCATE X,Y,A A=LOCATE(X,Y)----------------------------------------LOG %-----------A}-----------------------------LPRINT % zur Ausgabe auf Drucker einen A} Datenkanal oeffnen und dann mit StandartPRINT BeA}fehlen die Ausgabe machen: OPEN(1,"P:",8,0) PRINTDE(1,"A}Hi!")----------------------------------------NEW Im Editor SHIFT+"<"-------------A}---------------------------NOT %----------------------------------------NOTE #1,SEK,BYT NOTE(1,SEA}K,BYT)----------------------------------------ON ... GOSUB/GOTO %----------------------------------------OPEN #1,4A},0,"D:XY" OPEN(1,"D:XY",4,0)----------------------------------------OR OR bitweiA}ses ODER mit dem "%" Operator----------------------------------------A=PADDLE(0) A=PADDLE(0)A}----------------------------------------A=PEEK(710) A=PEEK(710)A=PEEK(I) A=PEEK(I)----------------A}------------------------PLOT X,Y PLOT (X,Y)----------------------------------------POINT #1,SEK,BYT POIA}NT(1,SEK,BYT)----------------------------------------POKE MEM,WERT POKE(MEM,WERT)-------------------------------A}---------POP %----------------------------------------POSITION X,Y POSITION(X,Y)------------A}----------------------------PRINT "Hi" PRINTE("Hi")PRINT "Hi"; PRINT("Hi")--------------------------A}--------------A=PTRIG(0) A=PTRIG(0)----------------------------------------RAD %----------A}------------------------------READ %----------------------------------------REM alles A}was im Editor hinter dem Semi- kolon (";") steht.--------------------------------A}--------RESTORE % ----------------------------------------RETURN RETURN (bei PROCs A} oder FUNCs)---------------------------------------- RND A=RAND(0) liefert A} Zufallszahl von 0 bis 255. A=RAND(10) von 0 bis 10.-------A}---------------------------------RUN ueber Monitorzeile----------------------------------------SAVE A} Im Editor CONTROL+SHIFT+"W" drueken, dann File- A}spec tippen.----------------------------------------SETCOLOR 1,0,0 SETCOLOR(1,0,0)--------------------------------A}--------SGN %----------------------------------------SIN %-------------------------A}---------------SOUND 1,255,14,15 SOUND(1,255,14,15)----------------------------------------SQR %-A}---------------------------------------STATUS %----------------------------------------STEP A} %----------------------------------------A=STICK(0) A=STICK(0)----------------------------------------A=A}STRIG(0) A=STRIG(0)----------------------------------------STOP BREAK()----------------------A}------------------A$=STR$(10) STRB(10,A) STRI(10,A) oder STRC(10,A) A} A muss BYTE Array sein.----------------------------------------TRAPA} "ERROR" muss auf eine eigene PROC gelegt werden. A} (siehe Clubmaga #1)----------------------------------------USR dazu muss das ML A}Programm in Form von Zahlen in einer PROC gespeichert sein. zA}.B.: PROC ML() [ 104 169 0 ] RETURN A} Die eckigen Klammern nicht ver- gessen !!!--------------------A}--------------------A=VAL(A$) A=VALB(A) A=VALI(A) oder A=VALC(A) A} A muss BYTE Array sein.----------------------------------------XIO 254,#1,0,0,"D:" A} XIO(1,0,254,0,0,"D:" Achtung: Der 2.Para- meter muss 0A} sein!!!----------------------------------------Es geht weiter mit >>> ACTBAS3.KRS <<<-------------------A}-----------------------------------------------Es geht weiter mit >>> ACTBAS3.KRS <<<-------------------@***************************************** ** ** E} ** ACTION & TURBOBASIC ** ===================== *E}* ** *****************************************E}TURBO BASIC ACTION! Aequivalent----------- -------------------IF A=0 : ... IF A=0 THEN ... EE}LSE ELSE . . . . . . FI E} ENDIF ----------------------------------------REPEAT DO . . . E} . . . UNTIL I=0 UNTIL I=0 OD---------------------------------E}-------WHILE I<10 WHILE I<10 . DO . . . .WEND E} OD----------------------------------------DO ... LOOP DO ... OD---------------------------------E}-------EXIT EXIT----------------------------------------PROC NAME PROC NAME() . E} . . . . . ENDPROC RETURN------------------------------------E}----EXEC NAME NAME()----------------------------------------ON ... EXEC %------------------------E}----------------GO# NAME %----------------------------------------ON ... GO# %-----------------E}-----------------------RESTORE # %----------------------------------------DPOKE A,I POKEC(A,I)-E}---------------------------------------MOVE SOURCE,DEST,ANZ MOVE(DEST,SOURCE,ANZ)-------------------E}----------------------MOVE SOURCE,DEST,ANZ %----------------------------------------BPUT %BGET E} %----------------------------------------%PUT %%GET % ---------------------------E}-------------FILLTO % CLS % GET KEY %TEXT % CIRCLE E} % PAINT % TIME$ % PAUSE % DSOUND % --------------------------E}--------------SOUND SNDRST()DSOUND SNDRST()----------------------------------------A=DPEEKE}(I) A=PEEKC(I)----------------------------------------INSTR %UINSTR % ERR E} %ERL % TIME % FRAC % TRUNC % -----------------------E}-----------------A=RAND(10) A=RAND(10)----------------------------------------HEX$ %DEC E} % ----------------------------------------& &! %EXOR XORE}----------------------------------------DIV %MOD % (wozu auch ???)---------------------E}-------------------DIR Im Editor CONTROL+SHIFT+"R" tippen, dann E} "?1:*.*". Die Directory wird in den Textspeicher E} geladen!!!---------------------------------------- That's it, wow...----------------------------------------E} geladen!!!---------------------------------------- That's it, wow...----------------------------------------D***************************************** ** ** I} ** Der Action! Kurs ** ================== ** I} ** von der Action! User Group ** *******I}**********************************Auf vielfachen Wunsch kommt nun eine Gegenueberstellung von Action und Basic.Die I}folgende Liste gibt jeweils den Basic Befehl oder die Befehlsstrukturund dann das entsprechende Action! Aequivalent dazuI} an. Mit Hilfe dieserListe sollte es dann leicht moeglichsein Basic Programme in Action! umzu-wandeln (sofern das Basic PrI}ogramm nichtzu arg verschachtelt ist und auch keineFlieskommaarithmetik benutzt wird. Oder man schaut sich die Liste nur mI}also an ,damit man evtl. noch mehr mitAction! vertraut wird.Die Liste ist unter: ACTBAS.KRSgespeicherJ}t und sollte evtl. ausgedrucktwerden.----------------------------------------ter: ACTBAS.KRSgespeicherHRPh3()ԩ=˩`˩`HH˽Q ԍhh@," APQ ]LWA 4 FILEGURSYSTECOLARRADSTARCLRCORAINCOFARBMEKEFLIPSOUNFILSLADE_TXINFO_OULADE_TEXFILE_TESMEDI_R}FILESMEDI_LADE z8>AB`@@I:9 9 Ad @ @ R}<>?AeA?;@ , ] 'U:A6R},B3h'Z D:DLIS.OBJ6-A(1@+1A @2AR@<TF6-UR}:A`,P-%@0ZF:,"@A0d n+%@A+%@A@x##-- FARBENR} AUF 0 SETZEN --6-?:A6,\O-%@# QTO6-@ -%@#R} )6-%@!AU)6-@    Q] P A2(6-@6-F:%,(%R }11()}󠠠E-@"E(+렯-R }@!!( * Action! Info *!!( * Teil 1 *!!( * Teil 2 *!!( R }* Teil 3 *!!( * Menue! laden *6<@+6-R:,'F:Ad,AU+)J%"@E)"@(R }%6-@T%"@a)"@)%6-@^"AU6-AUh#6-@#%r)"@R }!@)6-&@|)"@ @)6-%@6-F:%,%PA""=T:R},")"AU1BB@d'A81M@1 +'0@1M@R}("@$6.D:ACTINFO7.KRS(\'"@ #6. D:ACTBAS1.KRS'\'"@#6. D:ACTBAS2.KRS'\'"R}@#6. D:ACTBAS3.KRS'\%"@!6. D:MENUE.POW%\\O< -@6@<2R}@@@  2M@QO]@#+=0@@OAR@&YY(R}P堮䠠0XX(PR}栠: T:,ApD%/]++0@R}/P   % ] PZ D:SCROLL.OBJ-@B:,A5%@:7<,,  +@AVR}AV]A A'A  AT9A@KA @t]A @? +'0@R}9AR@?(}6-?: Br,%O;@ 0@@;@R}QW]++0@@E0@@WAR@ 6-@@6(R}堣2-@@2(<=T:,"( % Q D:ACTKUR}RS.POW堣2-@@2(<=T:,"( % Q D:ACTKUP   MENUE.POW (B SEITE)S +'0@@ A0@@ @SAR@V}:-@@:( Bitte Clubdisk Seite #1 einlegen(1-@@1(und Feuerknopf druecken25<=T:,"V}% @5% D:MENUE.POW D:MENUE.POWgen(1-@@1(und Feuerknopf druecken25<=T:,"T4[0 15 13 12 10 8 : 6 4 2 1 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0Z} 0 0 00 0 0;010 8 6 5 4 3 2 1 1 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0Z} 0 0 0 0 0 00 0 0010 8 6 6 5 5 4 4 3 3 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0Z } 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 015 15 15 15 13 : 13 13 13 11 1111 11 9 9 9 : 9 9 9 9 97 7 7 7 7 5 5 5 5 5 Z!}3 3 3 3 3 1 1 1 1 1 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 003 4 5 6 7 : 8 9 10 11 1111 11 11 11 11 11 11 11 11 Z"}11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 1110 10 10 10 10 8 8 8 8 8 6 6 6 6 6 4 4 4 3 2 2 1 00Z#}10 10 9 9 8 8 7 7 6 6 5 5 4 4 33 3 3 2 2 2 1 1 1 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 00Z$} 0 0][MARKE 1 T8 A1 E2 D2 E2 JMP 1MARKE 2 T8 A1 F2 E2 F2 JMP 2 MARKE 3 T8 A1 E2 T8 D2 T16 E2 T8 G2 T16 G2 TZ%}8 F2 E2 D2 JMP 3MARKE 4 T16 HKU 1 1 G2 F2_ G2 F2_ G2 F2_ G2 F2_ G2 F2_ E2 HKU 1 2 T4_ D2 HKU 1 1 JMP 4STARTSTAZ&}T 0 0 1 REL 0 0 1 HKU 0 1 KLG 0 192STAT 1 1 2 REL 1 0 1 HKU 1 1 KLG 1 160;STAT 2 2 1 REL 2 0 1 HKU 2 1 KLG 2 192STAT 3 3 1Z'} REL 3 0 0 HKU 3 0 KLG 3 128 RELT8 14STAT 0 0 0 IRQ 1 1 T1 PAU PAU IRQ 2 1 PAU T2 PAU Z(} T16 LOW 0 LOW 0 LOW 0 LOW 0 LOW 0 LOW 0 LOW 0 LOW 0STAT 0 0 1MARKE 99 HKU 1 1 IRQ 1 1 ;JMP 99 T8 Z)} A8 PAU A9 PAU:A8 20 A9 PAU A8 PAU A9 PAU:A8 20 A9 PAU A8 PAU A9 PAU:A8 20 A9 PAU A8 PAU A9 20 :A8 20 A9 PAU Z*}T16 A8 PAU A8 PAU:A9 PAU A9 PAU A8 20 A8 PAU:A9 PAU A9 PAU A8 PAU A8 PAU:A9 PAU A9 PAU A8 20 A8 PAU:A9 PAU AZ+}9 PAUIRQ 2 1T8 F8 PAU F9 PAU F8 20 F9 PAU F8 PAU F9 PAU F8 20 F9 PAU F8 PAU F9 PAU F8 20 F9 PAU F8 PAUZ,} F9 20 F8 20 F9 PAU T8IRQ 3 1 G8 PAU G9 PAU G8 20 G9 PAU G8 PAU G9 PAU G8 20 G9 PAU G8 PAU G9 PAU G8 20 G9 PAUZ-} G8 PAU G9 20 G8 20 G9 PAUIRQ 3 0 D8 PAU D9 PAU D8 20 D9 PAU D8 PAU D9 PAU D8 20 D9 PAU Z.} IRQ 4 1T16 D8 PAU D8 PAU:D9 PAU D9 PAU D8 20 D8 PAU:D9 PAU D9 PAU D8 PAU D8 PAU:D9 PAU D9 PAU D8 Z/}20 D8 20 :D9 20 D9 20 JMP 99ENDE] D9 PAU D8 20 D8 PAU:D9 PAU D9 PAU D8 PAU D8 PAU:D9 PAU D9 PAU D8 X0 [0 15 13 12 10 8 : 6 4 2 1 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0^1} 0 0 0 0 00 0 0;010 8 6 5 4 3 2 1 1 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0^2} 0 0 0 0 0 0 0 00 0 0010 8 6 6 5 5 4 4 3 3 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00^3} 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 22 2 2 2 2 2 2 2 2 2 22 2 2 2 2 2 2 2 2 2 22 2 2 2 2 2 2 2 2 2 22 2 2 2 2 ^4}2 2 2 2 2 22 2 2 2 2 2 2 2 2 2 22 2 2 2 2 2 2 2 2 2 22 2 00 10 10 10 10 10 10 10 10 10 10 109 9 8 8 7:7 6 6 5 5:4 4 3 ^5}3 2:2 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 1010 10 10 10 10 10 10 ^6}10 10 10 1010 10 1003 4 10 6 7 : 8 9 10 11 1111 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 1^7}1 11 11 11 11 11 1110 10 10 10 10 8 8 8 8 8 6 6 6 6 6 4 4 4 3 2 2 1 0010 10 9 9 8 8 7 7 6 6 5 5 4 4 33 3 3 2 2 2 1^8} 1 1 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0][MARKE 1 T8 A1 E2 D2 E2 JMP 1MAR^9}KE 2 T8 A1 F2 E2 F2 JMP 2 MARKE 3 T8 A1 E2 T8 D2 T16 E2 T8 G2 T16 G2 T8 F2 E2 D2 JMP 3MARKE 4 T16 HKU 1 1 G2 F2_^:} G2 F2_ G2 F2_ G2 F2_ G2 F2_ E2 HKU 1 2 T4_ D2 HKU 1 1 JMP 4MARKE 10 STAT 0 0 1 REL 0 0 1 HKU 0 1 KLG 0 192STAT 1^;} 1 2 REL 1 0 1 HKU 1 1 KLG 1 160STAT 2 2 0STAT 3 3 1 REL 3 0 0 HKU 3 0 KLG 3 128 HKU 1 1 IRQ 1 1 T8 A8 ^<}PAU A9 PAU:A8 20 A9 PAU A8 PAU A9 PAU:A8 20 A9 PAU A8 PAU A9 PAU:A8 20 A9 PAU A8 PAU A9 20 :A8 20 A9 PAU T16 ^=} A8 PAU A8 PAU:A9 PAU A9 PAU A8 20 A8 PAU:A9 PAU A9 PAU A8 PAU A8 PAU:A9 PAU A9 PAU A8 20 A8 PAU:A9 PAU A9 PAUI^>}RQ 2 1T8 F8 PAU F9 PAU F8 20 F9 PAU F8 PAU F9 PAU F8 20 F9 PAU F8 PAU F9 PAU F8 20 F9 PAU F8 PAU F9 20 ^?} F8 20 F9 PAU T8IRQ 3 1 G8 PAU G9 PAU G8 20 G9 PAU G8 PAU G9 PAU G8 20 G9 PAU G8 PAU G9 PAU G8 20 G9 PAU G8^@} PAU G9 20 G8 20 G9 PAUIRQ 3 0 D8 PAU D9 PAU D8 20 D9 PAU D8 PAU D9 PAU D8 20 D9 PAU IRQ 4 1T16 ^A} D8 PAU D8 PAU:D9 PAU D9 PAU D8 20 D8 PAU:D9 PAU D9 PAU D8 PAU D8 PAU:D9 PAU D9 PAU D8 20 D8 20 :D9 20 D9 20^B} RTSMARKE 5T1 C E G JMP 5MARKE 6T1 D F_ A JMP 6MARKE 7 T8 C8 PAU JMP 7MARKE 8 LOW 0 PAU PAU LOW 0 PAU PAU ^C}LOW 0 PAU PAU LOW 0 PAU PAURTSMARKE 9 T8 G8 PAU JMP 9MARKE 50T16 LOW 0 LOW 0 LOW 0 LOW 0 PAU LOW 0 LOW 0 P^D}AU JMP 50RTSMARKE 51 T16 LOW 0 PAU LOW 0 PAU:LOW 0 PAU LOW 0 PAU PAU 20 LOW 0 PAU: LOW 0 PAU PAU PAUJMP 51MARKE 11 ^E}IRQ 4 0STAT 0 0 1 REL 0 0 1 HKU 0 1 KLG 0 192STAT 1 1 2 REL 1 0 1 HKU 1 3 KLG 1 160STAT 2 2 2 REL 2 0 1 HKU 2 3 KLG 2 16^F}0STAT 3 3 2 REL 3 0 1 HKU 3 3 KLG 3 160;JMP 80IRQ 5 1 T16 C8 C8 C9 C9 C8 C8 C9 C9 IRQ 6 1 D8 D8 D9 D9 D8 D8 D9 D9 ^G}IRQ 5 1 C8 C8 C9 C9 C8 C8 C9 C9 IRQ 6 1 D8 D8 D9 D9 D8 D8 D9 D9 IRQ 6 0 MARKE 80STAT 0 0 2 REL 0 0 1 H^H}KU 0 1 KLG 0 192STAT 1 1 1 REL 1 0 1 HKU 1 1 KLG 1 128STAT 2 2 1 REL 2 0 1 HKU 2 1 KLG 2 128STAT 3 3 1 REL 3 0 0 HKU 3 0 K^I}LG 3 128 IRQ 7 1 T16 JSR 8 JSR 8 JSR 8 JSR 8T1 PAU PAU PAU STAT 2 2 0 STAT 3 3 0STAT 0 0 1 STAT 1 1^J} 2IRQ 50 1 T4 C8 C8 C8 C8 G8 G8 G8 G8 A8_ A8_ A8_ A8_ F8 F8 T8 F8 F9 D9_ C9STAT 3 3 2 IRQ 51 1 T4^K} C8 C8 C8 C8 G8 G8 G8 G8 A8_ A8_ A8_ A8_ F8 F8 T8 F8 F9 D9_ C9 RTSSTARTSTAT 0 0 1 REL 0 0 1 HKU 0 1 KLG 0 ^L}192STAT 1 1 2 REL 1 0 1 HKU 1 1 KLG 1 160;STAT 2 2 1 REL 2 0 1 HKU 2 1 KLG 2 192STAT 3 3 1 REL 3 0 0 HKU 3 0 KLG 3 128 ^M} RELT8 14 STAT 0 0 0 IRQ 1 1 T1 PAU PAU IRQ 2 1 PAU T2 PAU T16 LOW 0 LOW 0 LOW 0 LOW^N} 0 LOW 0 LOW 0 LOW 0 LOW 0STAT 0 0 1MARKE 99JSR 10JSR 11 ; MAINJMP 99ENDE] T16 LOW 0 LOW 0 LOW 0 LOW\][0 9 11 12 12 11 11 10 10 9 9 8 8 7 7 6 6 5 5 5 5 4 4 4 4 3 3 3 2 2 2 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0bP} 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 15 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 bQ}0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 10 10 10 8 7 6 5 4 3 2 2 2 0 0 0 0 0 0 0 0bR} 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ][MARKE 10 REL bS}3 0 1 JSR 1 JSR 1 ;JSR 1 JSR 1 REL 3 253 1 JSR 1 ; JSR 1 REL 3 254 1 JSR 1JMP 10MARKE 1 T16 A8 CON A8 CON A9 LOW 0bT} A9 CON A8 20 A8 CON A9 LOW 0 A9 CON A8 CON A8 CON A9 LOW 0 A9 CON A8 20 A8 CON A9 LOW 0 A9 CON RTS MARKEbU} 9 REL 3 0 1 JSR 8 JMP 9MARKE 8 T16 A8 LOW 0 A8 LOW 0 A9 LOW 0 A9 LOW 0 A8 LOW 2 A8 LOW 2 A9 LOW 2 A9 LOW 2 A8 bV}LOW 4 A8 LOW 4 A9 LOW 4 A9 LOW 4 A8 LOW 6 A8 LOW 6 A9 LOW 6 A9 LOW 6RTS ; ------------------------------MARKE 2 IRQbW} 10 1 STAT 4 2 2 T1 PAU PAU PAU PAU STAT 3 2 2 T1 PAU PAU PAU PAU RTSMARKE 3STAT 2 1 1 RELFR 2 0 0 1 IRQ 10 bX}1 T8_ A A E1 D1 T8 C1 B T8_ A A E1 D1 T8 C1 BT8_ F_ F_ A A T8 B AT8_ G G B B T8 G G1T1 E1 T2 CON T16 CON A_ B bY}C1 C1_ D1 D1_ E1 RTSMARKE 4 ; MARKE 3 MIT UEBERLEITUNG IRQ 10 1 T8_ A A E1 D1 T8 C1 B T8_ A A E1 D1 T8 C1 BTbZ}8_ F_ F_ A A T8 B AT8_ G G B B T8 A G T1 A IRQ 9 1 PAU RTS; -------- PART II ------------MARKE 11 REL 3 0 1 JSb[}R 12 JSR 12 ;JSR 1 JSR 1 REL 3 253 1 JSR 12 ; JSR 1 REL 3 254 1 JSR 12JMP 11MARKE 13 REL 3 251 1 JSR 12 JSR 12JMP 13b\}MARKE 12 T16 A8 LOW 5 CON CON A9 LOW 0 CON CON A8 20 CON CON A9 LOW 0 CON CON A8 LOW 0 CON LOW 0 : A9 CON CON Lb]}OW 3 A8 LOW 3 CON CON A9 CON CON LOW 5RTS MARKE 20 IRQ 11 1T1 PAU PAU PAU PAUT4 A C1 E1 T8 G1 T1 A1 T8 CONT4 F_ b^}F1_ E1 T8 C1_ T4 C1_ T8 D1 T2_ B IRQ 13 1T1 PAU T4 E G_ A B RTS; *********************************START STAT 0 0 1 b_} REL 0 0 1 HKU 0 0 KLG 0 160 STAT 2 1 0 REL 2 0 1 HKU 2 0 KLG 2 160STAT 3 2 2 REL 3 0 1 HKU 3 2 KLG 3 192STAT 1 3 2b`} REL 1 0 0 HKU 1 1 KLG 1 128AUDCTL 4 RELT8 14 JSR 2 JSR 3 JSR 4 JSR 20 JSR 3 JSR 4 JSR 3 JSR 4 JSR 20 JSba}R 3 JSR 4 JSR 3 JSR 4 JSR 20 JSR 3 JSR 4 JSR 3 JSR 4 JSR 20 JSR 20 JSR 3 JSR 4 JSR 4 JSR 4 JSR 20 JSR 3 JSR 4 JSR 3 Jbb}SR 4 JSR 20 JSR 20 JSR 3 JSR 4 JSR 3 JSR 4 JSR 20 JSR 3 JSR 4ENDE]]3 JSR 4 JSR 4 JSR 4 JSR 20 JSR 3 JSR 4 JSR 3 J`K[0 15 15 13 13 10 10 8 7 6 104 3 2 1 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 fd}0 0 0 00 0 0;02 3 4 5 6 7 8 9 9 9 9 9 9 8 8 7 7 6 6 5 5 4 4 3 3 2 2 1 1 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0fe} 00 0 0 0 0 0 0 0 0 00 0 0010 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0ff} 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0010 10 10 9 8 7 6 5 4 40 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 fg}0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0][MARKE 1T8 A T16 A1 A1 T8 A A1 A E1 T16 G1 F1_ E1 D1JMP 1MARKE fh}5T8 A PAU A1 PAU A LOW 0 A1 PAU JMP 5MARKE 6T16 A PAU LOW 0 PAU PAU PAU A1 PAU LOW 0 PAfi}U PAU LOW 0 A 2 LOW 0 PAU PAU PAU A1 PAU LOW 0 PAU PAU LOW 0JMP 6MARKE 2 T16 A1 D1 E1 A fj}RTS MARKE 3 T1 PAU RTS STARTSTAT 0 0 1 REL 0 24 1 HKU 0 1 KLG 0 160STAT 1 1 2 REL 1 0 1 HKU 1 0 KLG 1 160STAT 2 2 2 REfk}L 2 0 0 HKU 2 3 KLG 2 128STAT 3 3 2 REL 3 0 0 HKU 3 2 KLG 3 128RELT8 14 AUDCTL 1 ; 1 IRQ 6 1 ;T1 PAUfl} PAU PAU PAU PAU PAU MARKE 99T4 HKU 0 1 E1 D1 C1_ D1 E1 D1 C1_ D1HKU 0 3T8 E1 E1 E1 E1 E1 E1 E1 E1 T16 A1 A1 A1 A1fm} A1 A1 A1 A1 A1 CONT8 PAU PAU PAU JMP 99IRQ 5 0 ENDE][0 15 15 13 13 10 10 8 7 6 54 3 2 1 0 0 0 0 0 00 0 0 0 0 fn}0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0;02 3 4 5 6 7 8 9 9 9 9 9 9 8 8 7 7 6 6fo} 5 5 4 4 3 3 2 2 1 1 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0010 0 0 0 0 0 0 0 0 00 0 0 0 0fp} 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0010 10 10 9 8 7 6 5 4 4fq}0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0][MARKE fr}1T8 A T16 A1 A1 T8 A A1 A E1 T16 G1 F1_ E1 D1JMP 1MARKE 5T8 A PAU A1 PAU A LOW 0 A1 PAU JMP 5MARKE 6T16 A fs} PAU LOW 0 PAU PAU PAU A1 PAU LOW 0 PAU PAU LOW 0 A PAU LOW 0 PAU PAU PAU ft} A1 2 LOW 0 PAU PAU LOW 0JMP 6MARKE 2 T16 A1 D1 E1 A RTS MARKE 3 T1 PAU RTS STARTSTAT 0 0 1 REL 0 24 1 HKU 0 1fu} KLG 0 160STAT 1 1 2 REL 1 0 1 HKU 1 0 KLG 1 160STAT 2 2 2 REL 2 0 0 HKU 2 3 KLG 2 128STAT 3 3 2 REL 3 0 0 HKU 3 2 KLG 3 1fv}28RELT8 14 AUDCTL 1 ; 1 ;STAT 3 3 0IRQ 6 1 T1 PAU PAU PAU PAU PAU PAU MARKE 99 HLEN 0 64 HLEN fw}1 64 HKU 0 1 HKU 1 1T1 A1 G1_ T2_ G1 T8 E1 F1 HKU 0 2 HKU 1 2T8 G1 G1 G1 G1 A1 G1 A1 G1 HKU 0 3T16 A1 A1 A1fx} A1 A1 A1 A1 G1T4 CON CON HLEN 0 1 T8 F F1 F_ F1_ G G1 G_ G1_ JMP 99IRQ 5 0 ENDE]A1 G1 A1 G1 HKU 0 3T16 A1 A1 A1d\[0 15 15 13 13 10 10 8 7 6 104 3 2 1 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 jz}0 0 0 00 0 0;08 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0j{}0 0 0 0 0 0 0 0 0 00 0 0010 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 j|}0 0 0 00 0 0 0 0 0 0 0 0 00 0 0010 10 10 9 8 7 6 5 4 40 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0j}} 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 j~}0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0][MARKE 1T16 A PAU LOW 0 PAU PAU PAU A1j} PAU LOW 0 PAU PAU LOW 0 A 2 LOW 0 PAU PAU PAU A1 PAU LOW 0 PAU PAU LOW 0RTS ; MARj}KE 2 ; (FOR IRQ 1 1 T1 JSR 1 JSR 1REL 1 3 1 JSR 1 JSR 1REL 1 254 1 JSR 1 JSR 1REL 1 0 1 JSR 1 JSR 1JMP 2 MARj}KE 10 ; (SUB) T16 CON G G G:G A CON E:G G G G:G A CONHKU 0 0 T8 CON T8_ A T8 G E T8_ G A HKU 0 1 T8 CON j} T16 G G G G:G G CON CON:G G G G:G G G CON: A A A A:A A A A:A A G A:A A G A:RTSSTARTSTAT 0 0 1 REL 0 36 1 HKU j}0 1 KLG 0 160STAT 1 1 2 REL 1 0 1 HKU 1 0 KLG 1 160STAT 2 2 2 REL 2 0 0 HKU 2 3 KLG 2 128STAT 3 3 2 REL 3 0 0 HKU 3 2 KLG j}3 128RELT8 14 AUDCTL 1 ; 1 IRQ 2 1 HKU 3 4 T1 PAU PAU PAU PAU HKU 3 2 PAU PAU PAU PAU MARKE 99j} JSR 10HKU 2 4 JSR 10HKU 3 4 T1 PAU PAU PAU PAU HKU 2 3 T1 PAU PAU PAU PAU HKU 3 2 T1 PAU PAU PAU PAU JMP 99ENDj}E]HKU 2 4 JSR 10HKU 3 4 T1 PAU PAU PAU PAU HKU 2 3 T1 PAU PAU PAU PAU HKU 3 2 T1 PAU PAU PAU PAU JMP 99ENDh[0 15 15 13 13 10 10 8 7 6 54 3 2 1 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0n} 0 0 00 0 0;02 3 4 5 6 7 8 9 9 9 9 9 9 8 8 7 7 6 6 5 5 4 4 3 3 2 2 1 1 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 n}00 0 0 0 0 0 0 0 0 00 0 0010 10 10 9 9 9 8 8 7 7 6 6 5 5 4 4 3 3 2 2 1 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0n} 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0010 10 10 9 8 7 6 5 4 40 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0n} 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0][MARKE 1T8 A T16 A1 A1 T8 A A1 A E1 T16 G1 F1_ E1 D1JMP 1MARKn}E 5T4 A PAU A LOW 0 A PAU A LOW 0 A PAU A LOW 0 A PAU A LOW 0 A PAU A LOW 0 A PAU A LOW 0 G PAU G LOW 0 G PAU Gn} LOW 0 G PAU G LOW 0 G PAU T8 G PAU F_ PAU F PAU F PAU F_ PAU F_ PAU G PAU G PAU G_ PAU G_ PAUJMP 5MARKE 2 T16 A1 D1n} E1 A RTS MARKE 3 T1 PAU RTS STARTSTAT 0 0 1 REL 0 24 1 HKU 0 1 KLG 0 160STAT 1 1 0 REL 1 24 1 HKU 1 1 KLG 1 160STAT 2n} 3 2 REL 2 0 0 HKU 2 3 KLG 2 128STAT 3 2 2 REL 3 0 1 HKU 3 0 KLG 3 160RELT8 14 AUDCTL 5 ; 129 STAT 1 1 1 RELFRn} 1 0 0 1IRQ 5 1 ; T1 PAU PAU PAU PAU MARKE 99 HLEN 0 64 HLEN 1 64 HKU 0 1 HKU 1 1T1 A1 G1_ T2_ G1 T8 E1 F1 n} HKU 0 2 HKU 1 2T8 G1 G1 G1 G1 A1 G1 A1 G1 HKU 0 3T16 A1 A1 A1 A1 A1 A1 A1 G1T4 CON CON HLEN 0 1 T8 F F1 F_ F1_ Gn} G1 G_ G1_ JMP 99IRQ 5 0 ENDE]A1 G1 A1 G1 HKU 0 3T16 A1 A1 A1 A1 A1 A1 A1 G1T4 CON CON HLEN 0 1 T8 F F1 F_ F1_ Gl'[0 15 13 12 10 8 : 6 4 2 1 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0r} 0 0 00 0 0;010 8 6 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0r} 0 0 0 0 0 00 0 007 8 9 10 10 10 10 10 10 1010 10 10 10 10 10 10 10 10 109 8 7 5 4 3 2 1 0 00 0 0 0 0 0 0 0 0 00 0 0 r}0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0015 15 15 15 13 : 13 13 13 11 1111 11 9 9 9 : 9 9 9 9 97 7 7 7 7 5 5 5 5 5 3 r}3 3 3 3 1 1 1 1 1 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 003 4 5 6 7 : 8 9 10 11 1111 11 11 11 11 11 11 11 11 11r} 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 1110 10 10 10 10 8 8 8 8 8 6 6 6 6 6 4 4 4 3 2 2 1 0][r}MARKE 1 T16 D8 LOW 0 CON CON D9 LOW 0 CON CON D8 LOW 0 CON CON D9 LOW 0 CON CONRTS MARKE 6 T16 D8 r}CON D8 CON F8 CON A8 CON D9 CON CON D9 CON CON CON CONRTS MARKE 7 T16 D8 LOW 0 : CON CON : D8 LOW 0 : CON CON F8 Lr}OW 0 : CON CON : A8 LOW 0 : CON CON D9 LOW 0 : CON CON : CON LOW 0: D9 LOW 0 CON LOW 0: CON CON : CON LOW 0: CON LOW 0RTSr} MARKE 8 T16 REL 0 0 1 JSR 6 REL 0 2 1 JSR 6RTSMARKE 10 JSR 8 JSR 8 REL 0 0 1RTS MARKE 9 REL 0 0 1 JSr}R 7 JSR 7 REL 0 4 1 JSR 7 JSR 7JMP 9MARKE 11 ; MEL. T16 HKU 2 0 REL 2 12 1 KLG 2 160;F1 T8 E1 F1 E1 D1 D1 D1 D1r} D1 T4 PAU T16 A1 D1 D1 D1 D1 F1 F1 F1 PAU PAU HKU 2 0 F1 D1 T16 F1 G1 CON T4 D1 T16 PAU T4 PAU T1 PAU PAURTSMARKEr} 12 T4 HKU 2 4 REL 2 12 1 KLG 2 160 F1 T8 E1 F1 E1 D1 PAU PAU HKU 2 0 F1 D1 T16 F1 G1 CON T4 D1 T16 PAU T4 PAU T1 Pr}AU PAU RTSMARKE 2 REL 0 0 1 JSR 1 JSR 1 REL 0 252 1 JSR 1 REL 0 254 1 JSR 1 JMP 2MARKE 3 T16 A1 PAU A1 PAU CONr} CON CON CON REL 2 24 1 A1 G1 F1 E1 G1 F1 E1 D1 REL 2 0 1RTSMARKE 4 T16 A1 A1_ B1 C2 C2_ D2 D2_ E2 F2 F2_ G2 G2_ A2 Ar}2_ B2 C3 RTSMARKE 5 STAT 2 0 1 REL 2 0 0 HKU 2 3 KLG 2 128 T8 30 CON 20 CON LOW 10 CONRTSMARKE 13 IRQ 2 1 Fr}MOD 2 1 0 HKU 0 1 T1 PAU PAU PAU PAU HKU 0 0 STAT 3 3 1 SHFR 3 2 255 1 JSR 3 JSR 3 JSR 4 JSR 3 HKU 0 1 T4 PAU Pr}AU PAU PAU HKU 0 0RTSSTARTRELT8 12JSR 5STAT 0 0 2 REL 0 0 1 HKU 0 0 KLG 0 192STAT 1 1 2 REL 1 0 0 HKU 1 1 KLG 1 128r}STAT 2 2 1 REL 2 0 1 HKU 2 2 KLG 2 160STAT 3 3 0 REL 3 0 1 HKU 3 2 KLG 3 160MARKE 99 JSR 13 STAT 3 3 0FMOD 2r} 1 1IRQ 2 1 JSR 3 JSR 3 JSR 4 JSR 3 STAT 3 3 1 HALL 3 2 1 JSR 3 JSR 3 JSR 4 JSR 3T8 PAU PAU PAU PAU PAU PAU PAr}U PAUIRQ 2 0STAT 0 0 1 STAT 1 1 0 STAT 2 2 0 STAT 3 3 0 JSR 10STAT 0 0 2 STAT 1 1 2 IRQ 9 1STAT 2 2 1 T1 PAr}U PAU PAU PAU FMOD 2 1 0JSR 12 JSR 12JSR 11 JSR 11FMOD 2 1 1JSR 11 JSR 11T1 PAU PAU PAU PAUJMP 99ENDE] r} FMOD 2 1 0JSR 12 JSR 12JSR 11 JSR 11FMOD 2 1 1JSR 11 JSR 11T1 PAU PAU PAU PAUJMP 99ENDE] p[0 15 13 12 10 8 : 6 4 2 1 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0v} 0 0 00 0 0;010 8 6 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0v} 0 0 0 0 0 00 0 007 8 9 10 10 10 10 10 10 1010 10 10 10 10 10 10 10 10 109 8 7 5 4 3 2 1 0 00 0 0 0 0 0 0 0 0 00 0 0 v}0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 015 15 15 15 13 : 13 13 13 11 1111 11 9 9 9 : 9 9 9 9 97 7 7 7 7 5 5 5 5 5 3v} 3 3 3 3 1 1 1 1 1 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 003 4 5 6 7 : 8 9 10 11 1111 11 11 11 11 11 11 11 11 1v}1 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 1110 10 10 10 10 8 8 8 8 8 6 6 6 6 6 4 4 4 3 2 2 1 001v}0 10 9 9 8 8 7 7 6 6 5 5 4 4 33 3 3 2 2 2 1 1 1 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 00 v}0 0][MARKE 1 HKU 1 1 A8 LOW 10 CON LOW 10 HKU 1 5 A9 LOW 10 CON CON RTS MARKE 30 HKU 1 1 A8 LOW 10 CON LOW 10 HKv}U 1 5 A9 LOW 10 A9 CONRTSMARKE 2T16 REL 0 0 1 JSR 1 JSR 1 JSR 1 REL 0 254 1 JSR 1 REL 0 252 1 JSR 1 JSR 1 JSR 1 Rv}EL 0 251 1 JSR 1 REL 0 249 1 JSR 1 JSR 1 JSR 1 JSR 1 REL 0 254 1 JSR 1 JSR 1 JSR 1 JSR 1JMP 2MARKE 20 T16 REL 0 24v}9 1 JSR 1 JSR 1 REL 0 251 1 JSR 1 JSR 30 REL 0 252 1 JSR 1 JSR 1 REL 0 254 1 JSR 1 JSR 30 REL 0 249 1 JSR 30 REL 0 251 1v} JSR 30 REL 0 252 1 JSR 30 REL 0 251 1 JSR 30 REL 0 249 1 JSR 1 JSR 1 JSR 1 JSR 1 REL 0 254 1 JSR 1 JSR 1 JSR 1 JSR 1v}JMP 20MARKE 3T8 A2 A2 A2 A2 A2 A2 C3 A2 A2 A2 A2 A2 A2 A2 T16 C3 E3 D3 C3T8 A2 A2 A2 A2 A2 A2 T16 A2 A2 G2 F2T8 D2 D2v} D2 D2 D2 D2 F2 G2RTS MARKE 4 T2 A2 T4 G2 T8 A2 T2 F2 T8 CON T8 F2 G2 F2 E2 T1 D2 T2 F2 G2 RTSMARKE 9HKU 2 3 JSR v}4 HKU 2 0 JSR 3 JSR 3HKU 2 3 JSR 4RTS MARKE 11HKU 2 3 JSR 4HKU 2 0 FMOD 2 1 1 JSR 3 JSR v}3HKU 2 3 FMOD 2 1 0 JSR 4RTSMARKE 10 ; INTROT1 PAU PAU PAU PAU STAT 0 0 2 PAU PAU PAU PAU RTSMARKE 31 ; v}DRUM SOLOT8 20 20 T16 30 30 30 30 40 40 40 40 50 50 50 50 RTSMARKE 32 T8 50 T16 50 50 40 40 CON 30 CON 30 30 30 20 20 2v}0 20RTSMARKE 33T16 20 30 40 50 : 50 CON 40 40 : CON CON 20 20 19 16RTSMARKE 34 T16 20 21 22 23 24 25 26 27 28 29 30 31 v}32 33 34 35 RTSMARKE 35STAT 4 0 2;STAT 5 1 2HKU 2 0 JSR 3 JSR 3STAT 3 3 1 REL 3 245 0 HKU 3 0 KLG 3 128STAT 2 2 0JSR v}31 JSR 32 JSR 31 JSR 33 JSR 33 JSR 34JSR 34 JSR 31 JSR 32T1 PAUIRQ 2 1 STAT 2 2 1 STAT 3 3 0 STAT 0 0 2RTSSTARTSTAT 0v} 0 2 REL 0 0 1 HKU 0 5 KLG 0 192STAT 1 1 2 REL 1 0 1 HKU 1 1 KLG 1 128STAT 2 2 1 REL 2 0 1 HKU 2 0 KLG 2 160RELT8 14 STAv}T 4 0 2 IRQ 2 1 JSR 10 MARKE 99JSR 35JSR 9IRQ 20 1T1 PAU PAU PAU PAU IRQ 2 1 JSR 11 T1 PAU PAU PAU PAU PAU PAUv} PAU PAU JMP 99ENDE] MARKE 99JSR 35JSR 9IRQ 20 1T1 PAU PAU PAU PAU IRQ 2 1 JSR 11 T1 PAU PAU PAU PAU PAU PAUt[0 15 13 12 10 8 : 6 4 2 1 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0z} 0 0 00 0 0;010 8 6 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0z} 0 0 0 0 0 00 0 007 8 9 10 10 10 10 10 10 1010 10 10 10 10 10 10 10 10 109 8 7 5 4 3 2 1 0 00 0 0 0 0 0 0 0 0 00 0 0 z}0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0015 15 15 15 13 : 13 13 13 11 1111 11 9 9 9 : 9 9 9 9 97 7 7 7 7 5 5 5 5 5 3 z}3 3 3 3 1 1 1 1 1 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 003 4 5 6 7 : 8 9 10 11 1111 11 11 11 11 11 11 11 11 11z} 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 1110 10 10 10 10 8 8 8 8 8 6 6 6 6 6 4 4 4 3 2 2 1 0][z}MARKE 1 T16 D8 LOW 0 CON CON D9 LOW 0 CON CON D8 LOW 0 CON CON D9 LOW 0 CON CONRTS MARKE 6 T16 D8 z}CON D8 CON F8 CON A8 CON D9 CON CON D9 CON CON CON CONRTS MARKE 7 T16 D8 LOW 0 : CON CON : D8 LOW 0 : CON CON F8 Lz}OW 0 : CON CON : A8 LOW 0 : CON CON D9 LOW 0 : CON CON : CON LOW 0: D9 LOW 0 CON LOW 0: CON CON : CON LOW 0: CON LOW 0RTSz} MARKE 8 T16 REL 0 0 1 JSR 6 REL 0 2 1 JSR 6RTSMARKE 10 JSR 8 JSR 8 REL 0 0 1RTS MARKE 9 REL 0 0 1 JSz}R 7 JSR 7 REL 0 4 1 JSR 7 JSR 7JMP 9MARKE 11 ; MEL. T4 HKU 2 4 REL 2 12 1 KLG 2 160 F1 T8 E1 F1 E1 D1 PAU PAU z}HKU 2 0 F1 D1 T16 F1 G1 CON T4 D1 T16 PAU T4 PAU T1 PAU PAURTSMARKE 2 REL 0 0 1 JSR 1 JSR 1 REL 0 252 1 JSR 1 z} REL 0 254 1 JSR 1 JMP 2MARKE 3 T16 A1 PAU A1 PAU CON CON CON CON REL 2 24 1 A1 G1 F1 E1 G1 F1 E1 D1 REL 2 0 1RTSMAz}RKE 4 T16 A1 A1_ B1 C2 C2_ D2 D2_ E2 F2 F2_ G2 G2_ A2 A2_ B2 C3 RTSMARKE 5 STAT 2 0 1 REL 2 0 0 HKU 2 3 KLG 2 128 T8z} 30 CON 20 CON LOW 10 CONRTS STARTRELT8 12JSR 5STAT 0 0 2 REL 0 0 1 HKU 0 0 KLG 0 192STAT 1 1 2 REL z}1 0 0 HKU 1 1 KLG 1 128STAT 2 2 1 REL 2 0 1 HKU 2 2 KLG 2 160STAT 3 3 0 REL 3 0 1 HKU 3 2 KLG 3 160MARKE 99FMOD 2 1 1Iz}RQ 2 1 JSR 3 JSR 3 JSR 4 JSR 3STAT 3 3 1 HALL 3 2 1 JSR 3 JSR 3 JSR 4 JSR 3T8 PAU PAU PAU PAU PAU PAU PAU PAUIRQ 2 0Sz}TAT 0 0 1 STAT 1 1 0 STAT 2 2 0 STAT 3 3 0JSR 10STAT 0 0 2 STAT 1 1 2 IRQ 9 1STAT 2 2 1 T1 PAU PAU PAU PAU z}FMOD 2 1 0JSR 11 JSR 11FMOD 2 1 1JSR 11 JSR 11T1 PAU PAU PAU PAUJMP 99ENDE] T1 PAU PAU PAU PAU xfA 3 FILEGURSYSTECOLARRADSTARCLRCORAINCOFARBMEKEFLIPSOUNFILSLADE_TXINFO_OULADE_TEXFILE_TESMEDI_~}FILESMEDI_LADEz8>AB`@I:9 9 Ad @ A ~};>?AdA?;@ , ] 'U:A6~},B3h'Z D:DLIS.OBJ6-A(1@+1A @2AR@<TF6-U~}:A`,P-%@0ZF:,"@A0d n+%@A+%@A@x##-- FARBEN~} AUF 0 SETZEN --6-?:A6,\O-%@# QTO6-@ -%@#~} )6-%@!AU)6-@    Q] P A2(6-@6-F:%,(%~}11()}졠󠠠E-@"E(+렯-~}@!!( * mehr Schleifen (5) *!!( * Procedures (6) *!!( * Parameter (7) *!!( ~}* Variablenparam.(8) *!!( * Menue! laden *6<@+6-R:,'F:Ad,AU+)J%"@E)"@(~}%6-@T%"@a)"@)%6-@^"AU6-AUh#6-@#%r)"@~}!@)6-&@|)"@ @)6-%@6-F:%,%PA""=T:~},")"AU1BB@d'A81M@1 +'0@1M@~}'"@#6. D:PASCAL5.KRS'\'"@ #6. D:PASCAL6.KRS'\'"@#6. D:PASCAL7.KRS'\'"@~}#6. D:PASCAL8.KRS'\%"@!6. D:MENUE.POW%\\O< -@6@<2@~}@@  2M@QO]@#+=0@@OAR@&YY(P~}堮䠠0XX(P~}栠: T:,ApD%/]++0@~}/P   % ] PZ D:SCROLL.OBJ-@B:,A5%@:7<,,  +@AVA~}V]A A'A  AT9A@KA @t]A @? +'0@~}9AR@?(}6-?: Br,%O;@ 0@@;@~}QW]++0@@E0@@WAR@ 6-@@6(~}堣2-@@2(<=T:,"( % Q D:PASKUR~}S.POW堣2-@@2(<=T:,"( % Q D:PASKUR|  ȠҠĠנҠŠ͠ҠˠԠ } vom 4.5.88 ----------------------------------------------------- Hinweis:Alle Compy Shop An}gebote von -- Clubdisk #4 gelten immer noch !!!!!! -----------------------------------------Angebot 1: ---------- }100 Disks No Name/Double Sided/ Double Dens. fuer 70 .-DM inkl. Porto Dieses Angebot gilt bis auf wei}ters immer. Zahlung entweder im Voraus oder per Nachnahme. (laeuft naemlich nicht direkt ueber den Clu}b!)Angebot 2:---------- Akustikkoppler mit Programm fuer 100DM Es handelt sich hierbei um den Koppler "Contact XL".}Gesuche 1:---------- Es wird dringend (䡡) ein 130 XE gesucht. Natuerlich zu einem superguenstigen Preis!}!! (Hoe Hoe Hoe) Ganz nebenbei: Funktionieren sollte er uebrigens auch...----------------------------------------Gesuc}he 2:---------- Zweitlaufwerk fuer den AMIGA 500 ge- sucht. (3.5 Zoll). ----------------------------------------Gesuc}he 3:---------- Centronics-Paralell-Interface fuer 130 XE ---------------------------------------- } Wenn Ihr was davon haben wollt oder wasanzubieten habt : Einfach an den Clubwenden...Hotline:04131/54315Fuer n}aehere INFO's natuerlich auch...Ach so: noch ein kleines Anliegen meinerseits : Wer schenkt mir schwarze Schreibschutzeti}ketten fuer die Club-disks. Meine gehen mir allmaehlich aus!Ich wuerde mich freuen, wenn irgendeinerbei einem Anschreiben} oder so mal welchemitschicken wuerde...----------------------------------------, wenn irgendeinerbei einem AnschreibenU------------   }     }  (C) Mai 1988 by Action! User Group c/o }Markus Kretzer v.Stauffenbergstr.32 2120 Lueneburg Hotline: 04131/54315Hallo und willkommen z}um 7.Clubmagazin,Es ist mal wieder so weit. Eine neueClubdisk ist fertig. Mit dabei wiederAction! und Pascalkurs (Der ML} Kurs wirdnaechstesmal wieder fortgesetzt), Pro-gramme usw. Zwei Spiele sind auch dabei. Kurz ge- sagt: Hier wird - }glaub ich - jeder etwas fuer sich finden.Wer die Programmiersprache Masic! be-sitzt, kann sich auf dieser Disk be- sond}ers freuen, da sich heute erstmalsMasicprogramm auf der Disk befinden.Ich hab nochmal ein bischen nach Masic!Programmen in} meinen Disks ge"searched"und tatsaechlich einige gefunden. Mehrdazu aber im entsprechenden File...Nun zu einigen Fragen:}Wer sich schon mal intesiv mit der Soundprogrammierung beschaeftigt hat,der kennt sicher das leidige Problem:BASS. Es gi}bt zwei Wege, einen Bass (also tiefe Toene) zu erzeugen:1) Das AUDCOM Register ($D208) auf 1 setzen. (In Basic muss di}es nach jedem SOUND Befehl erfolgen, da Basic das Register bei jedem SOUND zurueck- setzt) Die Toene klingen dan}n alle deutlich tiefer bei Verzerrung 14. (Der Haupttakt wird auf 15kHz gesetzt, normal ist 64 kHz). Das Dumme a}n dieser Einstellung ist, das man so keine vernuenftige Melodie hat, da ja alle Soundkanaele tiefer sind. Aber es gi }bt ja noch die 2. Moeglichkeit: 2) Die Verzerrung 12 benutzen. Und hier tun sich einige Probleme auf, da es so kli }ngt, als ob jeder Ton anders ist. Manchmal sehr gut mit viel Vol- umen, manchmal aber auch sehr duerftig. } Nebenbei gesagt: Die normalen Werte fuer die Tonhoehe wie bei Verzerrung 14 gelten hier nicht. Die genauen Werte s }tehen im File "DIST12.TXT" auf der Rueckseite. Aber es scheint auch so, dass trotz richtiger Werte der Sound man }chmal einfach nicht richtig rueberkommen will. Mein Tip ist, die Soundausgabe nach Moeglichkeit in einem Inter}upt er- folgen zu lassen. Weitere Informationen dazu aber im File "DIST12.TXT"Ach ja Achim, Es ist einfach nicht} wahr,dass Soundregister 3 und 4 nach Disk-zugriffen und SNDRST() funktionieren.Sollte ich eine falsche Action! Version b}enutzen ??? Naechste Frage:Was ist,wenn nach einem USR Befehl in Basic ein ERROR-9 Fehler auftritt ???Meistens h}andelt es sich dabei umfalsch Werte ,die auf dem Stackspeicherliegen. Ein Maschinenprogramm ,das von Basic ausgestartet w}erden soll, muss unbedingtein PLA Befehl haben, da Basic bei jedem USR Befehl die Anzahl der ueber-gebenen Parameter auf d}er Stack legt.Der PLA Befehl holt sich diesen Wert vomStack. Erfolgt kein PLA, so steht im Stack eine falsche Ruecksprunga}dresse,und es kommt zum ERROR-9.Das ML Programm muss mit RTS enden, um sauber ins Basic zurueckzukehren.---------------- } -------------------------------- BASS Sound mir Verzerrung 12 --------------------------------}Wenn der 3. Parameter im Soundbefehl auf12 gesetzt ist, dann gelten besondereWerte fuer die einzelnen Toene. Hier ist eine} Liste mit allen verfueg-baren Toenen in Verzerrung 12:Fuer ein tiefes E also SOUND (1,102,12,15) z.Beispiel } TON | Tonhoehe in | Decimalwert | | } h | 134 c# | 130 c# | 123 d | 115 d# | 108 e } | 102 f | 97 f# | 90 g | 85 g# | 82 a | } 75 a# | 72 h | 67 | c | 63 c# | 60 } d | 57 d# | 52 e | 51 f | 48 f# | 45 } g | 42 g# | 40 a | 37 a# | 36 h | 33 } c | 31 c# | 30 d | 28 d# | 27 e | 25 Die }hoeheren Werte sind auch hoehereToene !---------------------------------------- | 27 e | 25 Die T------------------------Nochmal 'ne Frage zur Maschinensprache:Was ist zu beachten, um Maschinenpro-gramme frei im Speic!}her verschiebbar zumachen ???Betrachten wir kurz einmal das folgendeML Programm: LDA #0 STA 710 J"}MP MARKE LDA #5 STA 710MARKE LDA #10 sta 709 Wichtig ist dabei der JMP Befehl. DieserVerzweigt n#}un direkt nach MARKE. WennMARKE z.B.: die Adresse 2000 ist, so kann der JMP nur nach Adr.2000 springen.Auch wenn das Progr$}amm in einen anderenSpeicher geladen wird, (MARKE also garnicht mehr Adr. 2000 ist) so springt dieser JMP nach 2000, was n%}atuerlicheinen Absturz zur Folge haben koennte,falls sich dort kein Programm befindet.Abhilfe schaffen dafuer die Branch &}Bef-ehle (Verzweigungsbefehle) wie BEQ,BNEusw. Diese verzweigen naemlich immer relativ zum augenblicklichen Programm-zaeh'}ler. Man koennte nun vielleicht schreiben: LDA #0 STA 710 LDA #0 CMP #0 BEQ MARKE (} LDA #5 STA 710MARKE LDA #10 sta 709 Der BEQ verzweigt nun um soviele Bytes,wie zwischen dem BEQ Befe)}hl und MARKEliegen nach vorne. Die Befehle LDA #0und CMP #0 sind notwendig, da der BEQ janur bei einem richtigen Ergebnis *}ver-zweigt.Auch wenn das Programm nun eine andere Stelle im Speicher verschoben wird, solaeuft das Programm korrekt ab, +}da derBEQ relativ verzweigt und nicht absolut!Will man Programme im Speicher ver-schiebbar machen (findet normalerweiseA,}nwendung, wenn man die ML Programme ineinem Basic-String unterbringen will),so muss ausserdem beachtet werden, dassman kei-}ne JSR oder RTS Befehle innerhalbdes Programms benutzen darf. Eine Ausnahme besteht nur , wenn man Betriebssystemroutinen .}anspringt, denndiese koennen ja gar nicht verschobenwerden.Man muss auch darauf achten, dass man innerhalb seines Program/}ms keine abso-luten Adressen benutzt, die nicht ver-schoben werden koennen.Fuer sehr grosse Projekte ist es sichernicht 0}sinnvoll, diese im Speicher ver-schiebbar zu machen. Dafuer wuerde ichmir immer selber freien Speicher suchen.z.B.: unterh1}alb der Displayliste !!!Momentmal. Erst kein ML Kurs auf dieserDisk , und dann so viel Maschinemspracheim Magazin. Kom2}men wir also nun zu einem anderen Thema: Der neuen Atari Floppy XF 551 Es handelt sich hierbei um einige Er-fahrungen von3} Martin Jabben, der dieseFloppy schon einige Wochen besitzt.(schoenen Dank fuer den Brief, Martin!)Aber, da die 255 Zeile4}n fuer das Scroll-programm bald ueberschritten werden, imnaechsten File... ---------------------------- -5} Doch dazu bitte erstmal den - -  druecken! - --------------------------------------- -gSo hier bin i' wieder...Es ging uebrigens um die neue FloppyXF551, hier also die ersten Erfahrungenmit diesem Teil...D7}ie Floppy ist im XE-Design und kostetso um die 400 DM. Freude kommt auf, wennman hoehrt, dass diese Floppy 2 Lese-koepfe h8}at (1050 hat Einen). Aber wasnuetzen einem 2 Lesekoepfe, wenn man diese nicht ansprechen kann ??? Jeden-falls soll dies ni9}cht ueber Standard-Dos 2.5 gehen. Ist aber auch logisch,dadas Atari DOS sowieso nicht 2 Lesekoepfevorgesehen hat. Macht ja:} auch weiternichts, denn wozu kann man 5.25 Zoll Disketten wenden. Und hier besteht der grosse Nachteil derneuen Fl;}oppy: Wie man weiss hat jede 5.25 Disk ein kleines Loch rechts nebendem grossen Loch.  <} |AUG.7 | 5.25 Disk | | stark | () | schemati- | | siert ! | || | =}Der Pfeil zeigt auf das kleine Loch.Unddieses Loch wird von der XF551 kontro-liert, wenn die Disk bespielt werden>}soll. Das hat zur Folge, dass man nurdie A-Seite einer jeden Disk beschreibenkann. Denn wenn die Rueckseite eingelegtist,?} ist das Loch ja automatisch auf deranderen Seite.Also muss man sich spezielle Wendedisk-etten kaufen, um die Rueckseite z@}u bespielen ; und dass ist aergerlich, dadiese mit Sicherheit teurer sind als billige No Name Disks...Das ganze soll angeA}blich mit einer Foto-diode kontrolliert werden. Vielleichtist es ja moeglich, diese irgendwie zuersetzen, damit man auch "B}normale" Disksverwenden kann. Wer so etwas schon mal gemacht hat, der schreibe mir bitte mal.Weiterhin arbeitet das LaufweC}rk auch etwas anders als die 1050. So laeuft dieFloppy z.B. beim Einlegen einer Disknicht an/ beim Einschalten lauft die D}Floppy auch nicht an, nur der Schreib/Lesekopf wird auf Track 0 gebracht...Die Floppy von Martin lauft auch etwasschnellerE} als die 1050. (Umdrehungs- geschwindigkeit der Disk). Wenn das beijeder XF551 so ist, dann ist das schlecht, da einige DF}isks von der 1050nicht gelesen werden koennen... (von der 810 sicher auch nicht....)Nun sucht Martin verzweifelt nach dem G}Poti (falls die XF551 so was hat), umdie Geschwindigkeit zu drosseln....Next Theme:-----------Das Scrollprogramm: DieH} Grundversiondieses Programms existiert eigentlich schon etwas laenger. Irgendwann letztesJahr mal hab ich dann die RainboI}wcolorsund die SELECT Taste zum Rueckwaerts-scrollen eingebaut. So weit so gut.das Dumme war nur, das das SourcefileirgenJ}dwann mal von meinen Disks ver-schwand. Ab Disk #5 sollte es eigentlich schonso weit sein: Eine vollstaendige Menue-fuehrK}ung ueber Joystick fuer das Club-magazin. Das hat sich ja schon dadurchbemerkbar gemacht, dass ich das Menuefuer Joystick L}umgeschrieben habe, dochwo war das Sourcefile fuer das Scroll-programm, in dem ich einfach (und schnell) mal die JoystickaM}bfrage haetteeinbauen koennen. Weg, spurlos ver-schwunden, nicht mehr auffindbar, obwohlich mit Sourcefiles immer sehr vorN}sich-tig umgehe. Und zum Neuprogrammieren hatte ich einfach keine Lust, da dieScrolling-Programmierung zwar rechtlogisch O}und von der Hardware auch einigemassen unterstuetzt wird (Mit denScrollingregistern kann man einzelneZeilen Pixelweise verP}schieben; ist auchim Menue angewendet.), aber die pixel-weise Verschiebung muss man mit einem"Grobscrolling" das sind VersQ}chiebungenum ganze Zeilen, kombinieren, dannkommt noch allgemeiner Kram dazu, wieTextfile einlesen, das ganze in einenTimR}er packen usw. Summa sumarum: Dasganze haette mich einige Stunden Pro-grammierung gekostet. Und wer program-miert schon geS}rne zweimal das selbe ??? Bis ich vor einigen Wochen auf einenmerkwuerdigen Filename ("ZAP.M65") stiess... (die Disk mT}uss sich irgend-wie meiner Suche entzogen haben!) Und siehe da, es handelte sich um eine aeltere Version des ScrollprogramU}ms.Also: schnell nochmal Rainbowcolorsprogrammiert und dann endlich die Joy-stickabfrage. Hoe Hoe Hoe ?"$#$#%Das neue ScV}rollprogramm (SCROLL.OBJ)kann uebrigens auch noch auf aeltere Clubdisks kopiert werden, falls man esmoechte. Nun kann man W}sich endlich ge-muetlich zuruecklehnen, den Stick in die Hand nehmen und scrollen...(gell, Nikolai ????)Eigentlich solltX}e jetzt noch eine grosseAtaristory folgen. Ich hatte schon ange-fangen ,etwas zu schreiben, aber dannhabe ich mir ueberlegY}t, es interessiertsowieso niemanden und habe das File kurz"delete"t. Aber wer Interesse an einerecht gute Story hat, der kZ}ann auch malim Happy Computer Maiausgabe die AMIGA-story lesen. Was jedoch der ehemaligeXL Besitzer ueber seinen neuen Ami[}gaschreibt (Erfahrungsbericht ,auch Mai-ausgabe der Happy),stimmt nicht so ganz.Die gefuerchtete "Guru Meditation" desAmi\}ga taucht vielleicht am Anfang einigeMale auf, wenn man mit dem System nochnicht so ganz vertraut ist oder "Viren"im Syste]}m hat. Aber bei laengerer Be-nutzung weiss man, wie man den "Guru"in den meisten Faellen ueberlisten kann (Hoe Hoe Hoe)...^}Ok. was gibt's sonst noch so ??? Ach ja,das Preisausschreiben. Auf der naechstenClubdisk kommt dann die grosse Auf-loesu_}ng, wer denn nun das Action! Modulgewonnen hat. Es sind schon einige Superprogramme zum Drucken,Spielen usw.angekommen. Ab`}er wir werden ja sehen...Es koennte uebrigens sein, das die naechste Disk mit etwas Verspaetung kommt, aber wie man sichea}r weiss und sich auch darauf freut kommt jetzt die Ferien- und Urlaubszeit. Da ich noch nicht genau weiss, wohin und wie lb}ange ich wegfahren werde, koennte es zu Ver-zoegerungen kommen, aber sie kommt, dieClubdisk...Nr. 8 Bis dc}ann..., Markus Ver-zoegerungen kommen, aber sie kommt, dieClubdisk...Nr. 8 Bis d( knicken. Wer weiss,wie man das einem 2 Jahre alten Baby beibrinen soll???... Ich glaub ich mach mal lieber Schluse}s und pass besser auf meine Disks auf... Bis dann..., Markusieber SchlusmSJZ  B JKIHiDiELV`LS S BLV`CLSSg}l LS &` Fj`8冨凪` ,TEӅӥ ,T`ʆǪƩ ƐeǓh}e` =TƦʆǢ &Ɛeǐ aT aTL(T =T'&&&8儨児祂*L(T&&*ńi}8&&L(T T`hihiHHȱȱLTc !#3`LSJJJJ`H Thj}`Hȩh SLNU SLNU SLNU SLNU SH8`HhHh k}ULNU BHI V䅠LNU LU SLNUԆ ؠPIPP` (VP SLNU JVLVl} (VLOV cVLVH- V8塪墨hLcV |VLV VLV (VȹP`텠8堨塪 (V芨Om}ȩ-`PP UP棩 Ѥģ0-ģ6000:,80H & &ehe&eģ0n}ʥ 8堅塅`$ V&*i0:0i VƦ`¢ 护°ڱ%ȱ%E VLWo}担CS ULWI |VLWH wWLW JVLW &B V NUNLMȑ` MLN%B VLNp}U`LcXLX&ˠXf U V VLXWillkommen auf der 2. SeiteX U V VLX!Alle COM Files laq}ssen sich direktX ULY#ueber die DOS Kommando Zeile laden.X U VLJY#Dazu einfach den Filenamen + RETURNY& UL\Ytipr}pen.YT U VLY%Die *.PAS sind Pascal Quellfiles undYi ULY"muessen natuerlich noch compiliertY ULYwerden.Y Us}LY"Gleiches gilt fuer die Masic! Pro-Y UL Zgramme.Z U VL5ZNun bitte drueckenZ UIL<f<8|~~~~||||||> xw}|||v~x |||||||x0||8|||8p@`0 6x}c6>~|8l8~|8p<~~<|}8x8~~||~|8|888>~|8l8~|8p<~~<