Odyssee — Kampf der Bruderschaft
Eine abenteuerliche Reise durch das Land des bösen Zauberers Saruman.

Bei Odyssee handelt es sich um eine Kombination aus Abenteuer- und Rollenspiel.
Als Auserwählter einer Bruderschaft erhalten Sie den Auftrag, das Land vom Zauberer zu befreien. Sie begeben sich auf die Reise, den Zauberer zu suchen und zu vernichten; dabei werden Sie gefährliche Situationen zu meistern haben, Feinden, aber auch Freunden begegnen.
Vor 20 Jahren hat der mächtige Zauberer Saruman die Herrschaft über das Land Sosaria an sich gerissen. Ihre Bruderschaft ist jedoch nicht länger gewillt, seine Tyrannei noch länger zu erdulden und hat Ihnen den Auftrag gegeben, den Zauberer zu suchen und zu vernichten. Auf Ihrer Reise begegnen Sie vielen Feinden und einigen Ordensbrüdern, aber auch unter diesen gibt es Verräter. Ausgerüstet sind Sie mit 400 Einheiten Kraft, 350 goldenen Münzen und 50 Vorratseinheiten. Sie werden schnell feststellen, daß Sie noch sehr schwach sind, aber es gibt in Dörfern und Städten Kleider, Waffen und Vorräte zu kaufen. Geld bekommen Sie in zahlreichen Kämpfen.
Eingabe und Speicherung
Zuerst muß man den »Creater« eingeben und speichern. Nach dem Starten prüft das Programm, ob alle DATA-Zeilen richtig eingegeben worden sind. Ist dies nicht der Fall, so erscheint eine Fehlermeldung. Stimmen die DATAs, dauert es noch etwa 3,5 Minuten, bis das Programm »World« auf Diskette gespeichert ist. »World« beinhaltet einen neuen Zeichensatz, eine Maschinensprache-Routine zum waagerechten Scrollen des Bildschirms und zirka 16 KByte, die die Landschaft der Odyssee ausmachen.
Die Odyssee ist das Hauptprogramm. Nach Eintippen und Speichern startet man es mit RUN. Zuerst gilt es, sich einen Spieler zu erstellen. Hier kann man 100 Punkte auf Stärke (Strength), Widerstandskraft (Stamina), Intelligenz (Intelligence) und Wissen (Wisdom) verteilen. Die Eingabe der Punkte muß immer zwei Ziffern lang sein. Falls man einmal zuviel Punkte (100) eingegeben hat, werden alle Kriterien wieder auf Null gesetzt, und man beginnt von vorne. Nun entschließt man sich noch zu einem fantasievollen Namen und muß jetzt erst einmal Geduld aufbringen, da man noch ungefähr eine Minute zu warten hat. Diese Wartezeit braucht jedoch nur beim 1. Spiel in Kauf genommen zu werden. Nun erscheint das Titelbild mit dem Hinweis darauf, daß der 2.Teil geladen wird. Ist der Ladevorgang abgeschlossen, kann das Spiel begonnen werden.
Änderungen für Kassette:
- CREATER; Zeile 265 SYS(57812)»WORLD«,1
- ODYSSEE:Die Änderungen stehen im Listing von Zeile 9299—9320
Bewegung der Spielfigur
Die Spielfigur wird ausschließlich über die Tastatur gesteuert. Hier die Belegung der einzelnen Tasten:
@ = Die Spielfigur bewegt sich nach Norden
/ = Die Spielfigur geht nach Süden
; = Die Spielfigur läuft nach Westen
: = Die Spielfigur schreitet nach Osten
A = angreifen (ATTACK)
Im unteren Fenster erscheint ATTACK —. Nun muß man eine Richtungstaste drücken (siehe oben), um dem Computer zu zeigen, in welche Richtung der Befehl zielen soll. Das Programm gibt daraufhin an, ob getroffen worden ist. Dies hängt von der Stärke des Spielers und von seinen Waffen ab. Ist ein Feind besiegt, so erhält man eine Anzahl von Goldstücken und, wenn man Glück hat, einen Matrosenanzug (BLUE TASSLE).
T = verhandeln (TRANSACT)
Nach Eingabe der Richtung, in die verhandelt werden soll, erscheint die Antwort im Textfenster. Falls sich in der angegebenen Richtung niemand aufhält, erscheint die Meldung: »NO RESPONSE«
E = betreten (ENTER)
Mit diesem Befehl kann man in Dörfer und Städte gelangen.
B = Schiff betreten (BOARD SHIP)
Um auf ein Schiff zu gelangen, muß man diesen Befehl benutzen. Man braucht aber einen Matrosenanzug (BLUE TASSLE), damit man von der Besatzung an Bord gelassen wird. Ausnahme ist, wenn man das Schiff in einem Dorf kauft.
X = Das vorher betretene Schiff wird verlassen.
Z = Inventar
Hier wird der Name des Spielers, seine Waffen, seine Kleidung, seine Eigenschaften, seine Kraft und die Sachen (TOOLS), die er bei sich trägt, auf dem Bildschirm angezeigt. Drückt man eine Taste, so dauert es noch einen Moment, bis das Spiel fortgesetzt werden kann.
U =Tür aufschließen (UNLOCK DOOR)
Eine Tür kann geöffnet werden, wenn man den Schlüssel zu ihr besitzt.
G = Zeigt an, wieviel Goldstücke man besitzt.
H = Gibt an, wieviel Kraft (POWER) man noch hat.
F = Zeigt die verbleibenden FOOD-Einheiten.
M = MAGIC MISSILE auslösen
Ein weißes Quadrat läuft über den Bildschirm und tötet alle Feinde und Freunde. Fürjedes Lebewesen erhält man 5 Goldstücke. Man kann es nur einmal benutzen.
R = Neues Spiel (RESTART GAME)
Hiermit kann ein neues Spiel begonnen werden, falls man in einer aussichtslosen Lage ist. Der Computer fragt, ob man sich sicher ist, daß man ein neues Spiel starten möchte. Antwortet man mit »Y«, so kann man sich eine neue Spielfigur erstellen.
Dörfer und Städte
In den Dörfern und Städten des Landes erhält man viele Gegenstände, die zur Lösung der Aufgabe beitragen. In jeder Stadt kann man Waffen und Kleider kaufen. Um seine Vorräte aufzufüllen oder seine Spielsucht zu befriedigen, muß man sich schon in die Dörfer bequemen.
Kauf einer Waffe: Man betritt eine Stadt und geht in den WEAPONSHOP, indem man eine 1 drückt. Aus den vier angebotenen Waffen wählt man sich eine aus, indem man die Ziffer der Waffe drückt. Der Ladeninhaber sagt den Preis, und man kann sich entscheiden, ob man die Waffe kaufen oder lieber seinen Geldbeutel schonen möchte.
Der Kauf eines Kleidungsstücks vollzieht sich genauso, wie der Erwerb einer Waffe.
Kaufen von Nahrung: In einem Dorf betritt man mit 1 den FOODSHOP und erfährt den Preis für 100 FOOD-Einheiten. Der Preisschwanktzwischen 32 und 52 Goldstücken und ist bei jedem Versuch anders. Scheint der Preis annehmbar, so beantwortet man die Frage ob man kaufen möchte mit »Y«, und der Computer zeigt an, wieviel Einheiten FOOD man besitzt.
Hat man einmal nichtgenug Geld, um den geforderten Preis zu bezahlen, erscheint die Fehlermeldung »YOU HAVE NOT ENOUGH MONEY«.
Freunde und Feinde
Zu Ihrem Unglück gibt es viele Ihnen feindlich gesonnene Krieger, die im Dienste des Zauberers stehen, jedoch nur wenige Ordensbrüder, die Ihnen aber wertvolle Dinge geben können. Manche dieser Ordensbrüder stehen Ihnen aber auch mißtrauisch gegenüber, so daß Sie von Ihnen Geheimwörterwissen wollen oder Sie nach Ihrer Intelligenz (INTELLIGENCE) oder nach Ihrem Wissen (WISDOM) beurteilen.
Werden Sie in einen Kampf mit den Feinden verstrickt, so erscheint im Textfenster immer HIT und MISS. HIT bedeutet, daß der Gegner Sie getroffen hat; MISS, daß er verfehlt hat. Wie oft Sie getroffen werden, hängt von der Dauer des Kampfes, IhrerWiderstandsfähigkeit (STAMINA) und Ihrer Kleidung ab.
Sie haben das Spiel verloren, wenn Sie keine Nahrung (FOOD) oder keine Kraft (POWER) mehr haben. FOOD verlieren Sie, wenn Sie durch das Land gehen (pro Schritt 0,2 Einheiten). Kraft verlieren Sie in den Kämpfen, wenn Sie getroffen werden.
Hilfsmittel
Die Hilfsmittel braucht man, um die gestellte Aufgabe zu lösen. Man erhält sie in Kämpfen, Dörfern und Städten und von den Ordensbrüdern. Wenn man »Z« drückt, werden sie unter TOOLS aufgelistet.
BLUE TASSLE: Matrosenanzug
Hat man keinen Matrosenanzug, läßt einen die Besatzung eines Schiffes nicht an Bord. Es erscheint die Meldung »THE CREW DOES NOT ALLOW THIS«.
MAGIC MISSILE: magische Waffe
Mit ihr vernichtet man alle Feinde, leider aber auch alle Freunde, die auf dem Bildschirm zu sehen sind. Für jeden Freund oder Feind erhält man durch diese Tötungsaktion 5 Goldstücke. Man kann sie also dazu benutzen, sich Geld zu verschaffen odereine ÜbermaChtvon Feindenzuvernichten.
KEY: Schlüssel
Braucht man um Türen zu öffnen.
GOLDEN KEY: goldener Schlüssel
Erklärt sich im Spielverlauf
SWIM-WEST: Schwimmweste
Hat man die Schwimmweste, kann man 12 Felder weit schwimmen. Danach löst sie sich in Luft auf.
BOOTS: Schuhe
Trägt man Schuhe, so kann man 2 Felder über felsigen Grund laufen. Danach sind sie verschlissen.
MARK OF FIRE:
Mit MARK OF FIRE kann man durch LAVA gehen.
Verschiedenes
Wie Sie vielleicht bemerkt haben, habe ich drei Einzeiler aus der Ausgabe 11/84 des 64’er Magazins in mein Programm übernommen. Im »Creater« istes die SAVE-Routine für Maschinenspracheprogramme und in der »Odyssee« der Einzeiler zum Kopieren des Basic ins RAM. Der Einzeiler, der die »Odyssee« überhaupt erst ermöglicht hat, ist der zum Feststellen eines Bildschirmbereiches von Peter Eckart.
(Jan Geißelmann/rg)Erläuterung der Grafik
Ohne Hilfsmittel können Sie sich nur auf Gras fortbewegen. Bis auf Steinmauern können alle anderen Hindernisse überwunden werden. Energiemauern nehmen Ihnen 100 POWER-Einheiten ab.
Normales Zeichen | ||
---|---|---|
![]() |
Spielfigur | ! |
![]() |
Der Ordensbruder | " |
![]() |
Der Feind | # |
![]() |
Eine Stadt | $ |
![]() |
Wasser | % |
![]() |
Ein Schiff | & |
![]() |
Ein Dorf | / |
![]() |
Gras | ( |
![]() |
Fels | ) |
![]() |
Lava | + |
![]() |
Energiemauer | * |
![]() |
Zauber Saruman | ↑ |
![]() |
Der dunkle Turm | ← |
![]() |
Mauerstein | ] |
![]() |
Schloß eines Lords | ' |
![]() |
Tür |
Variablen | ||
K | Variable für Kleidung | |
W | Variable für Waffe | |
W$ | augenblickliche Waffe | |
AR$ | augenblickliches Kleidungsstück | |
G | Gold | |
H | Kraft | |
Y | Y-Koordinate Bildschirm | |
T | X-Koordinate Landschaft | |
V | Vergleichsvariable | |
I,X,Z | Laufvariablen | |
p | Bildschirmposition Spielfigur | |
s | Bildschirmposition bei Richtungsangabe | |
Y1 | Y-Koordinate bei Richtungsangabe | |
V1 | Zeichen unter Spielfigur | |
V2 | letztes Zeichen unter Spielfigur | |
G(4) | Kraft der Feinde | |
S%(64) | Sprungadressen der Befehle | |
V$(1,4) | Sachen in Dörfern und Städten | |
W$(2,4) | Waffen und Kleidungsstücke | |
W(2,4) | Preis für Waffen und Kleidungsstücke | |
Speicherbelegung | ||
048—12287 | Basic-Programm | |
12288—16383 | Zeichensatz | |
16384—16695 | Maschinensprache | |
16862—33001 | Landschaft |
10 - 25 | Variablen definieren |
33 — 90 | Bildschirmaufbau |
100 | reagieren auf Tastendruck |
110 — 170 | Angriff der Feinde |
180 | Spielfigur tot |
210 — 230 | Routine für Bewegung |
1000 — 1080 | Befehl ATTACK |
1200 — 1290 | Inventar |
1400 — 1499 | Befehl ENTER |
1700 - 1720 | Neues Spiel |
2100 | Anzeige von FOOD |
2200 — 2297 | Befehle TRANSACT |
2300 - 2360 | Befehl EXIT |
2600 | Anzeige von GOLD |
2800 - 2870 | Befehl BOARD SHIP |
2900 | Anzeige von POWER |
3000 — 3020 | Befehl UNLOCK DOOR |
3600 — 3650 | Befehl MAGIC MISSILE |
4500 — 4540 | Befehl WEST |
4600 — 4610 | Befehl NORTH |
5000 — 5020 | Befehl EAST |
5500 — 5510 | Befehl SOUTH |
9000 - 9197 | Spielfigur erstellen |
9200 — 9300 | Ladebild und Laden von Teil 2 |
15000— 15540 | in Stadt oder Dorf |
16000— 16050 | im Schloß eines Lords |
18000— 18040 | Spiel gewonnen |
60000- 60020 | DATAs |
1 rem *************** 2 rem * odyssee : * 3 rem * * 4 rem * mainprg. * 5 rem *************** 6 : 7 : 8 : 9 ifz=0then9000 10 dimt(4),v$(1,4),w$(1,4),w(2,4),s%(64):ti$="000000":w$="hand":v1=40 15 g=350:y=9:w=3:f=50:t=17061:h=300:forz=1to4:g(z)=5:next:poke12762,0 16 forz=1to27:readz$:next:forz=0to63 17 s%(z)=50:next:s%(64)=100:forz=1to16 18 readi:s%(i)=i*100:next:forz=1to100 21 i=int(rnd(0)*20):x=int(rnd(0)*440+20):ifpeek(17001+(20-i)+x*20)<>40then21 22 poke17001+(20-i)+x*20,35:next:fori=0to1:forz=1to4:readw$(i,z),w(i,z):next:next 23 v$(0,1)="foodshop":v$(0,2)="pub":v$(1,1)="weaponshop":v$(1,2)="armourshop" 24 v$(1,4)="exit the town":poke788,52 25 v$(0,3)="talk to people":v$(1,3)=v$(0,3):v$(0,4)="exit the village" 26 printchr$(147):poke53265,11 33 i=t:forz=1to40:poke16604,i-256*int(i/256):poke16605,int(i/256):i=i+20 34 sys16484:next:poke1043+y*40,33:ifb=5thenpoke1043+y*40,38:poke55296+y*40,14 35 poke 214,20 : sys58640 : print "{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}"; 40 poke53265,155:poke53272,29:goto 90 50 print"illegal command":goto90 60 print"not there":goto90 70 print"no way":goto90 80 print"pass" 90 print"cmd: "; 100 sys16674:p=1043+y*40:i=i+1:ifi<15thenz=peek(197):ta=z*100:goto s%(z) 110 i=0:ifpeek(p-1)=35then160 120 ifpeek(p+1)=35then160 130 ifpeek(p-40)=35then160 140 ifpeek(p+40)=35then160 150 goto100 160 i=int(rnd(0)*18):ifk+a(2)<ithenprint"hit":h=h-int(rnd(0)*5)-1:ifh<1then180 165 ifk+a(2)>i-1thenprint"missed" 170 print"cmd: ";:goto100 180 printn$" is dead":forz=1to10:poke198,0:next:wait198,1:run 210 i=v1:v1=peek(z) 211 ifb=0thenifpeek(z)=40thengoto x 212 ifb=5thenifpeek(z)=37thengoto x 213 ifpeek(z)=41and(spand2)=2then220 214 ifpeek(z)=37and(spand16)=16thensw=sw+1:goto2180 215 ifpeek(z)=37and(spand16)=16thengoto x 216 ifpeek(z)=42thenh=h-100:ifh<0then180 217 ifpeek(z)=42thengoto x 218 ifpeek(z)=43and(spand8)=8thengoto x 219 v1=i:goto70 220 bo=bo+1:ifbo=2thensp=sp-2 230 goto x 1000 print"attack --- ";:goto10000 1010 ifpeek(s)<>35thenprint"miss":goto90 1020 i=int(rnd(0)*20):ifw+a(1)>iorze=5thenprint"hit":ze=0:goto1040 1030 ze=ze+1:print"miss":goto90 1040 print"hit":g(z)=g(z)-1:ifg(z)<1theng(z)=int(rnd(0)*3)+3:goto1060 1050 forz=1to5:poke197,64:next:goto90 1060 i=int(rnd(0)*20):print" killed --- gold found :"i:g=g+i:pokes,40:u=40:p=35 1070 c=c+1:ifc=20thenprint"you get a blue tassle":sp=sp+1 1080 goto2110 1200 ifb=5thenprint"only on foot":goto90 1205 print"{clr}{rvon}"n$:print:print:print:print 1210 forz=1to5:printk$(z);b(z):next 1215 poke214,5:sys58640:printtab(29)"food :"int(f):printtab(29)"gold :"g 1217 printtab(29)"power:"h:print:print 1220 print:print:print"weapon : "w$ 1230 print:print"armour : "ar$ 1240 print:print"tools : "; 1250 i=1:x=0:forz=1to7:if(spandi)=ithenx=x+1:printsp$(z)";"; 1255 i=i*2:next 1260 ifx=0thenprint"no tool":goto1290 1270 print"{left} " 1290 poke198,0:wait198,1:goto26 1400 print"enter --- ";:goto10000 1410 ifpeek(s)=36thena$="a town.":a=1:goto1460 1420 ifpeek(s)=39thena$="a village.":a=0:goto1460 1430 ifpeek(s)=44then16000 1440 ifpeek(s)=31thent=26641:y=15:goto26 1450 goto60 1460 poke53272,21:print"{clr}you have entered "a$;:goto15000 1700 print"restart game --- are you sure ? "; 1710 poke198,0:wait198,1:getz$:ifz$="y"thenprintz$:run 1720 print"n":print"i knew it":goto90 2100 print"food: "int(f):goto90 2110 s=s-1024:i=int(s/40):z=t+(40-(s-i*40))*20-y1:pokez,u:goto90 2160 goto x 2180 ifsw=12thensp=sp-16 2190 goto x 2200 print"transact --- ";:goto10000 2210 print"ok":print"==> ";:ifpeek(s)=34then2215 2211 ifpeek(s)=35thenprint"nice day;today":goto90 2212 print"no response":goto90 2215 ify1=3anda(3)<16then20000 2220 ify1=12anda(5)<10then20010 2225 ify1=10andg<100thenprint"he wants to have 100 golden coins.":goto90 2227 ify1=10theng=g-100:print"he takes 100 coins":print"==> ";:goto2290 2230 ify1=2anda(5)<30then20010 2235 ify1=4anda(5)<20then20010 2240 ify1=13thenprint"he tells you a secret password.":a(5)=10:goto2295 2245 ify1=1thenprint"he gives you magical boots.":sp=spor2:goto2295 2250 ify1=9thenprint"he gives you a golden key":sp=spor32:goto2295 2255 ify1=19and(spand32)=32thenprint"he take the golden key.":sp=sp-32:goto2290 2257 ify1=19thenprint"he wants to have the golden key":goto90 2260 ify1=11thenprint"he gives you a key.":sp=spor6:goto2295 2265 ify1=0anda(4)<17thenprint"wisdom no high enough.":goto20005 2270 ify1=8anda(3)<22then20000 2275 ify1=6thenprint"he gives you a swim-west":sp=spor16:goto2295 2280 ify1=14thenprint"he stoles all your gold":g=0:goto2295 2285 ify1=5thenprint"he gives you a magic missile.":sp=spor4:goto2295 2290 print"you may pass" 2295 forz=1to16:pokes+54272,z:fori=1to50:next:next:u=40:p=34 2297 pokes+54272,13:pokes,40:goto2110 2300 print"exit ";:ifb=0thenprint"what ?":goto90 2305 print"ship --- ";:goto10000 2310 ifpeek(s)<>40then60 2320 y1=y:pokes,33:print"ok":ifs=p-40thens=p-40:y=y-1:goto2360 2330 ifs=p+1thens=p-1:t=t-20:poke16604,(t)and255:poke16605,int(t/256):sys16384:goto2360 2340 ifs=p+40theny=y+1:s=p-40:goto2360 2350 s=p+1:t=t+20:i=t+780:poke16604,iand255:poke16605,int(i/256):sys16484 2360 u=38:b=0:v1=40:goto2110 2600 print"gold: "g:goto90 2800 print"board ship --- ";:goto10000 2810 ifpeek(s)<>38then60 2820 if(spand1)<>1thenprint"no":print"==> the crew does not allow this":goto90 2830 print"ok":b=5:pokep,v1:poke54272+s,14:p=p+1:ifs=p-41theny=y-1:goto2870 2840 ifs=pthent=t-20:poke16604,(t)and255:poke16605,int(t/256):sys16384:goto2870 2850 ifs=p+39theny=y+1:goto2870 2860 t=t+20:i=t+780:poke16604,iand255:poke16605,int(i/256):sys16484:goto2870 2870 u=37:s=p-1:p=38:v1=37:goto2110 2900 print"power: "h:goto90 3000 print"unlock door --- ";:if(spand64)<>64thenprint"no key":goto90 3005 goto10000 3010 ifpeek(s)<>194then60 3020 print"ok":pokes,40:pokes-41,192:goto90 3600 if(spand4)<>4thenprint"no magic missile":goto90 3610 print"magic missile" 3620 forz=1024to1823:i=peek(z+54272):pokez+54272,1 3630 ifpeek(z)<>35andpeek(z)<>34then3640 3635 x=z-1024:n=int(x/40):poket+(40-(x-n*40))*20-n,40:g=g+5:pokez,40 3640 ifpeek(z)=30thengoto18000 3650 pokez+54272,i:next:sp=sp-4:goto90 4500 v2=v1 4505 z=1042+y*40:x=4510:goto210 4510 t=t+20:i=t+780:poke16604,iand255:poke16605,int(i/256):print"west" 4520 sys16484:pokep+1,v2:pokez+1,33+b 4530 f=f-.2:iff<0thenprint"no food --- ";:goto180 4540 goto90 4600 v2=v1:z=1043+y*40-40:x=4610:goto210 4610 print"north":pokez+40,v2:y=y-1:pokez,33+b:goto4530 5000 v2=v1 5005 z=1044+y*40:x=5010:goto210 5010 t=t-20:poke16604,(t)and255:poke16605,int(t/256):print"east":sys16384 5020 pokep-1,v2:pokez-1,33+b:goto4530 5500 v2=v1:z=1043+y*40+40:x=5510:goto210 5510 print"south":pokez-40,v2:y=y+1:poke1043+y*40,33+b:goto4530 9000 poke53280,0:poke53281,0:poke53272,21:printchr$(142),chr$(8):ar$="skin" 9010 poke95,0:poke96,160:poke90,0:poke91,192:poke88,0:poke89,192:sys41919 9020 gosub9500:k$(5)=k$(5)+"00" 9100 print"{clr}{wht}{down}{down}"tab(10)"creating a player":printtab(7)"=-=-=-=-=-=-=-=-=-=-=-=" 9110 print:print:print:forz=1to5:printtab(10);k$(z):a$(z)="":next:i=7:s=0 9115 forz=1to4:poke214,i:sys58640 9120 printtab(25);:poke198,0:wait198,1:getz$ 9130 ifz$=chr$(20)andlen(a$(z))thena$(z)=left$(a$(z),len(a$(z))-1):goto9165 9140 iflen(a$(z))=2thenprint:goto9170 9150 ifasc(z$)<48orasc(z$)>57then9120 9160 a$(z)=a$(z)+z$ 9165 printz$;:goto9120 9170 a(z)=val(a$(z)):s=s+a(z):ifs>100then9100 9175 i=peek(214):poke214,20:sys58640:print"points left : {left}{left}{left}{left}{left}"100-s:next 9180 input"{up}{up}{up}{up}{up}{up}your name ";n$ 9184 ifpeek(2)=0thenforz=57344to65535:pokez,peek(z):next:poke59639,20 9185 gosub9500:a(1)=int(a(1)/5):a(2)=int(a(2)/5):poke2,1:poke1,53 9190 i=43168:pokei,32:pokei+1,192:pokei+2,2:i=704:pokei,32:pokei+1,138 9195 pokei+2,173:pokei+3,76:pokei+4,247:pokei+5,183:printchr$(147) 9197 forz=1to4:b(z)=a(z):next 9200 printtab(12)"{down}{down}{down}{wht}<<< odyssee >>>" 9210 print"{down}"tab(9)"<<< please wait >>>" 9220 printtab(6)"{down}<<< while loading part2 >>>" 9230 printtab(3)"{down}<<< (c) by jan geiszelmann >>>" 9240 print"{down}<<<-------------* 1984 *------------>>>" 9250 printtab(4)"{down}{down}{down}*******************************" 9260 printtab(4)"* *" 9270 printtab(4)"*******************************":print"{up}{up}"tab(6); 9280 forz=1to27:readz$ 9290 forx=1to100:next:ifz$="x"thenprint" ";:next 9295 printz$;:next 9297 load"world",8,1 9299 rem fuer datasette : zeile 9297 loeschen und zeile 9300-9320 eingeben 9300 print:print:print:print"{blk}load"chr$(34)"world"chr$(34)",1,1{wht}{up}{up}";:poke631,13 9310 poke632,90:poke633,61:poke634,49:poke635,58:poke636,71:poke637,111 9320 poke638,49:poke639,13:poke198,10:end 9500 k$(1)="strenght.......":k$(2)="stamina........":k$(3)="intelligence..." 9510 k$(4)="wisdom.........":k$(5)="passwords......":sp$(1)="blue tassle" 9520 sp$(2)="boots":sp$(3)="magic missile":sp$(4)="mark of fire" 9530 sp$(5)="swim-west":sp$(6)="golden key":sp$(7)="key":return 10000 poke198,0:wait198,1:getz$ 10010 ifz$="@"thens=p-40:print"north -- ";:z=1:y1=y-1:gotota+10 10020 ifz$=":"thens=p-1:print"west --- ";:z=2:y1=y:gotota+10 10030 ifz$=";"thens=p+1:print"east --- ";:z=3:y1=y:gotota+10 10040 ifz$="/"thens=p+40:print"south -- ";:z=4:y1=y+1:gotota+10 10050 goto80 15000 poke214,3:sys58640:print:v=1 15010 ify1=9thenv$(a,3)="buy a boat":v$(a,2)="talk to people":v=2 15020 ify1=1thenv=3 15030 ify1=17thenv$(a,3)="buy the mark of fire":v=4 15100 i=1:forz=1to4:printi"{left}.) "v$(a,z):i=i+1:next:print"{down}{down}what do you want ? "; 15110 poke198,0:wait198,1:getz$:ifval(z$)<1orval(z$)>4then15110 15120 printz$:print:print:onval(z$)goto15125,15127,15128,15370 15125 x=0:ona+1goto15230,15130 15127 x=1:ona+1goto15276,15130 15128 onvgoto15200,15330,15276,15400 15130 forz=1to4:printz"{left}.) "w$(x,z):next:print"{down}{down}your interest ? "; 15150 poke198,0:wait198,1:getz$:printz$:ifval(z$)<1orval(z$)>4then1460 15160 z=val(z$):print"{down}the "w$(x,z)" cost you"w(x,z)"{left}. ok ? ";:u=15170:goto15530 15170 i=w(x,z):u=15180:goto15500 15180 g=g-i:print"{down}ok!":ifx=0thenw$=w$(0,z):w=3+z*2:goto15520 15190 ar$=w$(1,z):k=z*2+1:goto15520 15200 print"the people here do not know anything.":goto15520 15230 p=int(rnd(0)*20)+32:print"100 food units cost you"p"{left}. ok ? "; 15235 u=15240:goto15530 15240 i=p:u=15250:f=f+100:goto15500 15250 print"{down}now you have"int(f)"food units":g=g-p:goto15520 15276 ifv<>2andv<>3then15280 15277 print"they tell you a secret password.":b(5)=v*10:goto15520 15280 p=int(rnd(0)*75)-50:ifg=0thenprint"no money !":goto1460 15282 print"gambling ...":forz=1to1000:next:i=0:u=15285:goto15500 15285 ifp<0thenprint"i'm sorry but you have lost";:goto15310 15290 ifp>0thenprint"ohh. you have won";:goto15312 15300 goto15282 15310 ifsgn(p)*p>gthenp=-1*g 15312 printp*sgn(p)"!"::g=g+p:goto15520 15315 goto15520 15330 print"{down}the boat cost 100 coins ! ok ? ";:u=15340:goto15530 15340 i=100:u=15350:goto15500 15350 g=g-100:y=9:b=5:t=21101:ri=0:v1=37:forz=1to500:next 15370 poke53272,29:goto23 15400 print"the mark of fire cost 50 ! ok ? ";:u=15410:goto15530 15410 u=15420:i=50:goto15500 15420 sp=spor8:g=g-i:goto15520 15500 ifg<ithenprint"{down}you have not enough money !":forz=1to500:next:goto1460 15510 goto u 15520 forz=1to700:next:goto1460 15530 poke198,0:wait198,1:getz$:ifz$<>"y"thenprint"n":goto15520 15540 printz$:goto u 16000 print"{clr}you have entered the castle of a lord" 16010 print"{down}{down}for 50 coins you get 1000 units of power" 16020 print"do you want ? "; 16030 poke198,0:wait198,1:getz$:ifz$<>"y"thenprint"n":forz=1to200:next:goto26 16040 ifg<50thenprint"you have not enough money":goto26 16050 printz$:forz=1to200:next:g=g-50:h=h+1000:goto26 18000 forz=1to16:fori=1to16::poke53280,i:next:poke53281,z:next 18010 print"{clr}congratulations "n$ 18020 a$="{down}{down}{down}you have managed it to destroy the dark tower and to kill the" 18030 a$=a$+" wizard saruman.thepeople living in sosaria have made you to " 18035 a$=a$+"their new king for the next 20 years.{down}{down}{rvon} end of report {down}{down}" 18040 forz=1to183:printmid$(a$,z,1);:fori=1to150:next:next:end 20000 print"you are not intelligent enough" 20005 printtab(4)"so that you may pass.":goto90 20010 print"you do not know the secret password.":goto90 60000 dataa,x,f,a,n,t,a,s,y,x,r,o,l,e,x,p,l,a,y,i,n,g,x,g,a,m,e 60010 data10,12,14,17,22,23,28,30,36,45,46,50,55,26,21,29,dagger 60020 data 50,axe,80,bow,100,gun,150,cloth,50,leather,80,chain,100,shield,150
1 REM *************** 2 REM * ODYSSEE : * 3 REM * * 4 REM * MAINPRG. * 5 REM *************** 6 : 7 : 8 : 9 IF Z=0 THEN9000 10 DIM T(4),V$(1,4),W$(1,4),W(2,4),S%(64):TI$="000000":W$="HAND":V1=40 15 G=350:Y=9:W=3:F=50:T=17061:H=300:FOR Z=1 TO4:G(Z)=5:NEXT :POKE 12762,0 16 FOR Z=1 TO27:READ Z$:NEXT :FOR Z=0 TO63 17 S%(Z)=50:NEXT :S%(64)=100:FOR Z=1 TO16 18 READ I:S%(I)=I*100:NEXT :FOR Z=1 TO100 21 I=INT (RND (0)*20):X=INT (RND (0)*440+20):IF PEEK (17001+(20-I)+X*20)<>40 THEN21 22 POKE 17001+(20-I)+X*20,35:NEXT :FOR I=0 TO1:FOR Z=1 TO4:READ W$(I,Z),W(I,Z):NEXT :NEXT 23 V$(0,1)="FOODSHOP":V$(0,2)="PUB":V$(1,1)="WEAPONSHOP":V$(1,2)="ARMOURSHOP" 24 V$(1,4)="EXIT THE TOWN":POKE 788,52 25 V$(0,3)="TALK TO PEOPLE":V$(1,3)=V$(0,3):V$(0,4)="EXIT THE VILLAGE" 26 PRINTCHR$ (147):POKE 53265,11 33 I=T:FOR Z=1 TO40:POKE 16604,I-256*INT (I/256):POKE 16605,INT (I/256):I=I+20 34 SYS 16484:NEXT :POKE 1043+Y*40,33:IF B=5 THENPOKE 1043+Y*40,38:POKE 55296+Y*40,14 35 POKE 214,20 : SYS 58640 : PRINT "TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT"; 40 POKE 53265,155:POKE 53272,29:GOTO 90 50 PRINT"ILLEGAL COMMAND":GOTO 90 60 PRINT"NOT THERE":GOTO 90 70 PRINT"NO WAY":GOTO 90 80 PRINT"PASS" 90 PRINT"CMD: "; 100 SYS 16674:P=1043+Y*40:I=I+1:IF I<15 THENZ=PEEK (197):TA=Z*100:GOTO S%(Z) 110 I=0:IF PEEK (P-1)=35 THEN160 120 IF PEEK (P+1)=35 THEN160 130 IF PEEK (P-40)=35 THEN160 140 IF PEEK (P+40)=35 THEN160 150 GOTO 100 160 I=INT (RND (0)*18):IF K+A(2)<I THENPRINT"HIT":H=H-INT (RND (0)*5)-1:IF H<1 THEN180 165 IF K+A(2)>I-1 THENPRINT"MISSED" 170 PRINT"CMD: ";:GOTO 100 180 PRINTN$" IS DEAD":FOR Z=1 TO10:POKE 198,0:NEXT :WAIT 198,1:RUN 210 I=V1:V1=PEEK (Z) 211 IF B=0 THENIF PEEK (Z)=40 THENGOTO X 212 IF B=5 THENIF PEEK (Z)=37 THENGOTO X 213 IF PEEK (Z)=41AND (SPAND 2)=2 THEN220 214 IF PEEK (Z)=37AND (SPAND 16)=16 THENSW=SW+1:GOTO 2180 215 IF PEEK (Z)=37AND (SPAND 16)=16 THENGOTO X 216 IF PEEK (Z)=42 THENH=H-100:IF H<0 THEN180 217 IF PEEK (Z)=42 THENGOTO X 218 IF PEEK (Z)=43AND (SPAND 8)=8 THENGOTO X 219 V1=I:GOTO 70 220 BO=BO+1:IF BO=2 THENSP=SP-2 230 GOTO X 1000 PRINT"ATTACK --- ";:GOTO 10000 1010 IF PEEK (S)<>35 THENPRINT"MISS":GOTO 90 1020 I=INT (RND (0)*20):IF W+A(1)>IOR ZE=5 THENPRINT"HIT":ZE=0:GOTO 1040 1030 ZE=ZE+1:PRINT"MISS":GOTO 90 1040 PRINT"HIT":G(Z)=G(Z)-1:IF G(Z)<1 THENG(Z)=INT (RND (0)*3)+3:GOTO 1060 1050 FOR Z=1 TO5:POKE 197,64:NEXT :GOTO 90 1060 I=INT (RND (0)*20):PRINT" KILLED --- GOLD FOUND :"I:G=G+I:POKE S,40:U=40:P=35 1070 C=C+1:IF C=20 THENPRINT"YOU GET A BLUE TASSLE":SP=SP+1 1080 GOTO 2110 1200 IF B=5 THENPRINT"ONLY ON FOOT":GOTO 90 1205 PRINT"{CLR,RVSON}"N$:PRINT:PRINT:PRINT:PRINT 1210 FOR Z=1 TO5:PRINTK$(Z);B(Z):NEXT 1215 POKE 214,5:SYS 58640:PRINTTAB( 29)"FOOD :"INT (F):PRINTTAB( 29)"GOLD :"G 1217 PRINTTAB( 29)"POWER:"H:PRINT:PRINT 1220 PRINT:PRINT:PRINT"WEAPON : "W$ 1230 PRINT:PRINT"ARMOUR : "AR$ 1240 PRINT:PRINT"TOOLS{2SPACE}: "; 1250 I=1:X=0:FOR Z=1 TO7:IF (SPAND I)=I THENX=X+1:PRINTSP$(Z)";"; 1255 I=I*2:NEXT 1260 IF X=0 THENPRINT"NO TOOL":GOTO 1290 1270 PRINT"{LEFT,SPACE}" 1290 POKE 198,0:WAIT 198,1:GOTO 26 1400 PRINT"ENTER --- ";:GOTO 10000 1410 IF PEEK (S)=36 THENA$="A TOWN.":A=1:GOTO 1460 1420 IF PEEK (S)=39 THENA$="A VILLAGE.":A=0:GOTO 1460 1430 IF PEEK (S)=44 THEN16000 1440 IF PEEK (S)=31 THENT=26641:Y=15:GOTO 26 1450 GOTO 60 1460 POKE 53272,21:PRINT"{CLR}YOU HAVE ENTERED "A$;:GOTO 15000 1700 PRINT"RESTART GAME --- ARE YOU SURE ? "; 1710 POKE 198,0:WAIT 198,1:GET Z$:IF Z$="Y" THENPRINTZ$:RUN 1720 PRINT"N":PRINT"I KNEW IT":GOTO 90 2100 PRINT"FOOD: "INT (F):GOTO 90 2110 S=S-1024:I=INT (S/40):Z=T+(40-(S-I*40))*20-Y1:POKE Z,U:GOTO 90 2160 GOTO X 2180 IF SW=12 THENSP=SP-16 2190 GOTO X 2200 PRINT"TRANSACT --- ";:GOTO 10000 2210 PRINT"OK":PRINT"==> ";:IF PEEK (S)=34 THEN2215 2211 IF PEEK (S)=35 THENPRINT"NICE DAY;TODAY":GOTO 90 2212 PRINT"NO RESPONSE":GOTO 90 2215 IF Y1=3AND A(3)<16 THEN20000 2220 IF Y1=12AND A(5)<10 THEN20010 2225 IF Y1=10AND G<100 THENPRINT"HE WANTS TO HAVE 100 GOLDEN COINS.":GOTO 90 2227 IF Y1=10 THENG=G-100:PRINT"HE TAKES 100 COINS":PRINT"==> ";:GOTO 2290 2230 IF Y1=2AND A(5)<30 THEN20010 2235 IF Y1=4AND A(5)<20 THEN20010 2240 IF Y1=13 THENPRINT"HE TELLS YOU A SECRET PASSWORD.":A(5)=10:GOTO 2295 2245 IF Y1=1 THENPRINT"HE GIVES YOU MAGICAL BOOTS.":SP=SPOR 2:GOTO 2295 2250 IF Y1=9 THENPRINT"HE GIVES YOU A GOLDEN KEY":SP=SPOR 32:GOTO 2295 2255 IF Y1=19AND (SPAND 32)=32 THENPRINT"HE TAKE THE GOLDEN KEY.":SP=SP-32:GOTO 2290 2257 IF Y1=19 THENPRINT"HE WANTS TO HAVE THE GOLDEN KEY":GOTO 90 2260 IF Y1=11 THENPRINT"HE GIVES YOU A KEY.":SP=SPOR 6:GOTO 2295 2265 IF Y1=0AND A(4)<17 THENPRINT"WISDOM NO HIGH ENOUGH.":GOTO 20005 2270 IF Y1=8AND A(3)<22 THEN20000 2275 IF Y1=6 THENPRINT"HE GIVES YOU A SWIM-WEST":SP=SPOR 16:GOTO 2295 2280 IF Y1=14 THENPRINT"HE STOLES ALL YOUR GOLD":G=0:GOTO 2295 2285 IF Y1=5 THENPRINT"HE GIVES YOU A MAGIC MISSILE.":SP=SPOR 4:GOTO 2295 2290 PRINT"YOU MAY PASS" 2295 FOR Z=1 TO16:POKE S+54272,Z:FOR I=1 TO50:NEXT :NEXT :U=40:P=34 2297 POKE S+54272,13:POKE S,40:GOTO 2110 2300 PRINT"EXIT ";:IF B=0 THENPRINT"WHAT ?":GOTO 90 2305 PRINT"SHIP --- ";:GOTO 10000 2310 IF PEEK (S)<>40 THEN60 2320 Y1=Y:POKE S,33:PRINT"OK":IF S=P-40 THENS=P-40:Y=Y-1:GOTO 2360 2330 IF S=P+1 THENS=P-1:T=T-20:POKE 16604,(T)AND 255:POKE 16605,INT (T/256):SYS 16384:GOTO 2360 2340 IF S=P+40 THENY=Y+1:S=P-40:GOTO 2360 2350 S=P+1:T=T+20:I=T+780:POKE 16604,IAND 255:POKE 16605,INT (I/256):SYS 16484 2360 U=38:B=0:V1=40:GOTO 2110 2600 PRINT"GOLD: "G:GOTO 90 2800 PRINT"BOARD SHIP --- ";:GOTO 10000 2810 IF PEEK (S)<>38 THEN60 2820 IF (SPAND 1)<>1 THENPRINT"NO":PRINT"==> THE CREW DOES NOT ALLOW THIS":GOTO 90 2830 PRINT"OK":B=5:POKE P,V1:POKE 54272+S,14:P=P+1:IF S=P-41 THENY=Y-1:GOTO 2870 2840 IF S=P THENT=T-20:POKE 16604,(T)AND 255:POKE 16605,INT (T/256):SYS 16384:GOTO 2870 2850 IF S=P+39 THENY=Y+1:GOTO 2870 2860 T=T+20:I=T+780:POKE 16604,IAND 255:POKE 16605,INT (I/256):SYS 16484:GOTO 2870 2870 U=37:S=P-1:P=38:V1=37:GOTO 2110 2900 PRINT"POWER: "H:GOTO 90 3000 PRINT"UNLOCK DOOR --- ";:IF (SPAND 64)<>64 THENPRINT"NO KEY":GOTO 90 3005 GOTO 10000 3010 IF PEEK (S)<>194 THEN60 3020 PRINT"OK":POKE S,40:POKE S-41,192:GOTO 90 3600 IF (SPAND 4)<>4 THENPRINT"NO MAGIC MISSILE":GOTO 90 3610 PRINT"MAGIC MISSILE" 3620 FOR Z=1024 TO1823:I=PEEK (Z+54272):POKE Z+54272,1 3630 IF PEEK (Z)<>35AND PEEK (Z)<>34 THEN3640 3635 X=Z-1024:N=INT (X/40):POKE T+(40-(X-N*40))*20-N,40:G=G+5:POKE Z,40 3640 IF PEEK (Z)=30 THENGOTO 18000 3650 POKE Z+54272,I:NEXT :SP=SP-4:GOTO 90 4500 V2=V1 4505 Z=1042+Y*40:X=4510:GOTO 210 4510 T=T+20:I=T+780:POKE 16604,IAND 255:POKE 16605,INT (I/256):PRINT"WEST" 4520 SYS 16484:POKE P+1,V2:POKE Z+1,33+B 4530 F=F-.2:IF F<0 THENPRINT"NO FOOD --- ";:GOTO 180 4540 GOTO 90 4600 V2=V1:Z=1043+Y*40-40:X=4610:GOTO 210 4610 PRINT"NORTH":POKE Z+40,V2:Y=Y-1:POKE Z,33+B:GOTO 4530 5000 V2=V1 5005 Z=1044+Y*40:X=5010:GOTO 210 5010 T=T-20:POKE 16604,(T)AND 255:POKE 16605,INT (T/256):PRINT"EAST":SYS 16384 5020 POKE P-1,V2:POKE Z-1,33+B:GOTO 4530 5500 V2=V1:Z=1043+Y*40+40:X=5510:GOTO 210 5510 PRINT"SOUTH":POKE Z-40,V2:Y=Y+1:POKE 1043+Y*40,33+B:GOTO 4530 9000 POKE 53280,0:POKE 53281,0:POKE 53272,21:PRINTCHR$ (142),CHR$ (8):AR$="SKIN" 9010 POKE 95,0:POKE 96,160:POKE 90,0:POKE 91,192:POKE 88,0:POKE 89,192:SYS 41919 9020 GOSUB 9500:K$(5)=K$(5)+"00" 9100 PRINT"{CLR,WHITE,2DOWN}"TAB( 10)"CREATING A PLAYER":PRINTTAB( 7)"=-=-=-=-=-=-=-=-=-=-=-=" 9110 PRINT:PRINT:PRINT:FOR Z=1 TO5:PRINTTAB( 10);K$(Z):A$(Z)="":NEXT :I=7:S=0 9115 FOR Z=1 TO4:POKE 214,I:SYS 58640 9120 PRINTTAB( 25);:POKE 198,0:WAIT 198,1:GET Z$ 9130 IF Z$=CHR$ (20)AND LEN (A$(Z)) THENA$(Z)=LEFT$ (A$(Z),LEN (A$(Z))-1):GOTO 9165 9140 IF LEN (A$(Z))=2 THENPRINT:GOTO 9170 9150 IF ASC (Z$)<48OR ASC (Z$)>57 THEN9120 9160 A$(Z)=A$(Z)+Z$ 9165 PRINTZ$;:GOTO 9120 9170 A(Z)=VAL (A$(Z)):S=S+A(Z):IF S>100 THEN9100 9175 I=PEEK (214):POKE 214,20:SYS 58640:PRINT"POINTS LEFT :{6SPACE,5LEFT}"100-S:NEXT 9180 INPUT"{6UP}YOUR NAME ";N$ 9184 IF PEEK (2)=0 THENFOR Z=57344 TO65535:POKE Z,PEEK (Z):NEXT :POKE 59639,20 9185 GOSUB 9500:A(1)=INT (A(1)/5):A(2)=INT (A(2)/5):POKE 2,1:POKE 1,53 9190 I=43168:POKE I,32:POKE I+1,192:POKE I+2,2:I=704:POKE I,32:POKE I+1,138 9195 POKE I+2,173:POKE I+3,76:POKE I+4,247:POKE I+5,183:PRINTCHR$ (147) 9197 FOR Z=1 TO4:B(Z)=A(Z):NEXT 9200 PRINTTAB( 12)"{3DOWN,WHITE}<<< ODYSSEE >>>" 9210 PRINT"{DOWN}"TAB( 9)"<<<{2SPACE}PLEASE WAIT{SPACE,SPACE}>>>" 9220 PRINTTAB( 6)"{DOWN}<<< WHILE LOADING PART2 >>>" 9230 PRINTTAB( 3)"{DOWN}<<<{SPACE,SPACE}(C) BY JAN GEISZELMANN{3SPACE}>>>" 9240 PRINT"{DOWN}<<<-------------* 1984 *------------>>>" 9250 PRINTTAB( 4)"{3DOWN}*******************************" 9260 PRINTTAB( 4)"*{29SPACE}*" 9270 PRINTTAB( 4)"*******************************":PRINT"{2UP}"TAB( 6); 9280 FOR Z=1 TO27:READ Z$ 9290 FOR X=1 TO100:NEXT :IF Z$="X" THENPRINT" ";:NEXT 9295 PRINTZ$;:NEXT 9297 LOAD "WORLD",8,1 9299 REM FUER DATASETTE : ZEILE 9297 LOESCHEN UND ZEILE 9300-9320 EINGEBEN 9300 PRINT:PRINT:PRINT:PRINT"{BLACK}LOAD"CHR$ (34)"WORLD"CHR$ (34)",1,1{WHITE,2UP}";:POKE 631,13 9310 POKE 632,90:POKE 633,61:POKE 634,49:POKE 635,58:POKE 636,71:POKE 637,111 9320 POKE 638,49:POKE 639,13:POKE 198,10:END 9500 K$(1)="STRENGHT.......":K$(2)="STAMINA........":K$(3)="INTELLIGENCE..." 9510 K$(4)="WISDOM.........":K$(5)="PASSWORDS......":SP$(1)="BLUE TASSLE" 9520 SP$(2)="BOOTS":SP$(3)="MAGIC MISSILE":SP$(4)="MARK OF FIRE" 9530 SP$(5)="SWIM-WEST":SP$(6)="GOLDEN KEY":SP$(7)="KEY":RETURN 10000 POKE 198,0:WAIT 198,1:GET Z$ 10010 IF Z$="@" THENS=P-40:PRINT"NORTH -- ";:Z=1:Y1=Y-1:GOTO TA+10 10020 IF Z$=":" THENS=P-1:PRINT"WEST --- ";:Z=2:Y1=Y:GOTO TA+10 10030 IF Z$=";" THENS=P+1:PRINT"EAST --- ";:Z=3:Y1=Y:GOTO TA+10 10040 IF Z$="/" THENS=P+40:PRINT"SOUTH -- ";:Z=4:Y1=Y+1:GOTO TA+10 10050 GOTO 80 15000 POKE 214,3:SYS 58640:PRINT:V=1 15010 IF Y1=9 THENV$(A,3)="BUY A BOAT":V$(A,2)="TALK TO PEOPLE":V=2 15020 IF Y1=1 THENV=3 15030 IF Y1=17 THENV$(A,3)="BUY THE MARK OF FIRE":V=4 15100 I=1:FOR Z=1 TO4:PRINTI"{LEFT}.) "V$(A,Z):I=I+1:NEXT :PRINT"{DOWN,DOWN}WHAT DO YOU WANT ? "; 15110 POKE 198,0:WAIT 198,1:GET Z$:IF VAL (Z$)<1OR VAL (Z$)>4 THEN15110 15120 PRINTZ$:PRINT:PRINT:ON VAL (Z$)GOTO 15125,15127,15128,15370 15125 X=0:ON A+1GOTO 15230,15130 15127 X=1:ON A+1GOTO 15276,15130 15128 ON VGOTO 15200,15330,15276,15400 15130 FOR Z=1 TO4:PRINTZ"{LEFT}.) "W$(X,Z):NEXT :PRINT"{DOWN,DOWN}YOUR INTEREST ? "; 15150 POKE 198,0:WAIT 198,1:GET Z$:PRINTZ$:IF VAL (Z$)<1OR VAL (Z$)>4 THEN1460 15160 Z=VAL (Z$):PRINT"{DOWN}THE "W$(X,Z)" COST YOU"W(X,Z)"{LEFT}. OK ? ";:U=15170:GOTO 15530 15170 I=W(X,Z):U=15180:GOTO 15500 15180 G=G-I:PRINT"{DOWN}OK!":IF X=0 THENW$=W$(0,Z):W=3+Z*2:GOTO 15520 15190 AR$=W$(1,Z):K=Z*2+1:GOTO 15520 15200 PRINT"THE PEOPLE HERE DO NOT KNOW ANYTHING.":GOTO 15520 15230 P=INT (RND (0)*20)+32:PRINT"100 FOOD UNITS COST YOU"P"{LEFT}. OK ? "; 15235 U=15240:GOTO 15530 15240 I=P:U=15250:F=F+100:GOTO 15500 15250 PRINT"{DOWN}NOW YOU HAVE"INT (F)"FOOD UNITS":G=G-P:GOTO 15520 15276 IF V<>2AND V<>3 THEN15280 15277 PRINT"THEY TELL YOU A SECRET PASSWORD.":B(5)=V*10:GOTO 15520 15280 P=INT (RND (0)*75)-50:IF G=0 THENPRINT"NO MONEY !":GOTO 1460 15282 PRINT"GAMBLING ...":FOR Z=1 TO1000:NEXT :I=0:U=15285:GOTO 15500 15285 IF P<0 THENPRINT"I'M SORRY BUT YOU HAVE LOST";:GOTO 15310 15290 IF P>0 THENPRINT"OHH. YOU HAVE WON";:GOTO 15312 15300 GOTO 15282 15310 IF SGN (P)*P>G THENP=-1*G 15312 PRINTP*SGN (P)"!"::G=G+P:GOTO 15520 15315 GOTO 15520 15330 PRINT"{DOWN}THE BOAT COST 100 COINS ! OK ? ";:U=15340:GOTO 15530 15340 I=100:U=15350:GOTO 15500 15350 G=G-100:Y=9:B=5:T=21101:RI=0:V1=37:FOR Z=1 TO500:NEXT 15370 POKE 53272,29:GOTO 23 15400 PRINT"THE MARK OF FIRE COST 50 ! OK ? ";:U=15410:GOTO 15530 15410 U=15420:I=50:GOTO 15500 15420 SP=SPOR 8:G=G-I:GOTO 15520 15500 IF G<I THENPRINT"{DOWN}YOU HAVE NOT ENOUGH MONEY !":FOR Z=1 TO500:NEXT :GOTO 1460 15510 GOTO U 15520 FOR Z=1 TO700:NEXT :GOTO 1460 15530 POKE 198,0:WAIT 198,1:GET Z$:IF Z$<>"Y" THENPRINT"N":GOTO 15520 15540 PRINTZ$:GOTO U 16000 PRINT"{CLR}YOU HAVE ENTERED THE CASTLE OF A LORD" 16010 PRINT"{2DOWN}FOR 50 COINS YOU GET 1000 UNITS OF POWER" 16020 PRINT"DO YOU WANT ? "; 16030 POKE 198,0:WAIT 198,1:GET Z$:IF Z$<>"Y" THENPRINT"N":FOR Z=1 TO200:NEXT :GOTO 26 16040 IF G<50 THENPRINT"YOU HAVE NOT ENOUGH MONEY":GOTO 26 16050 PRINTZ$:FOR Z=1 TO200:NEXT :G=G-50:H=H+1000:GOTO 26 18000 FOR Z=1 TO16:FOR I=1 TO16::POKE 53280,I:NEXT :POKE 53281,Z:NEXT 18010 PRINT"{CLR}CONGRATULATIONS "N$ 18020 A$="{3DOWN}YOU HAVE MANAGED IT TO DESTROY THE DARK TOWER AND TO KILL THE" 18030 A$=A$+" WIZARD SARUMAN.THEPEOPLE LIVING IN SOSARIA HAVE MADE YOU{2SPACE}TO " 18035 A$=A$+"THEIR NEW KING FOR THE NEXT 20 YEARS.{2DOWN,RVSON,SPACE}END OF REPORT{SPACE,2DOWN}" 18040 FOR Z=1 TO183:PRINTMID$ (A$,Z,1);:FOR I=1 TO150:NEXT :NEXT :END 20000 PRINT"YOU ARE NOT INTELLIGENT ENOUGH" 20005 PRINTTAB( 4)"SO THAT YOU MAY PASS.":GOTO 90 20010 PRINT"YOU DO NOT KNOW THE SECRET PASSWORD.":GOTO 90 60000 DATA A,X,F,A,N,T,A,S,Y,X,R,O,L,E,X,P,L,A,Y,I,N,G,X,G,A,M,E 60010 DATA 10,12,14,17,22,23,28,30,36,45,46,50,55,26,21,29,DAGGER 60020 DATA 50,AXE,80,BOW,100,GUN,150,CLOTH,50,LEATHER,80,CHAIN,100,SHIELD,150
1 rem *************** 2 rem * odyssee : * 3 rem * * 4 rem *world-creater* 5 rem *************** 6 : 7 : 8 : 9 poke53280,0:poke53281,0 10 : 11 : 12 poke53280,0:poke53281,0:print"{clr}{wht}"tab(12)"<<< odyssee >>>{down}" 13 printtab(9)"<<< world-creater >>>" 14 printtab(6)"{down}<<< please wait 3.5 min >>>" 15 print"{down}{down}=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=" 16 poke214,20:sys58640:print"=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=" 17 poke214,9:sys58640:printtab(6)"verifying datas ..." 18 forz=1to255:readi:s=s+i:next:ifs<>25150thenb=1:goto25 19 s=0:forz=1to255:readi:s=s+i:next:ifs<>35192thenb=2:goto25 20 s=0:forz=1to255:readi:s=s+i:next:ifs<>24056thenb=3:goto25 21 s=0:forz=1to255:readi:s=s+i:next:ifs<>34311thenb=4:goto25 22 s=0:forz=1to255:readi:s=s+i:next:ifs<>29496thenb=5:goto25 23 s=0:forz=1to28:readi:s=s+i:next:ifs<>2922thenb=6:goto25 24 goto26 25 print"error in block"b:end 26 restore:printtab(6)"{down}defining new tokens ..." 27 forz=51200to51252:readx:pokez,x:s=s+x:next 28 s=0:sys51200:forz=12520to12647:readx:pokez,255-x:next:print 29 printtab(6)"creating the world ...{down}" 30 fori=16862to17420:pokei,37:next 31 fori=17421to26161:pokei,40:next 32 fori=26162to30008:pokei,37:next 33 fori=26645to28006:pokei,40:next 34 forz=30008to32014:pokez,40:next 35 forz=32015to33001:pokez,41:next 36 readz1,s1:ifz1=-1thenp=s1:goto36 37 ifz1=-2then43 38 ifz1=-3thenm=1:goto36 39 ifm=1thenpoke17001+(20-z1)+s1*20,p:goto36 40 readz2,s2:z1=z1-1:z2=z2-1:ifz1=z2then42 41 fori=17001+(20-z1)+s1*20to17001+(20-z2)+s2*20:pokei,p:next:goto36 42 fori=17001+(20-z1)+s1*20to17001+(20-z2)+s2*20step20:pokei,p:next:goto36 43 readz1,s1:ifz1=-2then47 44 p=17001+(20-z1)+s1*20:forz=ptop+120step20:pokez,41:next:p=p+39 45 forz=ptop+40step20:pokez,41:next:p=p+2:forz=ptop+40step20:pokez,41:next 46 goto43 47 readz1,s1:ifz1=-2then50 48 p=17001+(20-z1)+s1*20:forz=ptop+6:pokez,41:next:p=p-18:forz=ptop+2:pokez,41 49 next:p=p+40:forz=ptop+2:pokez,41:next:goto47 50 printtab(6)"reading assembler-data ...":forz=16384to16695:readi:pokez,i:next 51 printtab(6)"{down}saving ..." 52 sys(57812)"@:world",8 53 poke193,0:poke194,48:poke174,73:poke175,129:sys62957:end 54 rem ***** block 1 ***** 55 data120,165,1,72,41,251,133,1,169,208,133,3,169,48,133,5,160,0,132,2,132,4 56 data162,32,177,2,145,4,200,208,249,230,3,230,5,202,208,242,104,133,1,173,24 57 data208,41,241,9,12,141,24,208,88,96 58 data129,129,129,255,24,24,24,255,24,153,153,126,24,60,36,36,219,219,255,255 59 data231,195,195,195,255,255,255,255,255,255,255,255,184,185,162,252,144,184 60 data168,168,152,152,254,153,152,188,164,164,56,57,18,60,56,48,40,40,231,189 61 data231,66,66,231,189,231,0,48,75,132,0,48,75,132,32,60,62,62,62,153,255,62 62 data32,114,119,7,64,228,238,14,64,0,2,16,0,128,4,0,65,78,8,168,7,182,144,18 63 data255,0,255,0,255,0,255,0,198,99,120,0,108,6,48,3,195,195,255,255,255,231 64 data195,195,-1,37,16,21,11,21,15,22,12,22,15,23,13,23,15,24,13,24,16,25,13 65 data25,17,26,14,26,18,27,15,27,16,28,16,52,15,39,15,41,17,28,17,54,18,28,18 66 data38,18,42,18,58,17,58,17,61,18,61,18,63,19,63,19,65,5,21,2,21,20,457,13 67 data457,13,135,1,135 68 rem ***** block 2 ***** 69 data13,136,1,136,13,134,10,134,12,133,11,133,13,137,10,137,12,138,11 70 data138,3,223,1,223,6,224,1,224,20,225,1,225,16,226,4,226,14,227,7,227,20 71 data224,15,224,20,223,17,223,9,282,9,284,10,281,10,285,11,281,11,285,12,282 72 data12,284,1,311,1,313,9,312,2,312,9,313,2,313,9,314,2,314,20,311,16,311,20 73 data312,13,312,20,313,13,313,15,314,13,314,-1,242,10,311,10,315,12,311,12 74 data315,-1,42,20,423,1,423,20,424,1,424,15,439,3,439,15,455,3,455,3,440,3 75 data454,12,401,6,401,12,403,6,403,11,451,7,451,11,443,7,443,7,444,7,450,11 76 data444,11,450,-1,41,19,66,19,112,18,112,18,137,18,138,16,138,16,139 77 data16,147,18,148,16,148,4,229,1,229,4,227,4,228,6,399,1,399,6,405,1,405,8 78 data400,6,400,8,404,6,404,9,416,1,416,20,416,12,416,3,414,3,415,14,414,14 79 data415,18,411,8,411,10,408,10,410,14,39,5,39,3,39,1,39,7,41,2,41,7,42,7,43 80 data9,41,9,53,15,42,11,42,11,43,11,44,13,46,9,46,15 81 rem ***** block 3 ***** 82 data48,11,48,13,50,9,50,15 83 data52,11,52,12,53,11,53,2,43,2,54,3,49,3,50,5,43,5,52,4,52,4,60,2,60,2,66,7 84 data45,7,57,6,54,6,60,3,56,2,56,16,58,16,59,15,54,15,58,14,55,9,55,8,58,8,61 85 data9,58,9,61,13,59,11,59,14,60,11,60,12,62,4,62,14,61,14,66,10,63,10,64,13 86 data64,12,64,17,70,13,70,14,71,13,71,18,72,14,72,15,73,14,73,12,73,1,73,6,72 87 data3,72,2,68,1,68,17,62,17,66,18,64,18,66,17,68,10,68,15,65,15,67,3,65,3,66 88 data4,64,4,69,8,70,2,70,9,71,8,71,11,69,11,72,13,66,9,66,8,64,8,69,6,64,6,68 89 data15,57,8,57,12,370,8,370,12,366,8,366,12,367,12,369,8,367,8,369,-1,42,12 90 data487,12,516,13,487,13,516,15,440,15,454,-1,43,20,382,1,383,20,383,1,383 91 data8,384,1,384,4,381,1,381,-1,29,40,486,1,486,40,518,1,518,1,486,1,518,19 92 data486,19,518,5,500,5,508,6,500,6,508,11,501,7,501,2,486,2,518,20,486 93 rem ***** block 4 ***** 94 data20,518,10,500 95 data7,500,11,507,7,507,10,508,7,508,11,502,11,507,-1,37,3,509,3,516,4,509 96 data4,516,5,515,5,600,6,515,6,600,7,515,7,600,8,509,8,516,9,509,9,516,7,509 97 data5,509,9,510,5,510,-1,38,5,511,5,514,6,511,6,514,7,511,7,514,-3,0 98 data-1,41,0,54,3,43,3,47,14,61,15,63,2,60,7,53,-1,36,17,23,7,105,1,227,-1 99 data39,9,223,16,56,3,360,-1,31,8,447,-1,44,1,402,-1,41,7,283,12,283,6,64 100 data-1,34,3,39,12,73,2,43,4,64,6,65,19,66,11,67,14,71,10,311,8,402,13,56 101 data5,748,1,77,9,368,0,60,-1,30,7,504,-1,242,2,507,-1,194,3,507 102 data-2,0,4,102,10,102,2,160,7,160,12,160,17,160,4,200,17,200 103 data9,244,7,274,12,274,7,286,12,286,-2,0 104 data10,97,10,113,12,247,13,201,13,205,19,211,6,211,6,244,19,244,6,250,19 105 data250,12,241,12,253,6,283,19,283,-2,0 106 data169,4,141,37,64,141,40,64,162,1,142,36,64,142,42,64,202,142,39,64,142 107 data45,64,169,216,141,43,64,141 108 rem ***** block 5 ***** 109 data46,64,162,21,160,0,185,33,7,153,32,7,185 110 data33,219,153,32,219,200,192,39,208,239,202,208,5,169,0,76,200,64,173 111 data36,64,105,39,144,12,238,37,64,238,40,64,238,43,64,238,46,64,141,36 112 data64,141,42,64,141,39,64,141,45,64,206,45,64,206,39,64,76,33,64,169,3 113 data141,137,64,141,140,64,162,255,142,139,64,142,145,64,202,142,136,64 114 data142,142,64,169,215,141,143,64,141,146,64,162,21,160,40,185,30,7,153 115 data31,7,185,30,219,153,31,219,136,192,1,208,239,202,208,5,169,1,76,200 116 data64,173,136,64,105,39,144,12,238,137,64,238,140,64,238,143,64,238,146 117 data64,141,136,64,141,139,64,141,142,64,141,145,64,238,139,64,238,145,64 118 data76,133,64,240,5,169,0,76,209,64,169,39,141,223,64,169,4,141,224,64 119 data162,20,189,101,70,141,32,7,72,173,223,64,141,254,64,173,224,64,24,105 120 data212,141,255,64,104,201,37,208,5,169,14,76,253,64,169,13,141,248,218 121 data173,223,64,24,105,40,144,14,238,224,64,141,223,64,160,40,140 122 rem ***** block 6 ***** 123 data5,65,76 124 data30,65,141,223,64,160,40,140,5,65,202,208,186,96,160,0,162,8,189,40 125 data49,140,15,3,42,234,109,15,3,157,40,49,202,208,239,96 126 : 127 : 128 : 129 ******************************** 130 * o d y s s e e * 131 * * 132 * w r i t t e n b y * 133 * * 134 * j a n g e i s z e l m a n n * 135 * * 136 * 1 9 8 4 * 137 ******************************** 138 * josef-roemer strasse 17 * 139 * * 140 * 5060 bergisch gladbach 2 * 141 * * 142 * telefon : 02202 / 53256 * 143 ********************************
1 REM *************** 2 REM * ODYSSEE : * 3 REM * * 4 REM *WORLD-CREATER* 5 REM *************** 6 : 7 : 8 : 9 POKE 53280,0:POKE 53281,0 10 : 11 : 12 POKE 53280,0:POKE 53281,0:PRINT"{CLR,WHITE}"TAB( 12)"<<< ODYSSEE >>>{DOWN}" 13 PRINTTAB( 9)"<<< WORLD-CREATER >>>" 14 PRINTTAB( 6)"{DOWN}<<< PLEASE WAIT 3.5 MIN >>>" 15 PRINT"{2DOWN}=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=" 16 POKE 214,20:SYS 58640:PRINT"=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=" 17 POKE 214,9:SYS 58640:PRINTTAB( 6)"VERIFYING DATAS ..." 18 FOR Z=1 TO255:READ I:S=S+I:NEXT :IF S<>25150 THENB=1:GOTO 25 19 S=0:FOR Z=1 TO255:READ I:S=S+I:NEXT :IF S<>35192 THENB=2:GOTO 25 20 S=0:FOR Z=1 TO255:READ I:S=S+I:NEXT :IF S<>24056 THENB=3:GOTO 25 21 S=0:FOR Z=1 TO255:READ I:S=S+I:NEXT :IF S<>34311 THENB=4:GOTO 25 22 S=0:FOR Z=1 TO255:READ I:S=S+I:NEXT :IF S<>29496 THENB=5:GOTO 25 23 S=0:FOR Z=1 TO28:READ I:S=S+I:NEXT :IF S<>2922 THENB=6:GOTO 25 24 GOTO 26 25 PRINT"ERROR IN BLOCK"B:END 26 RESTORE :PRINTTAB( 6)"{DOWN}DEFINING NEW TOKENS ..." 27 FOR Z=51200 TO51252:READ X:POKE Z,X:S=S+X:NEXT 28 S=0:SYS 51200:FOR Z=12520 TO12647:READ X:POKE Z,255-X:NEXT :PRINT 29 PRINTTAB( 6)"CREATING THE WORLD ...{DOWN}" 30 FOR I=16862 TO17420:POKE I,37:NEXT 31 FOR I=17421 TO26161:POKE I,40:NEXT 32 FOR I=26162 TO30008:POKE I,37:NEXT 33 FOR I=26645 TO28006:POKE I,40:NEXT 34 FOR Z=30008 TO32014:POKE Z,40:NEXT 35 FOR Z=32015 TO33001:POKE Z,41:NEXT 36 READ Z1,S1:IF Z1=-1 THENP=S1:GOTO 36 37 IF Z1=-2 THEN43 38 IF Z1=-3 THENM=1:GOTO 36 39 IF M=1 THENPOKE 17001+(20-Z1)+S1*20,P:GOTO 36 40 READ Z2,S2:Z1=Z1-1:Z2=Z2-1:IF Z1=Z2 THEN42 41 FOR I=17001+(20-Z1)+S1*20 TO17001+(20-Z2)+S2*20:POKE I,P:NEXT :GOTO 36 42 FOR I=17001+(20-Z1)+S1*20 TO17001+(20-Z2)+S2*20STEP 20:POKE I,P:NEXT :GOTO 36 43 READ Z1,S1:IF Z1=-2 THEN47 44 P=17001+(20-Z1)+S1*20:FOR Z=P TOP+120STEP 20:POKE Z,41:NEXT :P=P+39 45 FOR Z=P TOP+40STEP 20:POKE Z,41:NEXT :P=P+2:FOR Z=P TOP+40STEP 20:POKE Z,41:NEXT 46 GOTO 43 47 READ Z1,S1:IF Z1=-2 THEN50 48 P=17001+(20-Z1)+S1*20:FOR Z=P TOP+6:POKE Z,41:NEXT :P=P-18:FOR Z=P TOP+2:POKE Z,41 49 NEXT :P=P+40:FOR Z=P TOP+2:POKE Z,41:NEXT :GOTO 47 50 PRINTTAB( 6)"READING ASSEMBLER-DATA ...":FOR Z=16384 TO16695:READ I:POKE Z,I:NEXT 51 PRINTTAB( 6)"{DOWN}SAVING ..." 52 SYS (57812)"@:WORLD",8 53 POKE 193,0:POKE 194,48:POKE 174,73:POKE 175,129:SYS 62957:END 54 REM ***** BLOCK 1 ***** 55 DATA 120,165,1,72,41,251,133,1,169,208,133,3,169,48,133,5,160,0,132,2,132,4 56 DATA 162,32,177,2,145,4,200,208,249,230,3,230,5,202,208,242,104,133,1,173,24 57 DATA 208,41,241,9,12,141,24,208,88,96 58 DATA 129,129,129,255,24,24,24,255,24,153,153,126,24,60,36,36,219,219,255,255 59 DATA 231,195,195,195,255,255,255,255,255,255,255,255,184,185,162,252,144,184 60 DATA 168,168,152,152,254,153,152,188,164,164,56,57,18,60,56,48,40,40,231,189 61 DATA 231,66,66,231,189,231,0,48,75,132,0,48,75,132,32,60,62,62,62,153,255,62 62 DATA 32,114,119,7,64,228,238,14,64,0,2,16,0,128,4,0,65,78,8,168,7,182,144,18 63 DATA 255,0,255,0,255,0,255,0,198,99,120,0,108,6,48,3,195,195,255,255,255,231 64 DATA 195,195,-1,37,16,21,11,21,15,22,12,22,15,23,13,23,15,24,13,24,16,25,13 65 DATA 25,17,26,14,26,18,27,15,27,16,28,16,52,15,39,15,41,17,28,17,54,18,28,18 66 DATA 38,18,42,18,58,17,58,17,61,18,61,18,63,19,63,19,65,5,21,2,21,20,457,13 67 DATA 457,13,135,1,135 68 REM ***** BLOCK 2 ***** 69 DATA 13,136,1,136,13,134,10,134,12,133,11,133,13,137,10,137,12,138,11 70 DATA 138,3,223,1,223,6,224,1,224,20,225,1,225,16,226,4,226,14,227,7,227,20 71 DATA 224,15,224,20,223,17,223,9,282,9,284,10,281,10,285,11,281,11,285,12,282 72 DATA 12,284,1,311,1,313,9,312,2,312,9,313,2,313,9,314,2,314,20,311,16,311,20 73 DATA 312,13,312,20,313,13,313,15,314,13,314,-1,242,10,311,10,315,12,311,12 74 DATA 315,-1,42,20,423,1,423,20,424,1,424,15,439,3,439,15,455,3,455,3,440,3 75 DATA 454,12,401,6,401,12,403,6,403,11,451,7,451,11,443,7,443,7,444,7,450,11 76 DATA 444,11,450,-1,41,19,66,19,112,18,112,18,137,18,138,16,138,16,139 77 DATA 16,147,18,148,16,148,4,229,1,229,4,227,4,228,6,399,1,399,6,405,1,405,8 78 DATA 400,6,400,8,404,6,404,9,416,1,416,20,416,12,416,3,414,3,415,14,414,14 79 DATA 415,18,411,8,411,10,408,10,410,14,39,5,39,3,39,1,39,7,41,2,41,7,42,7,43 80 DATA 9,41,9,53,15,42,11,42,11,43,11,44,13,46,9,46,15 81 REM ***** BLOCK 3 ***** 82 DATA 48,11,48,13,50,9,50,15 83 DATA 52,11,52,12,53,11,53,2,43,2,54,3,49,3,50,5,43,5,52,4,52,4,60,2,60,2,66,7 84 DATA 45,7,57,6,54,6,60,3,56,2,56,16,58,16,59,15,54,15,58,14,55,9,55,8,58,8,61 85 DATA 9,58,9,61,13,59,11,59,14,60,11,60,12,62,4,62,14,61,14,66,10,63,10,64,13 86 DATA 64,12,64,17,70,13,70,14,71,13,71,18,72,14,72,15,73,14,73,12,73,1,73,6,72 87 DATA 3,72,2,68,1,68,17,62,17,66,18,64,18,66,17,68,10,68,15,65,15,67,3,65,3,66 88 DATA 4,64,4,69,8,70,2,70,9,71,8,71,11,69,11,72,13,66,9,66,8,64,8,69,6,64,6,68 89 DATA 15,57,8,57,12,370,8,370,12,366,8,366,12,367,12,369,8,367,8,369,-1,42,12 90 DATA 487,12,516,13,487,13,516,15,440,15,454,-1,43,20,382,1,383,20,383,1,383 91 DATA 8,384,1,384,4,381,1,381,-1,29,40,486,1,486,40,518,1,518,1,486,1,518,19 92 DATA 486,19,518,5,500,5,508,6,500,6,508,11,501,7,501,2,486,2,518,20,486 93 REM ***** BLOCK 4 ***** 94 DATA 20,518,10,500 95 DATA 7,500,11,507,7,507,10,508,7,508,11,502,11,507,-1,37,3,509,3,516,4,509 96 DATA 4,516,5,515,5,600,6,515,6,600,7,515,7,600,8,509,8,516,9,509,9,516,7,509 97 DATA 5,509,9,510,5,510,-1,38,5,511,5,514,6,511,6,514,7,511,7,514,-3,0 98 DATA -1,41,0,54,3,43,3,47,14,61,15,63,2,60,7,53,-1,36,17,23,7,105,1,227,-1 99 DATA 39,9,223,16,56,3,360,-1,31,8,447,-1,44,1,402,-1,41,7,283,12,283,6,64 100 DATA -1,34,3,39,12,73,2,43,4,64,6,65,19,66,11,67,14,71,10,311,8,402,13,56 101 DATA 5,748,1,77,9,368,0,60,-1,30,7,504,-1,242,2,507,-1,194,3,507 102 DATA -2,0,4,102,10,102,2,160,7,160,12,160,17,160,4,200,17,200 103 DATA 9,244,7,274,12,274,7,286,12,286,-2,0 104 DATA 10,97,10,113,12,247,13,201,13,205,19,211,6,211,6,244,19,244,6,250,19 105 DATA 250,12,241,12,253,6,283,19,283,-2,0 106 DATA 169,4,141,37,64,141,40,64,162,1,142,36,64,142,42,64,202,142,39,64,142 107 DATA 45,64,169,216,141,43,64,141 108 REM ***** BLOCK 5 ***** 109 DATA 46,64,162,21,160,0,185,33,7,153,32,7,185 110 DATA 33,219,153,32,219,200,192,39,208,239,202,208,5,169,0,76,200,64,173 111 DATA 36,64,105,39,144,12,238,37,64,238,40,64,238,43,64,238,46,64,141,36 112 DATA 64,141,42,64,141,39,64,141,45,64,206,45,64,206,39,64,76,33,64,169,3 113 DATA 141,137,64,141,140,64,162,255,142,139,64,142,145,64,202,142,136,64 114 DATA 142,142,64,169,215,141,143,64,141,146,64,162,21,160,40,185,30,7,153 115 DATA 31,7,185,30,219,153,31,219,136,192,1,208,239,202,208,5,169,1,76,200 116 DATA 64,173,136,64,105,39,144,12,238,137,64,238,140,64,238,143,64,238,146 117 DATA 64,141,136,64,141,139,64,141,142,64,141,145,64,238,139,64,238,145,64 118 DATA 76,133,64,240,5,169,0,76,209,64,169,39,141,223,64,169,4,141,224,64 119 DATA 162,20,189,101,70,141,32,7,72,173,223,64,141,254,64,173,224,64,24,105 120 DATA 212,141,255,64,104,201,37,208,5,169,14,76,253,64,169,13,141,248,218 121 DATA 173,223,64,24,105,40,144,14,238,224,64,141,223,64,160,40,140 122 REM ***** BLOCK 6 ***** 123 DATA 5,65,76 124 DATA 30,65,141,223,64,160,40,140,5,65,202,208,186,96,160,0,162,8,189,40 125 DATA 49,140,15,3,42,234,109,15,3,157,40,49,202,208,239,96 126 : 127 : 128 : 129 ******************************** 130 * O D Y S S E E * 131 * * 132 * W R I T T E N B Y * 133 * * 134 * J A N G E I S Z E L M A N N * 135 * * 136 * 1 9 8 4 * 137 ******************************** 138 * JOSEF-ROEMER STRASSE 17 * 139 * * 140 * 5060 BERGISCH GLADBACH 2 * 141 * * 142 * TELEFON : 02202 / 53256 * 143 ********************************