EXTENDED CPC DSK File Disk-Info Win APE 32 1.0(Track-Info  NADAM BAS ADAM BASADAM BAKCPCDATABBAS:CPCDATABDATCREATOR BAS7 !"#$%&CREATOR BIN '(CREATOR4 )*+,CREATOR4BASv-./0123456789:;CREATOR4BIN<CREATOR4GEN=>CREATOR4ORG?DEMO4 FLD@ABDEMO4 SPRCDEFHAUS1 FLDGHISTORY BASHIJKLMNOPQRSTUVW),"R")( st( s,for( ),"SQR")( sht( s,for( ),"OR")) srt( s,for( ),"RND")& st( s,for( ),"R").( s s s) s sr@0 sh s sh s s@) zah((for( ), s))"(( zah),), ()X6for( )u(for( ), s)"(ze,"")"(for( ), s )@ s sJ T s$^t( s,for( ),"SU")'hHISTORY BAS XYINSTADAMBASZ[\SPRITES ASC&]^_`aSPRITES ASM)bcdefgSPRITES BAShSPRITES BIN ijSPRITES CPCTklmnopqrstuSPRITES SPRvSTADT1 FLDwTEST BLT xyTEST KOM4z{|}~TITEL BINTITEL BINWELT HIS*ADAM RSX st( s,for( ),"SU"))r zah((for( ), s))|(( zah),) ()Wfor( )u(for( ), s)"("")"(for( ), s ) s s%for( )"w="for( )****** BERECHNEN ();  b z h|BEFEH,@for( )+ s s  ( z, )  s( ) s s(& xue xo yue yo 0:****** TASTATURABFRAGETD#, xco, yco#,(()f( x)()); ( y, x);NC""N8X x xo xco x b x x b8b y yo yco y h y y h$l()Eingabe REIHEv()MENUE$() Eingabe Zahl-()RECHNEN und AusgebenF#, xco, yco#,(f( x)); ( y, x);()oben()unten()Blinks()rechts8 x xo xco x b x x b8 y yo yco y h y y h^#, xco, yco#,();#,(f( x)); ( y, x);#,(); N****** OBEN0 yco yco yco yco   h+ yo yo yo yo h  hin, fa*#,,#,( )4 hin,>#,,#,( )OH#,,#ADAM BASp M M D$R""R2"FEHLER !" 9Z Adam Riese, (c) A. Ficher & CPC International 1992 d0 nN s Ju |'x  an end b ,"cls:goto 570"( )<,,s,S,: xue yue x xue y yue  D****** FORMEL umformen an end%for( )(form( )) s#t( s,for( Track-Info  N,(()"###"()"\"{(, )"\"); yo;be( yo);R x xo\  xf#, ( ),=p#,( ( ));(f( x)); ( yo, x);'z x x x b x****** UNTEN: yco yco yco y yco y h+ yo yo yo h yoE x xo y yo y y h y y h hin, fa#,,#,( ) hin,#){((m( )), )O m( )m( )m( ){((m( )), )O" m( )m( )m( ){((m( )), )O, m( )m( )m( ){((m( )), )O6 m( )m( )m( ){((m( )), )@&,,m,M,JJT FORMEL aendern,FORMAT aendern,REIHENBEZ. aendern,ZEILENBEZ. aendern5^ "AUSGABE ab x,y",UEBERSCHRIFT ,DRUCKEN,DEG/RAD'h SPEI,,#,( )Q#,, y#,(()"###"()"\"{(, )"\"); y;be( y);  x#, ( ), y+#,(f( x)); ( y, x);'$ x x x b x.8B****** LINKS0L xco xco xco xco`V` bj|SCRL, ,,,H,, t|SCRL, , fa,,H,,~|SCRL, ,,,H,,+ xo xo xo xo b x xo y yo3#,,#,("\"{(,CHERN,LADEN,CAT,ARBEITSBLATT<r DATEN loeschen,FORMEL ausg.,DRUCKER einstellen,WEITER| ZEILENVORSCHUB,NLQM KOMPLETT speichern,DATEN speichern,FORMBLATT speichern,ASCII speichern1 KOMPLETT laden,DATEN laden,FORMBLATT laden& NEUES Formblatt,GROESSE aendern' DRUCKEN 80 Zei.,DRUCKEN 132 Zei.****** AUSGABE komplett  yy yue %#,((G(ue)));ue;  y xx xue   x#,   , .#,( )"\");au( x); #,,#,("###"); x;<f( x)#,,#,(f( x)); s( x);  y6#,, #,(f( x)); ( y, x);1 y y y h y y h****** RECHTS< xco xco xco x xco x   b|SCRR, ,,,H,, |SCRR, , fa,,H,,(|SCRR, ,,,H,,82 xo xo xo xan xo xo b?< y yo xf( xx)); ( yy, xx);9 xx xx xx b xx xx b&#,, G0#,(()"###"()"\"{(, )"\"); yy;be( yy);:: yy yy yy h yy yy h DN xx xueX  x*b#,  ,#,("###"); xx;Jl f( xx) #,  ,#,(f( xx)); s( xx);=v#,  ,#,("\"{(, )"\");au( xx);9 xx xx xx b xx xx xo x b x x b4F#,>,#,("\"{(, )"\");au( x);!P#,>,#,("###"); x;=Zf( x)#,=,#,(f( x)); s( x);d  y7n#,=, #,(f( x)); ( y, x);1x y y y h y y h****** GRUNDEINSTELLUNGE h b zea  hin'(d)o hinζ ( h, b),form( b),for( b),be( h), s( b),au( b$*** zurueck in den Zeigemodus****** WINDOWS,P,,,X,,#,,P,,#,#,$ hin, fa# hin,!#,,P,,#,#,###,,P,,#,#,#!#,,,,#,#,#!#,,P,,#,#,#! #,,P,,#,#,# ****** EINGABE ZAHL.*"1234567890Ee.-"( )()()L4"" l#, xco, yco#,{((f( x)), );>b),f( b),f( b),(,)G fa vo nue"*** A D A M R I E S E ***"I xan b yan h xw(, xan) yw(, yan)* xo yo xco yco  b%form( )"r"(( ),)1f( ){( vo,"#")"."{( n,"#")f( ) Tk  ( , )( , )( , ){((( , )), )O m( )m( )m( Track-Info  NC"">Ht(,)>zR( )() ( y, x)()#, xco, yco#,(f( x)); ( y, x)\()/f#, xco l, yco#,;5p l l l  l z>a#, xco l, yco#," ";u(, l) l l l l >****** EINGABE REIHE x x< y yo yco y yan y y yan x xo xue yo yue x xue y yue   ();();" ACHTUNG ! "* "FEHLER IN DEN KOORDINATEN !";()"  , ****** UEBERSCHRIFT'6 ();( m, m);()!@ "Alte Ueberschrift:";ueJ "Neue Ueberschrift:";T "",ue^ ueu(ue,F)%h #,((G(ue)));ue;r | ****** DRUCKEN' ();( m, m);()-  ,m( ); xm5 ( xm), x  y(,)()****** HAUPTMENUE#A  ( ), ( , ) m m; ( m), m();( m, m);() C"" - ( m), m( m, m)6$ () m m m moben7. () m m m munten78 () m m m mlinks8B () m m m m();m( xm);(); C"" ' ( xm),m( xm);4 () xm xm xm xm4 () xm xm xm xm ( ) & xue xo yue au1 xma x xm xmaw( , b) ()@ ^ @();();"DER DRUCKER IST NICHT ANGESCHLOSSEN";();() . xm#,();"x"( nq);E #,();(H nq);();rechtsL ( ) V sp( m) m` spLj sp~ , ,< , , ,, ,| ,& ,b ,8,,,>,,,t ~ ****** FORMEL aendern' ();( m, m);()( "Aktuelle Formel:";form( x) "Neue Formel :"; "",form( x)$ an x end x  ****** FORMAT aendern' ();( m, m);()& "Aktuelles Format:";f( x) "Neues Format :"; "",f( x)#,();();(H)& ****** DEG/RAD0 (: der der der@D der();" DEG ";();();" RAD ";(); N " ist eingeschaltet"()X b ****** SPEICHERN'l ();( m, m);()-v  ,m( ); xm5 ( xm),();m( xm);(); C"" ' ( xm),m( xm);4 () xm xm xm xm4 : (f( x)) f( x)y(f( x), )# t(f( x),"#")   "Summe ausgeben (j/n) ?" C"" 1 ()"J"f( x)f( x)'( xue xo yue yo2 < ****** REIHENBEZ. aendern'F ();( m, m);()1P "Aktuelle BEZEICHNUNG :";au( x)$Z "Neue BEZEICHNUNG (10 Zei.):";d "",au( x)'n au( x)u(au( x), )Fx #, xco, yco#,(f( x)); () xm xm xm xm ( )  xm ,H , , # ();m( mx);()  dd".KOM" d #,"K" #, h, b #,ue8  h  b#, ( , )k  b#,form( )#, s( )#,au( )#,f( )#,f( )%*  h#,be( )4 > (H ();m( mx);()R dd".DAT" \ d f #,( y, x);' xue xo yue yoN ****** ZEILENBEZ. aendern' ();( m, m);()0 "Aktuelle BEZEICHNUNG :";be( y)# "Neue BEZEICHNUNG (5 Zei.):"; "",be( y)& be( y)u(be( y),) (  ****** AUSGABE x,y' ();( m, m);()L "Bitte Koordinaten des linken,oberen Feldes eingeben (x,y):", , - b h   r xue  yue  xco ycoTrack-Info  N"D"p #, h, b8z  h  b#, ( , )  ( ();m( mx);() dd".BLT" d #,"B" #, h, b[  b#,form( )#,au( )#,f( )#,f( )%  h#,be( )  ( ();m( mx);() dd".ASC" d& au xue xo xma $.8****** LADEN'B();( #,"B"();"FALSCHE DATEI !" rJ#, h, b%T b xan h yan|@^  b#,form( ),au( ),f( )%h  h#,be( ) r dA| ();"Blattgroesse an Daten im Speicher anpassen (j/n) ?"3(C) "n"   "j" [  w( xan, b)#,form( ),au( ),f( ),f( )8 xan b#,du,du,du1 w( m, m);()-L  ,m( ); V xm5`( xm),();m( xm);();jC""j't( xm),m( xm);4~() xm xm xm xm4() xm xm xm xm( )` xm,n,****** KOMPLETT laden$ ();m( xm);()5 ();"ACHTUNG! Alle Daten werden geloescht. "5"Soll wirklich KOMPLETT geladen werden (j/n) ?"+yan, h)#,be( )  d h h b b ,form,for,be, s,au,f,f,ue"" xue yue  xan b yan h  ****** CAT'();( m, m);() , |DI ,"BITTE TASTE DRUECKEN !""****** ARBEITSBLATT aendern'();( m, m);()6  ,m( ); xm5&( xm),();m( xm);(C)"n""j" dd".KOM" d@#,"K"();"FALSCHE DATEI !" #, h, b<  ,form,for,be, s,au,f,fz ( h, b),form( b),for( b),be( h), s( b),au( b),f( b),f( b)I xan b yan h xw(, xan) yw(, yan)*( xo yo xco yco2#,ue8<  h  b();0C""0':( xm),m( xm);4D() xm xm xm xm4N() xm xm xm xmX( )&b xml,l();m();()&v();();" ACHTUNG !";()%"ALLE DATEN WERDEN GELOESCHT !"@"Wollen Sie wirklich ein neues Datenblatt anlegen (j/n) ?"(C)"""n""j"'();( m, m);()/"Bitte Anzahl der R#, ( , )[F  b#,form( ), s( ),au( ),f( ),f( )%P  h#,be( )ZWd an end xan  x xo y yo xue yue n****** DATEN laden#x();m( xm);()5 ();"ACHTUNG! Alle Daten werden geloescht. "&"Wollen Sie DATEN laden (j/n) ?"+(C)"n""j" dd".DAT" dC#,"D"()eihen eingeben:", b/"Bitte Anzahl der Zeilen eingeben:", h! b h()@ ,form,for,be, s,au,f,f,"ue"" xue yue  an end b();m();()E "Bitte Anzahl der Reihen ( <="; xan;") eingeben:";"", bE"Bitte Anzahl der Zeilen ( <="; yan;") eingeben:";"", h>  b xan h yan b h();)* xw(, b) yw(, ;"FALSCHE DATEI !" #, h, bZ b xan h yan  h  b#, ( , )F();"DATEI zu gross !""Soll trotzdem geladen werden (j/n) ?"-(C)"n""j"~  w( yan, h)  w( xan, b)#, ( , ) xan b#, dumm ****** BLATT laden#();m( xm);() ",dd".BLT" 6dC@Track-Info  Nh)4 xue yue>****** DATEN LOESCHEN'H();( m, m);()=R();"Wollen Sie wirklich alle DATEN loeschen (j/n) ?"\(C)""\f"n"p"j"\6z , s ( yan, xan), s( xan) ****** FORMEL ausgeben'();( m, m);()"REIHE :"; x-"FORMEL:";();form( x);()""WEITER mit TASTENDRUCK !" ****** DRUCKERSTEUERUNG'( erst INSTADAM.BAS laufen!"nr****** FEHLERBEHANDLUNG,| ();();"ACHTUNG!";();" ";8A"SYNTAXFEHLER in Reihe";  x  H A "Ungueltiges Argument in Reihe"; ;",Zeile"; z J A "Division durch Null in Reihe"; ;",Zeile"; z  G A  "Overflow in Reihe"; ;",Zeile"; z  F A "FORMEL in Reihe"; ;"ist zu lang!" x   ,"FEHLER in Reihe";  x  );( m, m);()-  ,m( );  xm5( xm),();m( xm);();C""'( xm),m( xm);4() xm xm xm xm4$() xm xm xm xm.( )8 xmL,~B#L();m( xm);())V"Zeilenabstand:"; zea;"/72 Zoll"`"Zeilenabstand:", zea&j zea zea()Lt#~ ֔Vi I A  "Ueberlauf bei Summenberechnung" s֔Vi GA"SPEICHER voll !""Das Arbeitsblatt ist zu gross !"W(AAA)"FORMEL in Reihe"; ;"ist zu lang !" x  B A (  ,) "DATEI NICHT GEFUNDEN" DR""R2"FEHLER !"     D$R""R2"FEHLER !"     D****************** 10330 DATA C8,();m( xm);()! nq nq nq8 nq "NLQ ist jetzt eingeschaltet !"()9 nq "NLQ ist jetzt ausgeschaltet !"()   ****** WEITER"****** AUSGABE 80Z und 132Z: au# au,();"A";( zea);();"2"; y yue3# au,(( xma(ue)));ue'# au,(){( xma ,"-");  x xue  xma=# au,( );("\"{();( m, m);()-  ,m( );  xm5( xm),();m( xm);();C""'( xm),m( xm);4() xm xm xm xm4$() xm xm xm xm.( )8 xmL,~B#L();m( xm);())V"Zeilenabstand:"; zea;"/72 Zoll"`"Zeilenabstand:", zea&j zea zea()Lt#~, )"\");au( x);1( x x x b x x b2< x xueF  xma(P# au,( );("###"); x;1Z x x x b x x bd(n# au,();{( xma ,"-");x  h x xue?# au,();("###""\"{(, )"\"); ;be( );  xma<# au,(  );(f( x)); ( , x);1 x x x b x x b(# au,();{(ADAM RSXEE^#VOפ-((׏׏"X׏KX*o++++p>2!32!3Ѽ"8>SCRLSCRRBEFEH6 6 !PF(V^ F( "V ^ V^+"V ^ R"~ݖ 2F[*K F(+F ~w+ #F ~w#*"*"*?R"*R"=Anf~#^#VOפ-((׏׏"X׏KX*o++++p+qSXU128* 10320 REM ************************** 10330 DATA C8, xma ,"-"); x xue  xmaFf( x)# au,( );(f( x)); s( x);1 x x x b x x b # au ****** DATEINAME einlesen!"DATEINAME (8 Zei.):",d'"d""( )( );(),du(d,)6@****** MCODE einlesenJ() T^"Dummy"Bc mh"!adam.rsx", j Um "Bitte lassen Sie vor der 1. Benutzung von ADAMTrack-Info  N   s(); s() 3, s();   s(); s() , s();   s();6 s() , s();();;" ";();S() , s();   s(); s() , s();   s(); s( );  8 @ s(); s( );    s(); s() ," Prg.-Nr. ";s();" P R O G R A M M N A M E : ";S();"DatCPCDATABBASp''cup pgfla  ~ ....... CREATOR.BA ,  , , , ( <"Heft 10-11 / 92"F"TITEL.BIN",&P 0(),4, ;<d DATABOX Menueprogramm (Copyright DMV 1988 / Autor jb)<n ----------------------------------------------------- x Q--------------------------------------------------------------------------P c h a r a k t e r s , v a l uei-System" , s();   s(); mJ s();  8 s(); s();    s(); s() sch 5T  , sch s() D, sch s() +^ sch sch sch r h Tr , s();   s(); s( );  8 s(); s( );    s(); s()| ,"<<< Auswahl mit den CURSOR- Tasten ";();" ";s( );" ";();" und ";();" e s , w i n d o w s a n d s t r i n g sQ--------------------------------------------------------------------------"cpcdatab.dat"#, p#pz=26:REM Prog. Anzahl  p anzfla z cup pr(),lan(),hes()     ,  , s() () p() n() s()#,, ,,#, ,C,,#,E,P,,#,#,#, pro ,,,,,0,#,&,$ ,$,&,#,0,,";s();" ";();" / Bestaetigen mit ";();" RETURN ";();" ! >>>"  c p p#,pr( p)#,lan( p)#,hes( p)#,dumm pQ--------------------------------------------------------------------------G t h e f i r s t o r t h e l a s t s i x t e e nQ--------------------------------------------------------------------------### pgfla D  anzfla  ,, ,,,,, ,,d,$ ,$,d,, ,,,, ,,,,,,,, ,$,$,$,$,$,$,$,$ ,$,$,,,,,$,$ ,,,,,,,, ,,,,,,,, ,,<,$,$,$,$,$,$ ,$,$,$,$,$,$,<, ,,,,,,,$,$ ,$,$,,,,,, ,,<,~,,,,, ,,,,,,~,<, ,,,,,,,,  s( )( )s()">>>"s()"<<<" Q--------------------------------------------- _#,, #, #,, #,pr( );lan( )#,, #,hes( )     p`&#,, #, #,, #,pr( );lan( )#,, #,hes( ) 0 :  D  pqN#,, z#, #,, z#,pr( );lan( )#,, z#,hes( ) X Qb--------------------------------------------------------------------------?l -----------------------------Q--------------------------------------------------------------------------= s h o w i n g t h e s c r e e n Q--------------------------------------------------------------------------" , s();   s(); s() 3, s();   s(); s() , s();" C P C - A M S T R A D ";s(); 3,, s();" I N T E R N A T I O N A L ";s() , s(); Track-Info  Nw h e r e a r e t h e a r r o w s ?Qv-------------------------------------------------------------------------- *," " *, lan( pro)=#,, cup#,s()#,, cup#,s() S kfla cup #,, cup#," "#,, cup#," "K cup z #,, cup#," "#,, cup#," " Q--------------------------------------------------------------------------? h i--------------------< cup cup cup p cup p 6 pro pro pro p pro pD pgfla cup p z cup p z 2$ cup pgfla cup  . P8-------------------------------------------------------------------------;B t a k e o n e f r o m a l lPL-------------------------------------------------------------------------V cup cup.` p t o n e o f t h e s e k e y sQ--------------------------------------------------------------------------C ""  % () kfla *' () kfla * % ( ) kfla *  P -------------------------------------------------------------------------= a s k i n g f o r k f l a g P -------------------------------------------------------------------------* kfla ro pro pro pro0j pgfla cup cup Et pgfla cup cup cup pgfla  ~ ....... CREATOR.BAS BASIC Rollenspielkurs - Spielmodul............... CREATOR4.BAS P8-------------------------------------------------------------------------;B t a k e o n e f r o m a l lPL-------------------------------------------------------------------------V cup cup.` p 4 kfla 8 > kfla HPH ------------------------------------------------------------------------JR  l o a d t h i s p r o g r a m P\ ------------------------------------------------------------------------f###p hes( pro)"ASCII" hes( pro)"DATEI"  lan( pro);" ist eine Datendatei und kein Programm. Sie kann daher nicht" "direkt gestartet werden!"  u hes( pro)"CP/M"  lan( pro);" ist ein CP/M-Programm und muss daher unter CP/M gestartet werden!" 2z y(lan( pro),)"BAS" basflaS basfla  lan( pro);" wird geladen !!""!"lan( pro)H#,,#,"Das Programm ";lan( pro);" kann auf zwei Arten"H#,,#,"in den Rechner geladen werden, bitte waehlen Sie :" j#,,#,(");lan( pro);(");" Programm nur laden = Taste ";();" L ";() j#,, #,(");11 Rollenspielkurs - Spielfeldgenerator....... CREATOR.BAS BASIC Rollenspielkurs - Spielmodul............... CREATOR4.BAS BASIC Sag mir wann............................... HISTORY.BAS BASIC Sag mir wann - Beispieldatei............... WELT.HIS DATEI Assemblerkurs.............................. SPRITES.BAS BASIC Assemblerkurs(Quelltext)................... SPRITES.ASC ASCII Assemblerkurs(Quelltext)................... SPRITES.ASM DATEI Assemblerkurs(Quelltext).................lan( pro);(");" laden und starten = Taste ";();" S ";()G#,, #,"Jede andere Taste fuehrt ins Hauptmenue zurueck !!" C "" = (L) (l)  "!"lan( pro) ; (S) (s)  "!"lan( pro)  P-------------------------------------------------------------------------= o n e a n d o n e i s ? ? ?P-----------------------------------------------------Track-Info  N.. SPRITES.CPC BASIC Bonusprogramm ADAM......................... ADAM.BAS BASIC Bonusprogramm ADAM(Installationsprogramm).. INSTADAM.BAS BASIC Bonusprogramm ADAM - Probe-Tabelle u. Form. TEST DATEI Spielmodul............... CREATOR4.BAS.OF$$$|MC.OFacolour V1.0-Befehle greifen nicht!!!" .$ .|MC.OFeyeze{e!ŋxGH !!!!yOq#rFJS::::˻˳˫ˣ(e^VN>ZASIC.INIMC.Ohapo; @  ,"Max. "; shaen;&J , shapad( p), puffe T n!^  ncursor up h )r vhintergrund wiederherstellen| ad ad( / ad@ ad ad?  ,, ad puffe puffe  n"  ncursor down ) vhintergrund wiederherstellen ad ad( @ ad ad ad ad adP@ ,, ad puffCREATOR BASp{ck.";2@ , ^, a, , shapo.J ."creator.bin",. 4,2,0,7,23,12,18,9,24,15,6,3,8,13,10,26 &x00000000,&x01000000,&x00000100,&x01000100,&x00010000,&x01010000,&x00010100,&x01010100,&x00000001,&x01000001,&x00000101,&x01000101,&x00010001,&x01010001,&x00010101,&x010101011(     ,  -2 wer() matrixen einlesen$<   wer( )e puffe  n!  ncursor left + vhintergrund wiederherstellen  ad ad& ,, adI0  ( ) puffe puffe link link : n#D  ncursor rightN *X vhintergrund wiederherstellen b ad adl ,, adIv  ( ) puffe puffe link link  n& link punkt setzen# verkU 1= "Geben sie bitte die x,y Ausdehnung an."K> "Min. 11*11 Max 255*255 (RETURN=137*116)""x= ",   FI? "y= ",      () =T@"Die Landschaft belegt ein Platz von" ;" Bytes.Ist das Okay (j/n)?" A(C) "" AB "N" =C h,  ,  @,   [,  m,  ,  *,   x( )   x x xDD h ( ) verkn  verk verkn% byt( puffe) verk3 byt byt ( verkn wer( fpe)) puffe, byt& , shapad( p), puffe3 byt wer( fpe) ( wer( fpe)) , byt  n# 9, ", 9,>n ,"Geben Sie bitte" ,"Nr,Ink1,Ink2 an" , "", , i, i , i, i j% ,"Clear Puffer"   , "oder Shape" , "oder Feld"l h Y, l Z, hFE h ( x) l x h , l , hF p ad>b   puffe Q puffe puffe shapo shanfan4 feldK shaen (( fel shanfan)P) , ^, a,P  aZ shapad() shapad()  shapad() shapad() link fpe d B%n(C) "" "@"x ()     C ""  |* ()"P" BYT WER( FPE) ( WER( FPE)) puffe puffeO , BYT `!4 ()"F"  j> ()"S"  H shapo jER ,"Wollen Sie alle Shapes loeschen (j/n)"\C "" \f ()"J" zp   j#z ,"Editieren Sie Bitte";  ,"das zu loeschende"! ,"SHAPE mit Joystick"0 ", shapo () ^      D;  fpe fpe fpe fpe=  fpe fpe fpe fpe C  P 3  p p p p3  p p p p I  K ~ S  L  W "" ,"Pen "; fpe, ,"Schirm"; p 6  ,"Shape "; sTrack-Info  Npuzzlenummer ( shapo ) ] laeh ((( shapo )P)) lael(( shapo )P)( laeh)" 7, lael 8, laeh6 *, shanfan P, shanfan( )P9 7,O 8, shanfan( shapo)P,F *, shanfan( shapo)P, shanfan( shapo)P$ 7,P shapo shapo  j+ shanfan,alle shapes loeschen[ laeh (( fel shanfan)) lael fel m".spr"8 nam, shanfan shapo( shanfan)  Bnamnam".fld" nam, fel  B" shapo n A, ,"Plazieren sie Shapes"; ,"Mit oben oder unten"6 ,"wieder zurueck.";2@ , ^, a, , shapo.J , ^, a,  BP ž^shanfan( laeh)B 7, lael 8, laeh *, shanfan, shanfan$ 7,P 8, shapo  fel,feld loeschenW$ laeh (( puffe fel)) lael puffe fel( laeh):. 7, lael 8, laeh *, fel, fel8 7,P 8,=B   l,w, l, b, b,w l,w3L , , , , ,BV ,   " "; " 0123456789012345"$`CREATOR BINuuu000u>2F2G>22!"!dK"Dߣ~=23>4#>22!4"*"!"?$̒֠YͿ:!2*KC"͖4:ʵ=2Ϳ*"?W:=2*">#?:!!:<2Ϳ*"?W:<2*P">#?G!ţe ?$Y̛̟:*͕*D:w=m:_: , puffe ,, adJj ," " t n`~ ,"Markieren Sie den" ,"Platz fuer das Shape"; ,"Wird ueberschrieben" C shapo shaen ", shapo ",( shapo)5 () *, shanfan P, puffeC shapo shapo shaen shapo shapo  j shapo n J ,"Markieren Sie das" ,"Shape fuer den" ,"Pufw*K"C͖S$ʖ:(=2Ϳ*"?W:F=2FͿ!!"!"[DSD!_͓?-- P : (<2Ϳ*"?W:F<2FͿ_!d|!"!" *D!͓?*D#"D- P :(=2Ϳ*`"?W:G=2GͿ>2~!?"O!t!"!"*Dw"D_͓?: (<2Ϳ*"?W:Gj<2GͿ>2~!P"_!t!"!"*DZ!͓?*D"D2fer"! ", shapo ()4 *, puffe, shanfan P  ` speichern von daten% ,"Wollen Sie die Shapes"0 ,"oder die Landschaft abspeichern." (C) ""   "S" "L" 0  , "Bitte geben Sie einen Namen" 0 ,"fuer die Daten an (max.8 Buchst.)!" ,  ":",nam*( (nam) (nam) 2 "L" d<namnam".spr"F shanfan, shapo0 P  o&_T))))))4ţ *w#0P  !"!"[D!_͓*H ~OU ~Uw#}o>g0}Po>g >~2ɣ>2ʣͿ>2ɣ>w2ʣ:2*Õnf"~2~2:w#>g¯P —^V!>O?2͕###UO'2͕+++  ######ÿ^Vnfw# $P ^VnfPw# x9000uuuuuuuuuuP nam, , shanfan, shapoP Z Bdnamnam".fld"0n nam, , fel,(h)((*) ) x B einladen von daten& , "Wollen Sie die Shapes"- ,"oder die Landschaft einladen." (C) ""   "S" "L" * , "Bitte geben Sie einen Namen"0 ,"fuer die Daten an (max.8 Buchst.)!" ,  ":",nam* (nam) (nam)  "L" namnaTrack-Info  N         uuu000upuzscr# Lader fuer 664/6128-Emulator     ( 2"!emu.bin", < F"BASIC 1.1 installiert"EMULATOR$$$pEMULATOR$$$pwert1:ld de,#a0 dadd hl,de npop de xex de,hl wert2:ld bc,137 add hl,bc ex de,hl pop bc djnz fuel2 ret write1:ld e,(ix+0) ld d,(ix+1) ld l,(ix+2) ld h,(ix+3) write2:ld c,16 wri1:ld b,5 wri2:ld a,(de) ld (hl),a inc de inc hl "djnz wri2 ,push de 6ld de,#7fb @add hl,de Jjr nc,wri3 Tld de,#c050 ^add hl,de hwri3:pop de rdec c |jr nz,wri1 ret ganz:ld b,10 ld hl,#a0 ld (wert1+1),hl ld l,(ix+0) ld (wert2+1),hl ld e,(ix+2) ld d,(ix+3) ld hl,start ganz2:CREATOR4 {k 5 de,#c050 add hl,de kompl4:dec c jp nz,kompl2 ret g % org #a000 start:equ #c00f init:ld l,(ix+0) (ld h,(ix+1) 2ld (graffi),hl <ret Flinks:ld hl,#082d Pld (zahl1+1),hl Zld hl,#c050 dld (zahl2+1),hl nld hl,45 xld (zahl3+1),hl ld hl,#b8ed ld (zahl4),hl call copy ld de,start+49 ld hl,start+44 ld c,20 call scroll ld hl,#a0 ld (wert1+1),hl ld l,(ix+2) ld (wert2+1),hl ld e,(ix+4) ld d,(ix+5) ld push de push hl push bc call fuell pop bc pop hl ld de,5 &add hl,de 0pop de :inc de Ddjnz ganz2 Nret Xwrite:ld e,(ix+8) bld d,(ix+9) lcom0:ld c,16 vagai2:ld b,5 again:push bc ld a,(de) and #aa jr nz,com1 ld a,(hl) and #aa com1:ld c,a ld a,(de) and #55 jr nz,com2 ld a,(hl) and #55 com2:or c ld (hl),a inc de inc hl pop bc *djnz again 4ld a,l >add a,#fb Hld l,a Rld a,7 \adc a,h fld h,a pjr nc,poppp1 zld a,l add a,#50 ld l,a ld a,#c0 adc a,hl,start jp fuell rechts:ld hl,#07d3 "ld (zahl1+1),hl ,ld hl,#c050 6ld (zahl2+1),hl @ld hl,45 Jld (zahl3+1),hl Tld hl,#b0ed ^ld (zahl4),hl hcall copy rld de,start |ld hl,start+5 ld c,20 call scroll ld hl,#a0 ld (wert1+1),hl ld l,(ix+2) ld (wert2+1),hl ld e,(ix+4) ld d,(ix+5) ld hl,start+45 jp fuell oben:ld hl,#f7ce ld (zahl1+1),hl ld hl,#3fb0 ld (zahl2+1),hl ld hl,50 ld (zahl3+1),hl &ld hl,#b0ed 0ld (zahl4),hl :call copy Dld de,start+1520+#3800 Nld hl,starth ld h,a poppp1:dec c jp nz,agai2 ret copy:ld b,1 push bc push bc ld l,(ix+0) ld h,(ix+1)  ld a,(ix+6)  push hl  jp fuel3 $ copy2:ld e,(ix+0) . ld d,(ix+1) 8 ld l,(ix+2) B ld h,(ix+3) L jp com0 V kompl:ld l,(ix+0) ` ld h,(ix+1) j ld c,32 t kompl2:ld b,10 ~ kompl3:ld a,(hl) xor 255 ld (hl),a inc hl djnz kompl3 ld de,#7f6 add hl,de jp nc,kompl4 ld de,#c050 add hl,de kompl4:dec c jp nz,kompl2 ret puffer:defs 80 curadr:defs 2  graffi:defs 2 jp nz,kompl2 ret +1360+#3800 Xld c,18 bcall scroll lld hl,5 vld (wert1+1),hl ld hl,1 ld (wert2+1),hl ld e,(ix+4) ld d,(ix+5) ld hl,start jp fuell unten:ld hl,#07ce ld (zahl1+1),hl ld hl,#c050 ld (zahl2+1),hl ld hl,50 ld (zahl3+1),hl ld hl,#b0ed ld (zahl4),hl call copy ld de,start ld hl,start+160 *ld c,18 4call scroll >ld hl,5 Hld (wert1+1),hl Rld hl,1 \ld (wert2+1),hl fld e,(ix+4) pld d,(ix+5) zld hl,start+1440 jp fuell scroll:ld b,8 wow2:push bc zahl3:ld bc,50 zahl4:a( l%,)Y , "Die Spielerfigur""mit der Nummer "; l%"ist tot. (Taste)" 1 spiele spiele spiele > , "Die ganze Gruppe""ist tot. Spielende!". ( l%) aktfi J  D A&  in ( ) eben ( ) :F0 l x( ) l y( ) ( ) ( ) T:-D  0 /N pira((( F)),) ldir zahl1:ld bc,#7ce ex de,hl add hl,bc ex de,hl add hl,bc pop bc djnz wow2 push bc zahl2:ld bc,#c050 ex de,hl add hl,bc $ex de,hl .add hl,bc 8pop bc Bdec c Ljr nz,scroll Vld l,(ix+0) `ld h,(ix+1) jjp write tfuell:ld b,10 ~fuel2:push bc push de push hl ld a,(de) fuel3:ld l,a ld h,0 ld e,a ld d,h add hl,hl add hl,hl add hl,de add hl,hl add hl,hl add hl,hl add hl,hl ld de,(graffi) add hl,de (ex de,hl 2pop hl <push hl Fcall write2 Ppop hl ZTrack-Info  N         CREATOR4BASp\:\:)) tabell * ,"Bitte Taste drue/ CREATOR4.BAS (c) 1992 M. Fink & CPC Int./ 18,2,0,7,23,12,18,9,24,15,6,3,8,13,10,265    ,    (  pma in ( pma), xal( pma), yal( pma),nam( pma), xau( pma), yau( pma), spe( pma) ( in), ( in), x( in), y( in), ( in), ( in), ( ysck xsc xau( eben) xsc( xau( eben) ) xsc xau( eben) k ysc yau( eben) ysc( yau( eben) ) ysc yau( eben) T ( fel xsc( ysc) xau( eben)), pira( aktfi,)% inver, figad( aktfi)H curgr[ pira( aktfi,)P cu@  b |, fel xsc ysc xau( eben), xau( eben) frit, cu, curgrin), ( in)z2  pma ( ), xal( ), yal( ),nam( ), xau( ), yau( ), spe( )z<   in ( ), ( ), x( ), y( ), ( ), ( ), ( ), ( )_F eben aktfi figad() figad() figad() figad()NP pira(,) $     pira( , )GZ wert(, ),name(,),gegens(), besit(,) 9d 5 , ( ) , name( aktfi,)%  xsc links[ ( fel xsc ysc xau( eben) xau( eben))   S ( fel xsc ysc xau( eben) xau( eben))  xsc xsc  , pira( aktfi,)P[, , fel xsc ysc xau( eben), xau( eben), cu]  frite, cu, P[ cu cu frit, cu, c   name( ,) name( ,)9n      wert( , )-x L   gegens( )9     besit( , )( U"creator4.bin", ,[&"demo4.spr",["demo4.fld",trQ"stadt1.fld",8|"stadt1.fld",~"stadt1.fld","haus1.fld", spiele feltr tabellU las()Y las()h eben pira( aktfi,) (nam( eben))"r  fel  /| nam( eben)".fld",tr feltrR xsc pira( aktfi,) ysc pira( aktfi,)  . xsc xsc xsc. ysc ysc Track-Info  N         xsc ysc xau( eben) ( ) xau( eben))   S ( fel xsc ysc xau( eben) xau( eben))  ysc ysc Ġ, pira( aktfi,)P[, , fel xsc ysc xau( eben) xau( eben),, cu^  frite, cu, P[ cu cu frit, cu, curgrereignisabfrage * -   % H  ( ) ) ln ,,, l l  l l  l l  l l _ l xsc x( ) l ysc y( )Taktik2, Spielerverfolgung  l  l l( l) l 2( l l( l)(2 l l l l l l < >F (E) P,Z,d,nTaktik3, Zufallsbewegung+P l l l  ;Z l l l l xsc l ysc Kollision  H,  las( aktfi) las( aktfi) ( las( aktfi)) ( las( aktfi)) ( las( aktfi)) xsc( las( aktfi)) ysc( las( aktfi))B  nam(nam( )) nam fel nam 4+* nam( )".fld",tr feltr!4 cu@  {> eben  |, fel xsc ysc xau( eben), xau( eben) fxau( eben)  +d l l l  ;n l l l yau( eben)  Hx ( ) ( ) ( ) Taktik4, Ausbreitung ln (E) ln ,,,+ l l l  ; l l l xau( eben)  + l l l  2 l l l yau( eben) O ln( fel l l xau( eben)) lrit, cu, curgr H  pmaR ( ) /\ ( xal( )( xsc)) /f ( yal( )( ysc)) p las( aktfi), eben las( aktfi),  las( aktfi),  las( aktfi), xsc las( aktfi), ysc:z eben  las( aktfi) las( aktfi)B nam(nam( )) nam fel nam + nam( )".fld",tr feltrC  n ( ) - ( ) ( ) ( )   7 indn indn indn in indn4 l( fel l l xau( eben))8 l% Kollision mit einer Spielerfigurk l xsc l ysc l aktfi% Kollision mit akt. Spielerfigur l  l l *" l l l , l l 86 l x( ) xsc l y( xsc ysc cu@  ~ pma  |, fel xsc ysc xau( eben), xau( eben) frit, cu, curgr & 255,0,0,29300,50,50,0 20,33,21,31800,25,25,0 20,21,28,32425,25,25,0 20,44,27,33050,25,25,0 22,2,1,33675,15,15,0 1,1,27,24,1,31,0,0 1,1,49,49,2,32,0,0 1,1,38,4,3,32,1,0 1,2,9,9,3,31,28,0 1,3,22,22,2,32,28,0 1,1,9,4,4,33,33,5$ 1,1,38,4,4,1. 1,1,39,21,3 ) ysc2@ l l l l T:J frite,@ l l,[ ( )P,T l l xsc l l ysc2^ l l l l r9h frit,@ l l,[ ( )P[r ( ) ( ) fel x( ) y( ) xau( eben), ( )9| ( )( fel l l xau( eben))7 fel l l xau( eben), ( )* x( ) l y( ) 0,18 1,1,40,44,25,1B 1,1,41,31,22,0FL ,Lampe,Messer,Kerze,Oel,Dolch,Saebel,Seil,Hammer,Meissel,Naegel*V Zunder,Dietrich,Schluessel,Rucksack` 1,2,0,0,0,0j 0,0,3,6,9,0t 10,11,0,0,0,0~ 0,4,0,13,2,0 indn ( ) Q eben ( ) Wegfall, wenn "Hintergrundbewegung" erwuenscht( l x( ) l y( )# ( ) ,,F,x@ ( )' ( )Taktik1, Rechteckabschritt ln ( Track-Info  N         l) ! l aktfi%   inT ( l x( )) ( l y( )) ( ) eben    ( )! N l x( ) xsc l y( ) ysc ( ) : frite,@ l l,[ ( )PQ fel x( ) y( ) xau( eben), ( ) () x pira( l%,) fel pira( l%,) pira( l%,) xau( eben), piratu( ) Z , "Nr. "; statu( );" mit dem Namen ";name( statu( ),)0 an Keine Figur in der NaeheW , "In Ihrer Reichweite stehen nachfolgend" ,"aufgefuehrte Personen:" ,"Mit der Eingabe einer nicht aufgefuehrten Zahl kommen Sie zurueck!" ,"Welcher Figur moechten Sie den" ,"Gegenstand uebergeben (Nr.1-4) "; :,, spn spn spn | spn statu() spna( l%,)Y , "Die Spielerfigur""mit der Nummer "; l%"ist tot. (Taste)" 1 spiele spiele spiele > , "Die ganze Gruppe""ist tot. Spielende!". ( l%) aktfi J  D A&  in ( ) eben ( ) :F0 l x( ) l y( ) ( ) ( ) T:-D  0 /N pira((( F)),) statu() spn statu() spn statu() () rueckkehr&  ,, n spn    ,"Mit der Eingabe einer Tasche mit Inhalt kommen sie zurueck!" ," In welche Tasche soll der Gegenstand gesteckt werden (Nr) "; F,, tnr tnr tnr 3 besit( spn, tnr) () Y besit( spn, tnr) besit( aktfi, tn) besit( aktfi, tn)  ^ , "Name" , bxX frite, ,[%P frite, ,[$P frite, ,["P frite, ,[#P)b inver, figad( aktfi)+l Grad,Alter,Groesse (cm),Gewicht (kg)8v Staerke,Geschicklichkeit,Konstitution,Intelligenz4 Auftreten,Reaktionswert,Bewegung,Lebenspunkte) Klaus,m,Sabine,w,Peter,m,Sybille,w* 1,19,176,78,90,92,98,80,80,89,29,40* 1,23,165,62,80,99,75,90,88,84,32,35+ 1,22,192,99,100,85,99,69,77,88,35,42* 1,28,171,66,84,86,90, name( n,) (,"Geschlecht" =, name( n,){$      ',   ',  wert( n,  )!. ,"Inhalt von Tasche:"]8 ,"1)";gegens( besit( n,)) ),"2)";gegens( besit( n,))]B ,"3)";gegens( besit( n,)) ),"4)";gegens( besit( n,))]L ,"5)";gegens( besit( n,)) ),"6)";gegens( besit( n,))V K`94,90,89,30,38  l , ,  n aktfi   ,"Ggst "()"h"()"inlegen" ,"Ggst "()"a"()"ufnehmen" +,"Ggst "()"u"()"ebergeben" ?,"Ggst "()"b"()"enutzen"' ,"Mit 'R' wieder zurueck!"!(C) "R"   "U" * "H" `   "A"   '    , ,  DK*  ,"Mit der Nummer einer Tasche ohne Inhalt kommen Sie zurueck!"g4 ,  ,"Mit der Nummer einer Tasche ohne Inhalt kommen Sie zurueck!"gj ,"Geben Sie die Nummer der Tasche ein, aus der Sie den Ggst hinlegen wollen "; K,)t tn tn tn j 5~ besit( aktfi, tn) (); A ad fel xsc ( ysc ) xau( eben)$ ( ad)* ()  tabell, eben tabell, xsc tabell, ysc tabell, besit( aktfi, tn) tabell,"Geben Sie die Nummer der Tasche ein, aus der Sie den Ggst uebergeben wollen "; L,)> tn tn tn 45H besit( aktfi, tn) (); AR ad fel xsc ( ysc ) xau( eben)>\ statu()( ad)% statu()( ad)%1f statu()( ad xau( eben))%1p statu()( ad xau( eben))%z an   W statu( ) statu( ) an an stTrack-Info  N         ( ad)F tabell tabell besit( aktfi, tn) ad,*   ,"Mit der Eingabe einer Tasche mit Inhalt kommen Sie zurueck!" ," In welche Tasche soll der Gegenstand gesteckt werden (Nr) "; F,, tnr tnr tnr  5 besit( aktfi, tnr) () A ad fel xsc ( ysc ) xau( eben)$ ( ad)* ()  U tabell  ( ) eben 2CREATOR4GENpiD6E,00DD,6601,0E20)3 060A,7EEE,FF77,2310,F911,F607,19D2 P      b("&"u(,)) b("&"y(,))*  , b  , b" "creator4.bin", ,, ) DD6E,00DD,6601,2271,A2C9,212D,0822) 0BA1,2150,C022,16A1,212D,0022,06A1) 21ED,B822,08A1,CDDE,A111,40C0,213B) C00E,14CD,02A1,21A0,0022,48A1,DD6E) 0222,4EA1,DD5E,04DD,5605,210F,C0C3) 29A1,21 $ ( ) xsc 2 $ ( ) ysc 2 , besit( aktfi, tnr)( ) ad,( ) ( ad  tabell2  ad fel 3< ad tabell ,( )"F tabell tabell .P  ,  name( aktfi,);" sieht"IZ ( fel xsc( ysc) xau( eben))* x d "nichts Besonderes." n  x U tabell  ( ) eben  $ D3,0722,0BA1,2150,C022,16A1) 212D,0022,06A1,21ED,B022,08A1,CDDE) A111,0FC0,2114,C00E,14CD,02A1,21A0) 0022,48A1,DD6E,0222,4EA1,DD5E,04DD) 5605,213C,C0C3,29A1,21CE,F722,0BA1) 21B0,3F22,16A1,2132,0022,06A1,21ED) B022,08A1,CDDE,A111,FFFD,215F,FD0E) 12CD,02A1,2105,0022,48A1,2101,0022) 4EA1,DD5E,04DD,5605,210F,C0C3,29A1) 21CE,0722,0BA1,2150,C022,16A1,2132) 0022,06A1,21ED,B022,08A1,CDDE,A111) 0FC0,21AF,C00E,12CD,02A1,2105,0022) 48A1,2101,0022,4EA1,DD5E,04( ) xsc  $ ( ) ysc  $ "folgenden""Gegenstand:"  gegens(( )) tabell * ,"Bitte Taste druecken";    DP ž^DD,5605) 21AF,C5C3,29A1,0608,C501,3200,EDB0)! 01CE,07EB,09EB,09C1,10F0,C501,50C0)" EB09,EB09,C10D,20E2,DD6E,00DD,6601)# C3A4,A106,0AC5,D5E5,1A6F,2600,5F54)$ 2929,1929,2929,29ED,5B71,A219,EBE1)% E5CD,62A1,E111,A000,19D1,EB01,8900)& 09EB,C110,D6C9,DD5E,00DD,5601,DD6E)' 02DD,6603,0E10,0605,1A77,1323,10FA)( D511,FB07,1930,0411,50C0,19D1,0D20)) E9C9,060A,21A0,0022,48A1,DD6E,0022)* 4EA1,DD5E,02DD,5603,210F,C0D5,E5C5)+ CD29,A1C1,E111,0500,19D1,1310,F0C9), DD5E,0CREATOR4BIN  f  ~w#P E,FF77,2310,F911,F607,19D2nf"q!-" !P"!-"!"ޡ@!;!"Hn"N^V!)!" !P"!-"!"ޡ!!"Hn"N^V!<)!" !?"!2"!"ޡ!_!"H!"N^V!)!" !P"!2"!"ޡ!!"H!"N^V!)2 P nfä o&_T))))))[qb ^Vnfw#0P  !8DD,5609,0E10,0605,C51A,E6AA)- 2003,7EE6,AA4F,1AE6,5520,037E,E655). B177,1323,C110,E77D,C6FB,6F3E,078C)/ 6730,087D,C650,6F3E,C08C,670D,C2AC)0 A1C9,0601,C5C5,DD6E,00DD,6601,DD7E)1 06E5,C32F,A1DD,5E00,DD56,01DD,6E02)2 DD66,03C3,AAA1,DD6E,00DD,6601,0E20)3 060A,7EEE,FF77,2310,F911,F607,19D2)4 1AA2,1150,C019,0DC2,06A2,C900,0000B822,08A1,CDDE,A111,40C0)  $ markiertes Objekt verschieben  ##,"Neue Position:";2 xhil x yhil "Hn"N^V!)^V  ~OU ~Uw#}o>g0}Po>g ¬nf~/^Vnfênf  ~w#P E,FF77,2310,F911,F607,19D2)4 1AA2,1150,C019,0DC2,06A2,C900,0000B822,08A1,CDDE,A111,40C0Track-Info  NCREATOR4BINrrf  ~w#P nf"q!-" !P"!-"!"ޡ@!;!"Hn"N^V!)!" !P"!-"!"ޡ!!"Hn"N^V!<)!" !?"!2"!"ޡ!_!"H!"N^V!)!" !P"!2"!"ޡ!!"H!"N^V!)2 P nfä o&_T))))))[qb ^Vnfw#0P  !'"Hn"N^V!)^V  ~OU ~Uw#}o>g0}Po>g ¬nf~/^Vnfênf  ~w#P ompl2 ret QQ0$$/$I$f$u$Tq$!>)'#/"0$$/$I$f$u$TqSXr((((@!LM8*MLMMr`DEMO4 FLDdK & P ž^,' ',s2, Length(s2),' ', s3, Length(s3),' ',s1); DeleteStr(s1, 1, 1); s2:=Concat(s2,'!'); s3:=s2; END; WriteLn(s1, Length(s1),' ',s2, Length(s2),' ', s3, Length(s3),' ',s1); END. DEMO4 SPR4q q } * ????UAOAOAOO+ |,=?=?=?>??=?=?<><=<<<<<<<=<<>=?=?=?>??=?=?<><=< YYYNOYO'YfKY'NΦYƇYɦY'fYNƍYƦYKKYNgYKY Y OϏOϏOϏKÇKÇKÇOOOKKKHAUS1 FLDdK P ž^, z\ C"" \f dumm ()pVz ", dumm dumm ()" TASTE "()  dumm ϏϏϏÇÇÇ<<<<<<< <<<< <<<, <<, << << << <<< <<<< <<<< <<<< <<<< <<<< <<<< <<<<<<,,,,,) ,,,,,?,,,% ,,,,,,, ,,' ,,>#, ,(,,H#,, ,,R#, ,(,,\#,#,f#,#,p#,#,z#,#,####" ,"L-Lschen E-Ende"f a a a d #, ,#,#," Speicher voll!";#,    L  ` ## #,"",eingabe eingabe""   (eingabe)"e" L#dtm$(an)=LEFT$(eingabe1$,10)?dt( a)eingabedatzeil=INT(LEN(eingabe1$)/10)  `# ,,,,,p,,,p*** Umlaute ***+ ,,<,f,f,~,f,f Ae+ ,,l,,,,l,8 Oe+ ,,f,f,f,f,f,< Ue* ,,,x, ,|,,v  ae)" ,f,,<,f,f,f,< oe), ,f,,f,f,f,f,> ue)6 ,<,f,f,l,f,f,l,`@"d" B J ,,,T ,,,^ ,,,h ,,,, r ,| ,d,,  () , , , #,"",eingabe eingabe""   (eingabe)"e" L  (eingabe)"l" %$er( a)u(eingabe,V) .##8 a  Scroll B #Ldt( a)"" a a V ` ,"Nr."; aj### Aendern ###t ~ p   <#,, ,,#, ,(,,#,#,#,#, ##- ,  " Datum Ereignisse"   , |, , , ,  ,    a-i,k-w,y,zN     wd di*** dm = max. Anzahl von Daten dt( d), da( d), mona( d), jah( d), in( d),er( d),n( d),n( d), kontroll( ),wahl(),wahl(),wahl())text"Zuwenig Daten vorhanden !"$   wahl( )v "Men",Eingabe,"ndern",Anschauen,Ereignis abfragen,Datum abfragen,Daten speichern/laden,Lexikon,Sortieren,Ende$   wahl( |,  ,"Nr."; a0   ,  wahl( ) #, ()  #, () #,  ()8 , ()wahl()()()() Pfeil4( ,D V,D V, , ,D&2#,dt( )#,er( )<+++ Abfrage +++FC "" FP ()Z %, " "d   9n  a  ,J,,,!x ,  wahl( )/ )9 "Men","Lschen",Suchen,"ndern",Suchen,"Einfgen"$   wahl( )' "Men",Load,Save,Merge,Cat,Speed  ### Menue ###  &#,0 : ȱ, ϱ, б,vD ,"History"N ȱ, ϱ, б,DX P, +,b ,l , ,, ~, ~, ,(v p    < p1    ,   wahl( )0 x, ,, ,7 x,7 x,6 ,  (    /    $ ,"Nr." a ()@ ,  ()wahl( )() %,  ()  F+++ Loeschen +++ n $#,,#,"Lschen... [J/N]C "" ) ()"j" #,,#,()E a dt( )""er( )"" a  ^ a a f a<dt( )dt( )er( )er( )" "()wahl(  )()- ,"Es sind" a"Daten vorhanden!"C ""  ()$ , " "wahl(  )@   ,t,,z,@ , ,h,p,0    0     6 ,  ()" "()wahl(  )()  ### Eingabe ###    ,= ,4 ,V |,V  ,Z ,* , |,4#,,Track-Info  N)*dt( a)""er( a)"""" a n  , ^A6 f n n ,"Nr." n a () @+++ aufwaerts zeigen +++J T a  ^##&h#,dt( )#,er( )r|+++ Daten aendern +++!#,, #,"",eingabe!#,, #,"",eingabe9 eingabe"" dt( )u(eingabe, )9 eingabe"" er( )u(eingabe,V) ##& , (); abst@ l abst,_   < auswah( wechse( ));   x( ) l , altzah wechse() ?  $ x  (); Pfeil setzen +++ Steuerung +++ C ""   ()      ( #.2    .<    F n ,x , P (); Z  d +++ Pfeile se#,dt( )#,er( )+++ abwaerts zeigen +++   a ##&#,dt( )#,er( )+++ Einfuegen +++ a d !#,, #,"",eingabe& eingabe"" !0#,, #,"",eingabe: eingabe"" D N a <Xdt( )dt( )er( )er( )b*l  a a ,"Nr."; v ### Anschtzen +++#n abst x(), -x abst x() x(), 6 abst x()8 x() x(),  +++ Eingabe pruefen +++ ve ve ,"Versuch:"; ve auswah( wechse( ))dt( zahl) ###,dt( zahl)  ,,2,    Balken zeichnen @ Melodie. wart w,  wart  anzah # 8,? ();    +++ zurueck zumauen ###   ,= ,4 ,* |,*,E , ()"COPY-Men/A-Anfang/Z-zurck/Taste-weiter"();#,, ,,#, ,(,,#,#,#,#, s a s   s s s  Scroll #  s a (); *  *  *C "" * 4##+> () s s  H ()"a" sBR ()"z" s s Menue +++ # 8,? (); C ""   ()     +++ Rechteck zeichnen +++. l(auswah( wechse( ))):" , l, , l, ,  ,, $6 ### Jahreszahlen abfragen ###;@ ve schrit zufal  xpP yp J T #,, ,,^ #, ,(,,h #, ,',,r #,#,#,| #,#,#, ### ,= ,, , z,A   s s s\ s a s f "p### Ereignisse abfragen ###;z ve schrit zufal  xpP yp  #,, ,, #, ,(,, #,,&,,#,,!,,#,#,#,#,#,#,#, ## , ()(&)()0 , l,, l, , , ,= , , z, ,"Men"; 3  ,% d,%, d,   ,   ,   ,  ("Men", ,)  . 7,4 7,, X, X,4 7,4. , v,, v, , , ,  ()(&)(). , l, l, , , ,"Vs:" ,"Nr."+ a #,,#,text   ,p v,p ,@ v,@( kontroll kontroll( ) anzah a n Daten auswaehlen ,"Nr."; anzah & ##0 #,dt( zahl);#: au%& ,"Versuch:"  ,"Nr."'$ a #,()text  (. kontroll kontroll( )8 anzah aB n Daten auswaehlenL  ,"Nr."; anzah V ##` ##,er( zahl)#j auswah()dt( zahl)#t auswah()dt( zahl)#~ auswah()dt( zahl)# #,,#,()()()# #,,#,()()() #,,#,()(): l(auswah()auswah()auswah())> Track-Info  Nswah()er( zahl)#D auswah()er( zahl)%N auswah()er( zahl) $X #, ,#,()()()$b #, ,#,()()()l #, ,#,()()v +++ Daten zeigen +++ #   5 #,, #,auswah( wechse( ))   ,p n,p, ,@ n,@! altzah wechse()  , ()  +++ Steuerung +++ C ""   ( Cat +++  `&+++ Eingabe des Dateinamens +++#"Bitte Dateiname eingeben:" nam nam"" ` (nam)  nam(nam)".His"&+++ Geschwindigkeit aendern +++."Bitte Geschwindigkeit whlen (1/2)" " ,  `6 s @ s s J s T `^### Lexikon ###h  r <|#,, ,,#, ,(,,#,#,#,#, )  H  , " "   0    0    * ,  () 4  > +++ Eingabe pruefen +++H prue )R ve ve ,"Vs:"; ve\ prue pruef prue pruejp auswah( wechse( prue))er( zahl) ##,er( zahl)  ,,2,  z  Balken zeichnen @ Melodie6 wart , |, ,f |,f ,b ," , "Datum"()"Ereignis" ##. ,F ,F ,( ,( ,F$ ,"Datum: ";  ()5 ,  "COPY = Men" eingab""+++ Eingabe +++C ""  ()    &  l0 (eingab) :  D ,N ( )()#Xeingabeingab( ) b l (eingab) w,  wart  , " " anzah , ()   +++ zurueck zum Menue +++ , () C ""  - ()   ," "  " ### Load,Save,Merge,Cat ###  < #,,', ,#,, ,, #,#, $##.#,#,08 <, <,R, ,R , <,)B , v, v, , ,*L , , ~, ~, ,1V v , ()" " %eingabu(eingab, )  +++ Ereignis suchen +++Z , ()(); e(eingab)hil"" * , "Moment bitte!"  eLhilf(eingab, ,) hilf" " hilhilhilfeingabhil suc a ) e(dt( suc))hil""  e Qhilf(dt( suc), ,) hilf" " hilhilhilf #,, #,wahl( )7`#,, #,()" "()wahl( )()j+++ Abfrage +++tC "" t~ ()#,, #," "5  # ,,(,d,,"#,, #,wahl( ).    .    7#,, #,()" "()wahl( )()  t+++ Daten Laden +++   dt,er" dt( d),er  eingabhil > @  ,"Nichts gefunden !" wart w,    wart * *  , ()4> *## H##-R#,dt( suc);#,er( suc) \ f### Sortieren ### p z#,, ,,#, ,(,,#,#,#, #, ##( ,i {,i, ,4 ,>I ,  ()"COPY-Men/C-sort/Z-zeig/L-lgm/H-halt/E-."();- ,b {,b, {,% ,%( d) nam#, a=   a #,dt( ) #,er( )  `+++ Daten speichern +++ ( 2 nam<#, a9F  a#,dt( )#,er( ) P `Z+++ Merge +++d  al an namx#, aK al a d a al"Speicher zu klein !" K  a #,dt( al) #,er( al) a a al  `+++Track-Info  N ,bC ""  ()  ()"z" 8 ()"c"   "###," Bitte warten !" 2,   & r()$###," fertig !!" .  8##B  a L  VC8` ()"l" l l  lj ()"e" t ()"h" ~  l  #,".";### Ende ###  < * , ,ppo,,".") pposoX ppo ppos jah( )() t(,"v") jah( ) jah( )  b ppos jah( )(y(, dlan ppos)) da( )(u(, ppo)) t(,"v") jah( ) jah( )  pl ppos jah( )(y(, dlan ppo)) t(,"v") jah( ) jah( ) rv ppos mona( )(u(, ppo)) mona( )((, ppo, ppos pp ~, ~, , , "COPY - Men"  , "L - Daten lschen"% ,"E - Programm verlassen"C "" ! ()"e"  U ()"l" ,"Daten wirklich lschen J/N"; ()"j"  *** Menuewahl zeigen *** ,( , " Datum"()"Ereignisse" 2 ,8 z,8<#,,&,,#,#5F ,m ,, d, d,m ,m+P#,#," ";wahl(  );#,Zdo))  a  in suc a> jah( suc) jah( in) in suc - jah( suc) jah( in) @ mona( suc) mona( in) in suc / mona( suc) mona( in) 6 da( suc) da( in) in sucV in( ) in jah( in)Qv mona( in) da( in)   a[n( a )dt( in( ))n*** Daten auswaehlen ***!n a zufal aMx a a anzah a  zufal zufal a  + zahl (E zufal) schrit$  anzah schrit( kontroll( ) zahl   0 kontroll( anzah schrit) zahlA anzah   zufal schrit schrit + zahl (E zufal) schrit zahl zahl + zahl (E zufal) schrit2 zahl( a )er( in( ))    a6 dt( )n( )er( )n( )*4 $$$( )n( )er( )n( )Druidentreffen im Karnuten- wald 9 Arminius siegt ZASIC.INIMC.Otabel2+2);adresse des hintergrundpuffers call write2;herstellung des hintergrundes ld hl,(tabel1);akt. bildschirmadresse ld (tabel2),hl ld de,(tabel2+2);pufferadresse call copy;sichern des hintergrundes ld hl,(tabel1+2);angfangsadresse der Phasenliste ld c,(ix+4);akt. phasennummer (0-3) ld b,(ix+5);momentaner verzoegerungswert ld e,(ix+6);dazugehoeriger Nachladewert ld a,(vers);version :0=links 1=rechts call phase;ermittlung der grafikadresse ld (ix+5),b ld (ix+4),a ld hl,(tabel1) call write;ASSEMBLE { ( spr3:defs 80 2 spr4:defs 80 < spr5:defs 80 F spr6:defs 8% org #a000 ld hl,(tabel1);sichern des hintergrundes vor ld de,puffer;dem ersten darstellen (call copy 2call kickon <joy:call #bb24;joystickabfrage Fld a,h Pld c,a Zbit 0,c dcall nz,oben nbit 1,c xcall nz,unten bit 2,c call nz,links bit 3,c call nz,rechts bit 4,c jp nz,kickof jp joy kickon:ld hl,event;einhaengung in die interruptschleife ld b,#81 darstellung der akt. phase ld a,(xpos);aktualisierung der log. Koord. ld (xalt),a ld a,(ypos) ld (yalt),a pop ix pop hl pop bc pop de pop af ei ret phase:sla a;in a 0 fuer Flug links 1 fuer Rechts sla a;*8 weil 4 Grafikadressen pro Richtung sla a;in der Liste sprani add a,c;dazu die aktuelle Phase doppelt add a,c;da eine Adresse 2 Bytes beinhaltet add a,l; +anfangsadresse der Liste sprani ld l,a ld a,h adc a,0 ld h,a;in hl steht die adresse der akt. phase ld a,c djnz phse2;runterzaehlld c,0 ld de,show call #bcef ld hl,takt call #bcda ret kickof:di;aushaengung "ld hl,takt ,call #bcdd 6ret @copy:ld c,16;siehe Erklaerung in vorheriger Jcopy3:ld b,5;Ausgabe der Assemblerecke Tcopy2:ld a,(hl) ^ld (de),a hinc hl rinc de |djnz copy2 ld a,l add a,#fb ld l,a ld a,7 adc a,h ld h,a jr nc,copy4 ld a,l add a,#50 ld l,a ld a,#c0 adc a,h ld h,a copy4:dec c jp nz,copy3 ret &write:ld c,16;s.o. 0writ3:ld b,5 :writ2:push bc Dld a,(de) Nand #aa Xung des schleifenwertes ld b,e;wenn null dann Nachladung ld a,c;erhoehung der Phasennummer inc a;(bzw. des Pointers) and #03;und beschraenkung auf Werte zwischen phse2:ld e,(hl);0 und 3 da in der Liste sprani nur 4 inc hl;phasen pro Richtung generiert sind ld d,(hl) ret tabel1:defw #c000;bildschirmadresse des sprites :defw sprani;anfangsadresse der phasenliste pha:defb 0;nr der akt. phase :defb 4,4;phasenwechselverzoegerung,nachladewert tabel2:defw #c000;bildschirmadresse der alten position :dTrack-Info  Njr nz,halb1 bld a,(hl) land #aa vhalb1:ld c,a ld a,(de) and #55 jr nz,halb2 ld a,(hl) and #55 halb2:or c ld (hl),a inc de inc hl pop bc djnz writ2 ld a,l add a,#fb ld l,a ld a,7 adc a,h ld h,a *jr nc,writ4 4ld a,l >add a,#50 Hld l,a Rld a,#c0 \adc a,h fld h,a pwrit4:dec c zjp nz,writ3 ret write2:ld c,16;s.o. schre2:ld b,5 schre3:ld a,(de) ld (hl),a inc de inc hl djnz schre3 ld a,l add a,#fb ld l,a ld a,7 adc a,h ld h,a jr nc,schre4se:sla a;in a 0 fuer Flug links 1 fuer Rechts zsla a;*8 weil 4 Grafikadressen pro Richtung sla a;in der Liste sprani add a,c;dazu die aktuelle Phase doppelt add a,c;da eine Adresse 2 Bytes beinhaltet add a,l; +anfangsadresse der Liste sprani ld l,a ld a,h adc a,0 ld h,a;in hl steht die adresse der akt. phase ld a,c djnz phse2;runterzaehlung des schleifenwertes ld b,e;wenn null dann Nachladung ld a,c;erhoehung der Phasennummer inc a;(bzw. des Pointers)  and #03;und beschraenkung a ld a,l $add a,#50 .ld l,a 8ld a,#c0 Badc a,h Lld h,a Vschre4:dec c `jp nz,schre2 jret toben:ld hl,yalt;nur wenn yalt und ypos ~ld a,(ypos);uebereinstimmen (also eine vorherige xor (hl);positionsaenderung schon "bemerkt" ret nz;wurde) erfolgt eine erneute aenderung ld a,(ypos);abfrage ob rand erreicht ist cp 184 ret z add a,2 ld (ypos),a;aenderung der koordinaten ld a,(tabel1+1); " der bildschirmadresse sub 16;in der liste tabel1 ld (tabel1+1),a bit 6,a ret nz ld huf Werte zwischen  phse2:ld e,(hl);0 und 3 da in der Liste sprani nur 4  inc hl;phasen pro Richtung generiert sind $ ld d,(hl) . ret 8 tabel1:defw #c000;bildschirmadresse des sprites B :defw sprani;anfangsadresse der phasenliste L pha:defb 0;nr der akt. phase V :defb 4,4;phasenwechselverzoegerung,nachladewert ` tabel2:defw #c000;bildschirmadresse der alten position j :defw puffer;adresse fuer die hintergrunddaten t sprani:defw spr1;adresse fuer phase 1 links ~ :defw spr2;adresse fuer phase 2 links :defwl,(tabel1) ld de,#3fb0 add hl,de ld (tabel1),hl (ret 2unten:ld hl,yalt;s.o. <ld a,(ypos) Fxor (hl) Pret nz Zld a,(ypos) dcp 0 nret z xsub 2 ld (ypos),a ld a,(tabel1+1) add a,16 ld (tabel1+1),a ret nc ld hl,(tabel1) ld de,#c050 add hl,de ld (tabel1),hl ret links:ld hl,xalt;s.o. ld a,(xpos) xor (hl) ret nz ld a,0 ld (vers),a "ld a,(xpos) ,cp 0 6ret z @dec a Jld (xpos),a Tld hl,(tabel1) ^dec hl hld (tabel1),hl rret |rechts:ld hl,xalt;s.o. ld a,(xpos) spr3;adresse fuer phase 3 links :defw spr2;adresse fuer phase 2 links spran2:defw spr4;adresse fuer phase 1 rechts :defw spr5;adresse fuer phase 2 rechts :defw spr6;adresse fuer phase 3 rechts :defw spr5;adresse fuer phase 2 rechts puffer:defs 80;puffer fuer den hintergrund xpos:defb 0;logische koordinaten xalt:defb 0 ypos:defb 184 yalt:defb 184 vers:defb 1;0 = links 1 = rechts takt:defs 2 event:defs 6  spr1:defs 80;bereich fuer die Grafikdaten  spr2:defs 80;der einzelnen Phasenxor (hl) ret nz ld a,1 ld (vers),a ld a,(xpos) cp 75 ret z inc a ld (xpos),a ld hl,(tabel1) inc hl ld (tabel1),hl ret show:di push af;sichern der Register &push de 0push bc :push hl Dpush ix Nld ix,tabel1;anfang der Parameterdaten Xld hl,(tabel2);adresse der alten bildposition bld de,(tabel2+2);adresse des hintergrundpuffers lcall write2;herstellung des hintergrundes vld hl,(tabel1);akt. bildschirmadresse ld (tabel2),hl ld de,(tabel2+2);pufferadresse call copy;sic ( spr3:defs 80 2 spr4:defs 80 < spr5:defs 80 F spr6:defs 80  ( spr3:defs 80 2 spr4:defs 80 < spr5:defs 80 F spr6:defs 8          2C3DB81C33482C38482C3BE82e, inte( numme)( numme)3|MC.IN,, inte(), inte(), inte() >( numme),, inte( numme) "0";(( inte( numme)),);  (( inte( numme)),);8 farb inte()hern des hintergrundes ld hl,(tabel1+2);angfangsadresse der Phasenliste ld c,(ix+4);akt. phasennummer (0-3) ld b,(ix+5);momentaner verzoegerungswert ld e,(ix+6);dazugehoeriger Nachladewert ld a,(vers);version :0=links 1=rechts call phase;ermittlung der grafikadresse ld (ix+5),b ld (ix+4),a ld hl,(tabel1) call write;darstellung der akt. phase ld a,(xpos);aktualisierung der log. Koord. ld (xalt),a ld a,(ypos) ld (yalt),a *pop ix 4pop hl >pop bc Hpop de Rpop af \ei fret pphaTrack-Info  Ninks 1 = rechts takt:defs 2 event:defs 6 spr1:defs 80;bereich fuer die Grafikdaten spr2:defs 80;der einzelnen Phasen spr3:defs 80 spr4:defs 80 spr5:defs 80 spr6:defs 80  ( spr3:defs 80 2 spr4:defs 80 < spr5:defs 80 F spr6:defs 8$$sser :",d:MODE 1:INK 0,15:INK 1,0:BORDER 15:e=1:f=1:g=320:h=200:i=d:GOSUB 50:f=-1:e=2:GOSUB 50:f=1:h=200+d*0.176  @ B,  , @ ,  B,   @  20 '; erzeugt "Sprites.Bin" 30 '; (c) 1992 Matthias Fink & CPC International 40 '; 50 ' org )5 statu "Drucker ist betriebsbereit!"4 statuZ "Drucker ist ausgeschaltet!"UUUUUUU&&&&&SPRITES BASp  ( (E)#); F !  Startprogramm SPRITES.BAS ,   , , ("sprites.bin",2"sprites.spr",3)<   ( (E)#); F s 1 nien zum Hhepunkt seiner Macht 1558-1603 Elisabeth 1. Knigin von England, Tochter Heinrichs 8. 1562-1598 Hugenottenkriege in Frank- reich 1588 Vernichtung der span. Armada durch die engl. Flotte 1618-1648 Dreiigjhriger Krieg 1648 Friede zu Mnster u. Osna- brck 1661-1715 Ludwig 14. Knig von Frank- reich (Absolutismus) 1683 Die Trken belagern Wien 1689-1725 Peter der Groe europisiert Ruland 1740-1786 Friedrich der Groe, Knig von Preuen 1756 Giacomo Casanova flieht Triumvirat: Antonius, Lepidus, Octavianus 9 Arminius siegt im TeutoburgerWald ber die Rmer 303 Letzte Christenverfolgung in Rom unter Diokletian 375 Hunneneinfall. Beginn der Vlkerwanderung 380 Theodosius 1. erhebt Christentum zur Staats- religion 410 Alarich zieht in Rom ein 476 Untergang des Westrmischen Reiches. Romulus Augustulus wird von Odoaker abgesetzt 493 Theoderich der Groe grndet das Ostgoten-Reich in Italien 622 Mohammed flieht von Mekka nach Medina 10 '; Sprites.Asm 20 '; erzeugt "Sprites.Bin" 30 '; (c) 1992 Matthias Fink & CPC International 40 '; 50 ' org &a000 60 ' ld hl,(tabel1) 70 ' ;Sichern des Hintergrunds vor 80 ' ld de,puffer ;dem ersten Darstellen 90 ' call copy 100 ' call kickon 110 'joy call &bb24 ;Joystickabfrage 120 ' ld a,h 130 ' ld c,a 140 ' bit 0,c 150 ' call nzSPRITES BIN 20 '; erzeugt "Sprites.Bin" 30 '; (c*֡I-$|OAĿIQY.aA !-M!+ڼ!+ݼ~#}o>g0}Po>g K ~OU ~Uw#}o>g0}Po>g lw#}o>g0}Po>g  !):(:(2(:2w*?"!):(:(2(:2*P"!':&>2*:&=2&*+"!':&>2*:&K<2&*#"!*¡[ġ͞*"¡[ġI*NF^:*͡,oben 160 ' bit 1,c 170 ' call nz,unten 180 ' bit 2,c 190 ' call nz,links 200 ' bit 3,c 210 ' call nz,rechts 220 ' bit 4,c 230 ' jp nz,kickof 240 ' jp joy 250 'kickon ld hl,event ;Einhaengen in Interruptschleife 260 ' ld b,&81 270 ' ld c,0 280 ' ld de,show 290 ' call &bcef 300 ' ld hl,takt 310 ' call &pw*j:&2':(2)'''o|gyCy<^#Vơ֡3Ӣ#sãsTrack-Info  Nbcda 320 ' ret 330 'kickof di ;Aushaengen 340 ' ld hl,takt 350 ' call &bcdd 360 ' ret 370 'copy ld c,16 ;siehe CPC 8/9'92, S. 47-48 380 'copy3 ld b,5 390 'copy2 ld a,(hl) 400 ' ld (de),a 410 ' inc hl 420 ' inc de 430 ' djnz copy2 440 ' ld a,l 450 ' add a,&fb 460 ' ld l,a 470 ' ld a,7 480 ' adNur wenn yalt und ypos ueberein- 1200 ' ld a,(ypos) ;stimmen (also eine vorherige Po- 1210 ' xor (hl) ;sitionsaenderung schon "bemerkt" 1220 ' ret nz ;wurde), erfolgt eine erneute 1230 ' ;Aenderung 1240 ' ld a,(ypos) ;Abfrage, ob Rand erreicht ist 1250 ' cp 184 1260 ' ret z 1270 ' add a,2 1280 ' ld (ypos),a ;Aenderung der Koordinaten c a,h 490 ' ld h,a 500 ' jr nc,copy4 510 ' ld a,l 520 ' add a,&50 530 ' ld l,a 540 ' ld a,&c0 550 ' adc a,h 560 ' ld h,a 570 'copy4 dec c 580 ' jp nz,copy3 590 ' ret 600 'write ld c,16 ;siehe oben 610 'writ3 ld b,5 620 'writ2 push bc 630 ' ld a,(de) 640 ' and &aa 650 ' jr nz,halb1 660 ' 1290 ' ld a,(tabel1*1) 1300 ' ;Aend. der Bildschirmadresse 1310 ' sub 16 ;in der Liste "tabel1" 1320 ' ld (tabel1*1),a 1330 ' bit 6,a 1340 ' ret nz 1350 ' ld hl,(tabel1) 1360 ' ld de,&3fb0 1370 ' add hl,de 1380 ' ld (tabel1),hl 1390 ' ret 1400 'unten ld hl,yalt ;siehe oben 1410 ' ld a,(ypos) 1420 ' xor ld a,(hl) 670 ' and &aa 680 'halb1 ld c,a 690 ' ld a,(de) 700 ' and &55 710 ' jr nz,halb2 720 ' ld a,(hl) 730 ' and &55 740 'halb2 or c 750 ' ld (hl),a 760 ' inc de 770 ' inc hl 780 ' pop bc 790 ' djnz writ2 800 ' ld a,l 810 ' add a,&fb 820 ' ld l,a 830 ' ld a,7 840 ' adc (hl) 1430 ' ret nz 1440 ' ld a,(ypos) 1450 ' cp 0 1460 ' ret z 1470 ' sub 2 1480 ' ld (ypos),a 1490 ' ld a,(tabel1*1) 1500 ' add a,16 1510 ' ld (tabel1*1),a 1520 ' ret nc 1530 ' ld hl,(tabel1) 1540 ' ld de,&c050 1550 ' add hl,de 1560 ' ld (tabel1),hl 1570 ' ret 1580 'links ld hl,xalt ;siehe o a,h 850 ' ld h,a 860 ' jr nc,writ4 870 ' ld a,l 880 ' add a,&50 890 ' ld l,a 900 ' ld a,&c0 910 ' adc a,h 920 ' ld h,a 930 'writ4 dec c 940 ' jp nz,writ3 950 ' ret 960 'write2 ld c,16 ;siehe oben 970 'schre2 ld b,5 980 'schre3 ld a,(de) 990 ' ld (hl),a 1000 ' inc de 1010 ' inc hl 1020 ' ben 1590 ' ld a,(xpos) 1600 ' xor (hl) 1610 ' ret nz 1620 ' ld a,0 1630 ' ld (vers),a 1640 ' ld a,(xpos) 1650 ' cp 0 1660 ' ret z 1670 ' dec a 1680 ' ld (xpos),a 1690 ' ld hl,(tabel1) 1700 ' dec hl 1710 ' ld (tabel1),hl 1720 ' ret 1730 'rechts ld hl,xalt ;siehe oben 1740 ' ld a,(xpos) 1750 ' djnz schre3 1030 ' ld a,l 1040 ' add a,&fb 1050 ' ld l,a 1060 ' ld a,7 1070 ' adc a,h 1080 ' ld h,a 1090 ' jr nc,schre4 1100 ' ld a,l 1110 ' add a,&50 1120 ' ld l,a 1130 ' ld a,&c0 1140 ' adc a,h 1150 ' ld h,a 1160 'schre4 dec c 1170 ' jp nz,schre2 1180 ' ret 1190 'oben ld hl,yalt ;Track-Info  N xor (hl) 1760 ' ret nz 1770 ' ld a,1 1780 ' ld (vers),a 1790 ' ld a,(xpos) 1800 ' cp 75 1810 ' ret z 1820 ' inc a 1830 ' ld (xpos),a 1840 ' ld hl,(tabel1) 1850 ' inc hl 1860 ' ld (tabel1),hl 1870 ' ret 1880 'show di 1890 ' push af ;Sichern der Register 1900 ' push de 1910 ' push bc 1920 ' l ;plus Anfangsadr. d. Liste "sprani" 2350 ' ld l,a 2360 ' ld a,h 2370 ' adc a,0 2380 ' ld h,a ;In hl steht Adresse. d. akt. Phase 2390 ' ld a,c 2400 ' djnz phse2 ;Herunterzaehlen des Schleifenwerts 2410 ' ld b,e ;wenn Null, dann nachladen 2420 ' ld a,c ;Erhoehen der Phasennummer 2430 ' inc a ;(bzw. des Pointers) 2440 ' push hl 1930 ' push ix 1940 ' ld ix,tabel1 ;Anfang der Parameterdaten 1950 ' ld hl,(tabel2) 1960 ' ;Adresse der alten Bildposition 1970 ' ld de,(tabel2*2) 1980 ' ;Adresse des Hintergrundpuffers 1990 ' call write2 ;Herstellen des Hintergrunds 2000 ' ld hl,(tabel1) 2010 ' ;akt. Bildschirmadresse 2020 ' ld and &03 ;und Beschraenkung auf Werte 2450 ' ;zwischen 0 und 3, 2460 'phse2 ;da in der Liste "sprani" nur 2470 ' ld e,(hl) ;4 Phasen pro Richtung 2480 ' inc hl ;generiert sind 2490 ' ld d,(hl) 2500 ' ret 2510 'tabel1 defw &c000 ;Bildschirmadresse d. Sprites 2520 ' defw sprani ;Anfangsadresse der Phasenliste 2530 'pha defb 0 (tabel2),hl 2030 ' ld de,(tabel2*2) 2040 ' ;Pufferadresse 2050 ' call copy ;Sichern des Hintergrunds 2060 ' ld hl,(tabel1*2) 2070 ' ;Anfangsadresse der Phasenliste 2080 ' ld c,(ix+4) ;akt. Phasennummer (0-3) 2090 ' ld b,(ix+5) ;momentaner Verzoegerungswert 2100 ' ld e,(ix+6) ;dazugehoeriger Nachladewert 2110 ' ld a,(vers) ; ;Nummer der akt. Phase 2540 ' defb 4,4 ;Phasenwechselverzoegerung, 2550 ' ;Nachladewert 2560 'tabel2 defw &c000 ;Bildschirmadr. d. alten Position 2570 ' defw puffer ;Adresse fuer die Hintergrunddaten 2580 'sprani defw spr1 ;Adresse fuer Phase 1 links 2590 ' defw spr2 ;Adresse fuer Phase 2 links 2600 ' defw spr3 ;Adresse fuer Phase 3 links 2610 ' defw Version 0=links 1=rechts 2120 ' call phase ;Ermitteln der Grafikadresse 2130 ' ld (ix+5),b 2140 ' ld (ix+4),a 2150 ' ld hl,(tabel1) 2160 ' call write ;Darstellen der akt. Phase 2170 ' ld a,(xpos) ;Aktualisieren d. log. Koord. 2180 ' ld (xalt),a 2190 ' ld a,(ypos) 2200 ' ld (yalt),a 2210 ' pop ix 2220 ' pop hl 2230 ' pop bc 22 spr2 ;Adresse fuer phase 2 links 2620 'spran2 defw spr4 ;Adresse fuer Phase 1 rechts 2630 ' defw spr5 ;Adresse fuer Phase 2 rechts 2640 ' defw spr6 ;Adresse fuer Phase 3 rechts 2650 ' defw spr5 ;Adresse fuer Phase 2 rechts 2660 'puffer defs 80 ;Puffer fuer den Hintergrund 2670 'xpos defb 0 ;logische Koordinaten 2680 'xalt defb 0 2690 'ypos defb 184 2700 'yalt de40 ' pop de 2250 ' pop af 2260 ' ei 2270 ' ret 2280 'phase sla a ;In a 0 fuer links, 1 fuer rechts 2290 ' sla a ;mal 8, weil 4 Grafikadressen 2300 ' ;pro Richtung 2310 ' sla a ;in der Liste "sprani" 2320 ' add a,c ;Dazu die aktuelle Phase doppelt, 2330 ' add a,c ;da eine Adresse 2 Bytes enthlt 2340 ' add a,Track-Info  Nfb 184 2710 'vers defb 1 ;0 = links, 1 = rechts 2720 'takt defs 2 2730 'event defs 6 2740 'spr1 defs 80 ;Bereich fuer die Grafikdaten 2750 'spr2 defs 80 ;der einzelnen Phasen 2760 'spr3 defs 80 2770 'spr4 defs 80 2780 'spr5 defs 80 2790 'spr6 defs 80 ;Ende des Listings 2800 '  erzeugt "Sprites.Bin" ; (c) 1992 Matthias Fink & CPC International ; org &a000 ld P ž^X!j~Z#!  !010MEMORY &9FFF 1020FOR adr=&A000TO &A29E STEP 11 1030 FOR i=adr TO adr+ 10 1040 Z8 >@0> O*w:1nf~#^#VG(ʡ:(:_*+q:5{25:G:_O*+( +x2q5 (hl) 1430 ' ret nz 1440 ' ld a,(ypos) 1450 ' cp 0 1460 ' ret z 1470 ' sub 2 1480 ' ld (ypos),a 1490 ' ld a,(tabel1*1) 1500 ' add a,16 1510 ' ld (tabel1*1),a 1520 ' ret nc 1530 ' ld hl,(tabel1) 1540 ' ld de,&c050 1550 ' add hl,de 1560 ' ld (tabel1),hl 1570 ' ret 1580 'links ld hl,xalt ;siehe oB 20 48 r1 Ausgaben ####.## DM 1 r1*100/su1 JANUAR ###.# % 1 r3 Einnahmen ####.## DM 1 r3*100/su3 ###.# % 1 r5 Ausgaben ####.## DM 1 r5*100/su5 FEBRUAR ###.# % 1 r7 Einnahmen ####.## DM 1 r7*100/su7 ###.# % 1 r9 Ausgaben ####.## DM 1 r9*100/su9 MAERZ ###.# % 1 r11 Einnahmen ####.## DM 1 r11*100/su11 ###.# % 1 r11-r9+r7-r5+r3-r1 Bilanz ######.## 1 r14 #####.### 0 r15 #####.### 0 r16 #####.### 0 SPRITES SPR r17 #####.### 0 r18 #####.### 0 r19 #####.### 0 r20 #####.### 0 r21 #####.### 0 r22 #####.### 0 r23 #####.### 0 r24 #####.### 0 r25 #####.### 0 r26 #####.### 0 r27 #####.### 0 r28 #####.### 0 r29 #####.### 0 r30 #####.### 0 r31 #####.### 0 r32 #####.### 0 r33 #####.### 0 r34 #####.### 0 r35 #####.### 0 r36 #####.### 0 r37 #####.### 0 r38 #####.### 0 r39 ,0,0,0,0,0,0,0,0,0,0,2,2,0,cup pgfla  ~ @ TITEL $$$ dec h jr ic0 IstChr ld a,l !E!?:-w +#:-<¨ր2- x‹0,C2,A8,AF,D6,80,10,F6,32,2D,AF,C1,0B,78 B1,C2,8B,AF,C9    , B,,,, sub: Error-Handling$]. A   "Das Fra #####.### 0 r40 #####.### 0 r41 #####.### 0 r42 #####.### 0 r43 #####.### 0 r44 #####.###