Markt&ledinik
Alles für
800 XI und
1 130 XE;
nd
i Softwdre'lei
1 . \
PROGRAMM-SERVICE
ZASsTfSdiXSO
"Wie auch zu unserer Stammzeitsclirift Happy-Computer bieien wir wieder alle
in dip 'sm Sonderheft veröffentlichten Programme auf Diskette an. Da wir aber
nie’ Ile Programme auf einer Diskette unterbringen konnten, haben wir sie
Uj. ci Disketten im normalen DOS“2.0‘Format verteilt. Somit kann man also
MC .as alte 810‘Diskettenlaufwerk verwenden. Übrigens ist Diskette 1 beid-
sei' Diskette 2 einseitig bespielt. Da sich auf allen drei Diskettenseiten
Y ein DOS,Sl["S-Pile befindet, können Sie die Disketten booten. Dazu müs-
S'- nur die entsprechende Diskette ins Lauhverk schiebe n un d die Strom-
gung des Computers einschalten.
3ie irgendwelche Programme ausprobieren, sollten Sie sich Sicherheits-
n anfenigen. Am einfachsten und schnellsten geschieht dies mit der
..üction vom DOS-Menü aus.
,enn Sie die Diskette 1 (mit dem Aufkleber nach oben) booten, gelangen Sie
automatisch ins Turbo-Basic XL. Mit DIR erfolgt dann die Ausgabe des Inhalts¬
verzeichnisses auf dem Bildschirm. Sollten Sie noch den älteren Atari 300 ver¬
wenden, booten Sie bitte die zv/eite Seite von Diskette 1.
Im Atari^Sonderheft ftnden Sie Programme in normalem Atari-Basic, in Turbo-
Basic XL, ln Maschinensprache und in Assembler. Damit Sie die Programme
auf Diskette besser zuordnen können, haben wir für die oben genannten Krite¬
rien jeweils einen bestimmten Extender gewählt. Sie lauten im einzelnen:
XXXXXXXX. BfiS Atari-B asic. Um solche Programme laden zu können, müs¬
sen Sie sich entvreder in Atari-Basic oder in Turbo-Basic XL befinden. Achtung!
Manche Basic-Programme können unter Turbo-Basic XL zu schnell ablaufen.
XXXXXXXX.TUR Turbo-Basic XL. Solche Programme müssen unbedingt
unter Turbo-Basic XL laufen. Da dieses Basic über einen erweiterten Befehls¬
satz verfügt, ist es nicht kompatibel zum Atari-Basic. Sollten Sie dennoch ein soL
ches Programm mit dem Standard-Atan-Basic laufen lassen, erhalten Sie ent¬
sprechende Fehlermeldungen.
XXXXXXXX. M6S MAC/65-Quelltexte. Solche Dateien müssen unbedingt
mit dem MAC/6S-Assembler assembhert werden. Mil Basic lassen sie sich
nicht verarbeiten.
XXXXXXXXjCOM Objekt-Code. Hierbei handelt es sich um Programme,
die man .sonst mit AMPEL (Ataii-Mnschinen-Pro^amm-Eingabe-Lisiing) ein¬
geben muß. Um solche Programme zu starten, v^rählen Sie im DOS-Menü die
Funktion »L« und geben dann den entsprechenden Fhogrammnamen ein.
Anschließend wird das Programm geladen und automatisch gestanet. Wenn
Sie sich in Turbo-BFisic XL befinden, lassen sich solche Programme auch mit
»BRUN "D:XXXXXXXX.COM« auf rufen und anschließend starten.
XXXXXXXX.SYS System-Dateien (DOS 2.5). Auf der Rückseite von Diskette
1 befindet sich außerdem noch ein DOS.SYS'FiIe mit 145 Sektoren Länge Hier¬
bei handelt es sich um die abgespeckte Turbo-Basic XL-Version für den Atari
400 oder 800 mit mindestens 48 KByte-RAM. Wenn Sie diese Diskette booten,
gelangen Sie automatisch ms Turbo-Basic.
Damit wären also die einzelnen Programmtypen erklärt. Sollten Sie Probleme
mit den Programmen auf den LeserservicG-Disketten haben, empfiehlt es sich,
die entsprechenden Erläuterungen im Sonderheft genau und aufmerksam
durchzulesen. So kann manch ein Problem gelöst vrerden.
Bestell.-Wr. l.HÖ6S2I]^ DM 34,90* * (2 Disketten)
*inkl. MwSi:. Uciverbindliclit? Preis^?rnprQh3uDg.
AT AR I 8DOXL/130XE/800
Tajbo-Basic
Der schnelle Basic-Interpreter für den
Atari. Auf der Diskette befindet sich je
eine Version für den Atari 800XL und
eine für den Atari 800 mit mindestens 48
KByte-RAM. Aus Ausgabe 13/85.
JRMPEL
Atari-Maschinen-Programm-Einga be-
Listing. Aus Ausgabe 13/85.
Ätari-Prüf^ummer
Emgabehilfe für alle in Happy-
Computer veröffentlichten Basic-Pro-
gramme.
Jiunpez II
Listing des Monats aus Ausgabe 8/34,
um die Geschvjindigkeit von Turbo-
Basic zu demonstrieren.
Mapc-Painter
Listing des Monats aus Ausgabe 3/86.
Ein Zeichenprogramm, das an Turbo-
Basic angepaßt wurde.
Alle 5 Programme auf einer Diskette
für den ATARI 800XL/130XE/800.
Bestell-Nr. LH 8S12B, DM 29,90*
ATARI 800XL
Pl-äfsiimmer
Eingabehilfe für alle in Happy-
Computer veröffentlichten Basde-Pro-
grammer
Gt üheiiaer
M: creen-Editor und 20 fertigen Sze-
uej Spiel), aus Ausgabe 5/85,
24 in Graükstiife 0
Ec e für farbige Schrift (Utility), aus
Ai be 6/85.
DL dp
Für die schnelle Rettung (Utility), aus
Ausgabe 8/85.
Ölsac:he
Mit dem Atari auf Ölsuche (Spiel), aus
Ausgabe 8/85.
Äutostart
Basic-Programme automatisch starten
(Utility), aus Ausgabe 9/85.
Hudu 4.0
Mehr Speicher mit der 1050 Floppy
CUtihty), aus Ausgabe 10/35.
Alle 7 Programme auf einer Diskette
für den Atari 300 XL.
Bestell-Njr. LH 3S10 B. DM 29,90*
ATARI 48 KByte-RAM
Magic Paintei'
Unser Listing des Monats in der Aus¬
gabe 3/85 ist ein Grafikprogramm, das
sich mit anderen Malprogrammen die¬
ser Art durchaus messen kann. Beson¬
ders gelungen ist die einfache Bedie¬
nung, da man mit dem Joystick sov/ohl
im Haupt- als auch in den Untermenüs
sämtliche Punkte anwählen kann. Der
elektronische Malkasten verfügt über
16 Menüpunkte und bietet eine Grafik-
auflösung von 160x98 Pixels.
Gmfikdemo
Alle 356 Farben werden auf dem Bild¬
schirm dargestellt, Eine Farbspielerei,
die die hervorragenden Grafikfähig¬
keiten der Atari-Computer beweist
(Eainbow-Effekt). Aua Ai^gabe 3/85.
Vajdablen-Dmap
Mit diesem Programm können Sie die
verv/endeten Variablen eines anderen
Programms auf dem Bildschirm listen.
Ein wichtiges Uiiüty, das Ihnen dis
lästige Fehlersuche in längeren Basic-
Programmen erleichtert. Aus Ausgabe
2/85.
Wie die Bilder laufen lernen
Mit dem Utility (‘Power-MoverHü können
Sie laufende Bilder schnell und pro¬
blemlos erzeugen. Für alle, die sich an
die Programmierung von Player-
Missile-Grafiken heranw^agen. Aus
Ausgabe 3/85.
Statusseüe mil Uhr
Damit Sie beim Programmieren nicht
die Zeit vergessen, hilft nur eine stän¬
dig sichtbare Zeitanzeige. Mit diesem
Programm können Sie eine zusätzliche
Statuszeile oberhalb des Eüdschirms
generieren. Aus Ausgabe 1/85,
Alle 5 Programme auf Diskette für Atari
mit mindestens 43 KEyte-RAM.
BesteU-Nr. LH 8503 B* DM 23 , 90 *
ATARI 48 KByte-RAM
Diamantenfleber
Unser Listing des Monats aus der Aus¬
gabe 3/85 ist eine wahre Schatztruhe.
Bereicheru Sie sich an bunt glitzernden
Diamanten, die kunterbunt in einem
Bergv^erk verteilt sind. Aber Vorsicht!
Die Stollen sind sehr unstabil. Eine fal¬
sche Bevregung genügt, und Sie v,^r-
den von losen Gesteinsbrocken
erschlagen. Ein Spiele-Designer sorgt
bei unserer exzellenten »Bouldcr
Dashrt-Variante für anhaltende Span¬
nung. EnmerfenSie Ihre eigenen Eerg-
werkstollen, aber mit Bedacht, denn
nicht selten ergibt sich bei einem Bild
nur ein Lösungsweg.
Die Schatzhöhle
Wer möchte sich nicht auch mit einem
Schatz bereichern. Wer dazu nicht
unbedingt eine Weltreise unterneh¬
men möchte, kann mit seinem Atari
800XL in eine Schat2höhle eindringen.
Gefährhche Tiere wie Skorpione, Rat¬
ten und Schlangen erschweren die
Suche. Nur mit viel Geschick können
Sie Ihren Geldbeutel - aber nur im
Spiel - auffüllen. Aus Ausgabe 1/35.
Zeilen^auber
Die wichtigste RENUMBER-Funktion
fehlt leider im Standard-Atari-Basic.
DiGses Programm behebt diesen Man¬
gel. Es ist leicht zu bedienen. Einfach
das Basic-Programm von der Diskette
laden, »RUN« eingeben, und das ent¬
sprechende Objekt-File wird auf Dis¬
kette geschrieben. Dann nur noch vom
DOS-Menü aus mit der Funktion »L« das
Objekt-File laden und mit »B« zurück ins
Basic gehen. Wenn Sie ein Basic-
Programm umnumerieren möchten,
geben Sie einfach »PRINT USR (8044)«
ein, und Ihr Programm vrird wunschge¬
mäß umnumeriert. Aus Ausgabe 11/84.
Jumper n
Ein professionell gemachtes, in Basic
geschriebenes Spiel. Exzellente Pro¬
grammierung, ein Kighscore-Zähler
und eingebautes Demo w^erden selbst
Zvjeifler schnell überzeugen. Auf musi¬
kalische Untermalung wurde großer
Wert gelegt, und die verschiedenen
Screens sind brillant gemacht. Genau
das richtige Programm für kalte Win¬
terabende. Listing des Monats. Aus
Ausgabe 8/84.
Mop - Der Goldgräber
Schnelligkeit und guter Sound zeich-
uen dieses Spiel aus. Die Soundfähig¬
keiten sind wirklich hervorragend.
Viele Bilder sorgen bei diesem Pro¬
gramm für viel Abv.rechslung. Ausgabe
7/84.
ADe 5 Programme auf Diskette für Atari
mit mindestens 48 KByte-RAM.
Eestell-Nr. LH B502 DM 29,90*
Bestellungen aus der Schweiz richten Sie bitte direkt an: MarktTechnik Vertriebs AG, KoUerstr. 3, CH-6300 Zug, Tel 042/415656.
Bestellungen aus anderen Ländern bitte per Auslandspostanweisung! Achtung; Nicht die eingehehete Zahlkarte vervM'enden!
Bestellungen aus Österreich richten Sie bitte direkt an: Uaberreuter Media Handels- und Verlagsges. mbH, Alser Str. 24, 1091 Wien, Tel.
0223/481538-0
* Alle Preise inklusive Mehmertsteuer, unveTbindliche Preisempfehlung. Leser-Servioe-Produkfe sind nur für Eodkundcu, mehr für Wiederverkäufer.
4 1s Atari-Besitzer kommt man
sich manchmal wie auf einer
einsamen Südsee-Insel vor.
Sucht man Informationen oder Listings
für seinen 800XL oder 130XE in deut¬
schen Computerzeitschriften, sitzt man
leider allzuoft auf dem Trockenen. Die¬
sem Notstand wollen wir mit diesem
Sonderheft abhelfen. Hier finden Sie
eine Fülle von Listings und Informatio¬
nen, die Sie hoffentlich für die lange
Durststrecke entschädigen. Der Atari
800XL/130XE zählt schließlich nach
wie vor zu den leistungsfähigsten der¬
zeit erhältlichen Heimcomputem. Bis
zu 256 gleichzeitig darstellbare Farb¬
schattierungen und die Player Missile-
Grafik, mit der sich einige Effekte viel
besser umsetzen lassen als mit Sprites,
sind nicht zu übersehen. Berücksichtigt
man dann den sehr günstigen Anschaf¬
fungspreis des Atari 800X17130XE, ist
dessen Preis/Leistungsverhältnis wirk¬
lich von kaum einem Heimcomputer zu
schlagen. Auch die Peripherie, also
Disketten-Laufwerke und Drucker, ist in
letzter Zeit preiswert geworden.
Da wären aber noch die neuen 16-Bit-
Computer. Man weiß, daß der Atari
800XL und der 130XE mit einer 8-Bit-
CPU vom Typ 6502 ausgestattet ist.
Damit scheint klar zu Sein, daß ein
16-Bit-Prozessor viel leistungsfähiger
sein muß als das 8-Bit-Gegenstück.
Zählt also der 800XL im Vergleich zum
ST zum alten Eisen? Sicher kann der
800XL nicht mit der Grafikaufiösung
oder der Geschwindigkeit des ST kon¬
kurrieren. Aber einen ganz großen
Pluspunkt gibt es für den 800XL näm¬
lich Software für jeden Zweck. Als Spie¬
lecomputer zum Beispiel, ist der ST zur
Zeit noch keine Alternative. Natürlich
wird es ln Zukunft viel Software für die¬
sen Computer geben, aber wer sofort
loslegen möchte und vorzugsweise auf
fertige Programme Wert legt, ist mit
dem 800XL besser bedient.
Als wirklich hervorragendes Beispiel
für ausgezeichnete Software mag
unser Turbo-Basic-lnterpreter mit zuge¬
hörigem Compiler dienen. Beide Pro¬
gramme finden Sie in diesem Sonder¬
heft - natürlich zum Abtippen. Sie brau¬
chen also nur ein wenig Zeit zu investie¬
ren und haben anschließend einen
Interpreter und einen Compiler, die es
in sich haben. Geschwindigkeitsver¬
gleiche haben nämlich ergeben, daß
Turbo- Basic XL seinem Namen alle Ehre
macht; dieser Interpreter zählt zu den
schnellsten, die es für den Atari gibt.
Der dazu passende Compiler compiliert
sogar in normalem Basic geschriebene
Programme. Diese Programme sind
dann wirklich die absoluten »Renner«,
Und damit Sie Ihr Turbo-Basic XL auch
gleich ausprobieren können, haben wir
einige Programme in dieser Program¬
miersprache veröffentlicht.
Warum sollte man also neidisch wer¬
den, wenn in den meisten Zeitschriften
mehr über andere Computer berichtet
wird. Schließlich wird man einige Zeit
brauchen, bis man alle in diesem Son¬
derheft veröffentlichten Programme
ausprobiert hat. Oder bauen Sie sich
doch die eine oder andere Hardwareba¬
stelei nach. Sei es eine Zehnertastatur
oder ein Cartridge-Experimentier-Sy-
stem, das Angebot ist reichhaltig und
sorgt sicher für einige unterhaltsame
Stunden.
Ebenfalls in diesem Sonderheft fin¬
den Sie eine Umfrage, bei der es eine
Menge schöner Preise als Belohnung
fürs Mitmachen zu gewinnen gibt. Wir
möchten nämlich gerne Ihre Meinung
zu diesem Sonderheft wissen. Schlie߬
lich brauchen wir Ihre Anregungen und
Vorschläge, um weitere Sonderhefte
und natürlich vor allem unsere Stamm¬
zeitschrift Happy-Computer für Sie so
interessant wie möglich zu gestalten.
Unter allen Einsendungen verlosen wir
unter anderem zwei Atari 1050 Disket¬
ten-Laufwerke und einen Atari 1029
Nadel-Matrixdrucker. Also nicht lange
zögern! Fragebogen ausfüllen, in ein
Kuvert stecken und ab die Post an die
Redaktion. Die Gewinner werden dann
in einer der nächsten /Visgaben von
Happy-Computer bekanntgegeben.
Werner Breuer
Atari
m
im
Aufwind
3
INHALT
Spiele, die es in sich haben 10
Das Atari IQSO-Diskettenlaufwerk wird zur Rennfloppy 7
Kdxettens&yke
Wer keine Zeit oder keine Lust hat, alle
Programme selbst in mühevoller Klein¬
arbeit abzutippen, kann wieder auf den
bewährten Diskettenservice zurück¬
greifen. Es sind hier sämtliche Programme
des Sonderhefts auf zwei Disketten
erhältlich.
Beslelfinummer IH 86 $2D 29,90 DM
(2 Disketten)
Hoidwate-TesH
Auf die Verbindung kommt es an (Schnittstellen)
6
Rasende Daten
(»Floppy-Speeder« für das Atari 1050-Laufwerk)
7
Die Raupe wird zum Schmetterling
(Speichererweiterung für den 800XL)
8
Bastekien
Cartridge-Experimente leichtgemacht
(Experimentiersystem)
12
PIA - die dritte Schnittstelle
{Zusatztastatur am Joystickport)
17
Roboter im Griff
(Robotersteuerung)
21
Das sdineUsk Bask
Der große Turbo-Basic-Teil
24
So funktioniert der Turbo-Basic-Compiler
(Grundlagen)
25
Der Unterschied liegt im Detail
(Kompatibilität zwischen Atari-Basic und
Turbo-Baslc XL)
30
Auf die Taste, fertig, los!
(Geschwindigkeitsvergleich)
32
Zum AUippen:
Inlerpieler
34
Compiler
48
Von der Ordnung zum Chaos-Apfelmännchen
auf dem Atari
61
Grafikspielereien in Turbo-Basic XL
67
Mehr Tempo für Player Missiles
69
Daten komprimiert gespeichert
70
Anwemlangs^Usiittg
Ordnung muß sein (Disksorter)
71
Spiek^Usiings
Submission - ein Weg voller Gefahren
(Labyrinth-Spiel)
75
Vorsicht Falle (Aktion-Spiel)
81
Pacman mal 2
(Pacman-Variante für zwei Personen)
84
4
SONDERHEFT 2l86n
Bittgabehilfen
AMPEL-Version 1.1
87
Prüfsummer paßt auf
90
Tips&Triiks
Farbe auf die Fläche
{Fillroutine)
93
Mit »Happy-Mon« auf der Suche
(Monitor)
96
Windows; Nicht nur ein Augenschmaus
(Windowroutine)
103
Basic-Schalter
(Basic ein- oder ausschalten)
110
Blitzschnelle Zeichenumwandlung
(Zeichensatzumwandlung)
110
Bildschirmausschnitt schnell gelöscht
{Löschroutine)
112
Daten schnell zur Hand
(Schnelladeroutine)
113
Wortumbruch perfekt
(Ausgaberoutine)
114
PEEKs und POKEs mit List und Tücke
(Wichtige Speicheradressen)
118
Gntttdiagen
Compiler
25
Einsprungadressen
115
Musik
121
Softwate4esis
Spielmaschine Atari
10
Programmiersprache; Aktion mit Action
131
Das Textverarbeitungs-Sextett
133
150 Befehle mit Basic XE
138
DOS-Parade
139
MAC/65; ein Assembler sprintet los!
142
»SynFile+<f Dateiverwaltung total
144
Rubriken
Einleitung
3
Wettbewerb
106
Bücher
108
Bunt und doch tinmer anders: Apfelmännchen 61
Mit 200 um die Ecke düsen, aber »Vbrsicht Falle!« 81
Cartridges selbst unter die Lupe nehmen 12
5
Auf die Verbindung
kommt es an
Schnittstellen stellen die Verbin¬
dung zwischen Computer und
Außenwelt dar. Wir haben zwei
Interfaces unter die Lupe ge¬
nommen.
W f ill man seine Programme
nicht nur auf dem Bildschirm
bewundern, so benötigt man
einen Drucker und daneben auch eine
passende Schnittstelle Beim Atari kann
man dieses Problem auf zwei Arten
lösen. Besitzt man einen Original*Atari-
Drucker, wie zum Beispiel den Atari
1029, so ist keine separate Schnitt¬
stelle nötig. Diese Drucker sind nämlich
dafür ausgelegt, ihre Daten über den
seriellen Bus des Atari zu empfangen.
Der Nachteil dabei ist, daß solche
Drucker wirklich nur für den Atari ver¬
wendungsfähig sind. Bei einem
Systemwechsel muß man sich dann
zwangsläufig einen neuen Drucker
anschaffen.
Die Alternative hierzu ist ein beliebi¬
ger Drucker mit Centronics-Schnitt-
stelle. Diese Schnittstelle entspricht
einer bestimmten Norm und hat die
Eigenschaft, Daten parallel zu verarbei¬
ten. Die Datenübertragung des Atari
jedoch erfolgt seriell. Daher muß eine
Schnittstelle die Wandlung des Daten¬
formats vornehmen. Bis vor etwa zwei
Jahren gab es deshalb bei Atari auch
das Interface 850 zu kaufen. Neben
einer Centronics-Schnittstelle waren
hier auch vier serielle Schnittstellen
vom Typ RS232 eingebaut. Daran las¬
sen sich vor allem Akustikkoppler und
auch einige Drucker anschließen. Die¬
ses Interface ist jedoch nicht mehr er¬
hältlich, und so übernahmen es ver¬
schiedene Fremdhersteller, die Schnitt¬
stellen für den Atari anzubieten.
Eine dieser Schnittstellen nennt sich
Interface 850 XL und kostet rund
400 Mark inklusive Netzteil und Druk-
kerkabel. Neben einer Centronics-
Schnittstelle ist zwar nur eine RS232-
Schnittstelle eingebaut, diese genügen
allerdings für die meisten Anwendun¬
gen. Der RS232-Teil des Interfaces ist
voll kompatibel zur alten Atari-850-
Schnittstella Den Centronics-Teil je¬
doch hat man etwas erweitert. Ein
Nachteil der 850-Schnittstelie gegen¬
über der Verwendung der Origi-
nal-Atari-Drucker war nämlich die feh¬
lende Codewandlung der Grafikzei¬
chen. Nicht jeder Drucker, der an die
Centronics-Schnittstelle angeschlos¬
sen werden kann, ist auch in der Lage,
Grafikzeichen zu drucken {zum Beispiel
Typenraddrucker}. Darum werden alle
Codes unverändert an den jeweiligen
Drucker geschickt. Dieser Nachteil läßt
sich nur durch entsprechende Treiber¬
software wieder beheben.
Beim Interface 850 XL hat man nun
versucht, diesen Nachteil direkt mit der
Schnittstelle wieder wettzumachen.
Das Interface ist in vier verschiedenen
Druckmodi zu betreiben, die über eine
kurze Steuersequenz ausgewählt wer¬
den. Im ersten Modus werden alle Zei¬
chen ohne Codewandiung an den Druk-
ker geschickt. Im zweiten Modus, der
standardmäßig eingestellt Ist und dem
850-lnterface-Modus entspricht, wird
nur der »Carriage Return«-Code umge¬
wandelt. Der Drucker benötigt zum Zei¬
lenvorschub nämlich den Code 13,
während der Atari dazu den Code 155
verwendet. Der dritte Druckmodus ist
für Drucker gedacht, die nicht grafikfä¬
hig sind. Alle Codes, die beim Atari mit
Grafikzeichen belegt sind, werden ein¬
fach in Standard-ASCII-Codes umge¬
wandelt. Druckt man nun beispiels¬
weise ein Listing aus, in dem Grafikzei¬
chen Vorkommen, so erscheinen diese
zwar nicht in ihrer richtigen Form, der
Drucker jedoch interpretiert diese Zei¬
chen wenigstens nicht als Steuerco¬
des. Wie der Zeichensatz des Atari in
diesem Modus aussieht, sehen Sie in
Bild 1. Der vierte Modus ist für grafikfä¬
hige Drucker gedacht. Mit jedem Grafik¬
zeichen wird auch ein entsprechender
Steuercode an den Drucker geschickt,
der ihn in den Grafikmodus umschaltet.
Leider war man hierbei nicht ganz kon¬
sequent. Alle invertierten Zeichen wer¬
den nicht invertiert gedruckt (Bild 2).
Bei normalen Basic-Listings fällt dies
nicht weiter ins Gewicht. Verwendet
man aber beispielsweise in einem Pro¬
gramm Maschinenunterroutinen, die
als Strings und somit in Form von Grafik¬
zeichen abgelegt sind, enthät das
Druckerlisting schlichtweg falsche
Informationen.
Neben den beiden Schnittstellen
enthält das Interface 850 XL auch noch
ein Kassettenrecorder-Interface. Man
kann so statt des Atari-Datenrecorders
auch jeden anderen handelsüblichen
Kassettenrecorder an den Atari an¬
schließen.
Benötigt man keine RS232-Schnitt-
stelle, kann man sich auch ein reines
Druckerinterface, also nur mit Centro¬
nics-Schnittstelle, kaufen. Zum Beispiel
das Atari-Interface 72000 zum Preis
von rund 250 Mark. Es benötigt kein
Netzteil, da es direkt vom Atari mit
Strom versorgt wird. Das Gehäuse ist im
Druckerkabel integriert. Mit Hilfe von
Dipschdtern kann man auch hier zwei
verschiedene Druckmodi einstellen.
Der erste Modus schickt, mit Aus¬
nahme des »Carriage Return«-
Zeichens, alle Codes unverändert wei¬
ter und entspricht somit wieder dem
850-lnterface von Atari. Der zweite
Modus ist speziell für Besitzer des
Atari-Schreibers interessant. Dieses
Textverarbeitungsprogramm benutzt
recht seltsame Codes für die deut¬
schen Umlaute. Bei manchen Druckern
kann es daher zu Schwierigkeiten beim
Ausdruck kommen. Durch eine ent¬
sprechende Codewandlung hebt die¬
ses Interface diesen Nachteil auf.
Neben diesen beiden Interfaces sind
vor allem aus den USA noch eine Reihe
von Druckerschnittstellen, die mehr
oder weniger dieselben Funktionen
ausüben, auf dem Markt. Generell kann
man sagen, daß die Anschaffung eines
Druckerinterfaces und eines normalen
Druckers dem Kauf eines Atari-
Druckers vorzuziehen ist. Dies gilt vor
allem dann, wenn man plant, sich im
Laufe der Zeit einen anderen Computer
anzuschaffen.
(Wolfgang Czemy/wb)
Bezugsquellen;
Kunkel Industriebedarf, Zweibrückener Str, S, 7000Stuttgart 31,
Tel (0711JSS4711
Reinhard Wiesemann, Windcenbachstr. 3a, 5300 Wuppertal 2j
Tel. (0202) 505077
iABCDEF6HI3KLMNOF'ERSTUVWKYZÄÖü''_ ! /012S4567B'?: ; <=>?iABCDEFGHIJKLnWQ
PQRSTUVWXY' abede^ gh i j kl fnnopqrstuvwx yz äöü§ABCDEFGHIJKLMMOPQRSTUVUIXV Z
öü^_ ! ' n /Ol 25456789: : <=>?§fiFCDEFEHI JKLMMDPQRBTüyWXYZ&ÖÜ^_'ab(=de-f ghi j k
1 mri op qr st u vwk yi; ä Ö ü
Bild 1. Beispiel&ausdruck mit dem
850XL-lnterfaceL In Modus 3 werden
sämtliche Steuer^ und Grafikzeichen
In ASCII-Zeichen umgewandeit.
f-’in T-^ n /CH2-4567B9: ;< = >?§ ABCDEFGHI
JK:LnWOPQRSTUVWXYZÄÖü^_*ÄbccSe’f ghl jkl mnopqrstuvwxyz^ ’ h H d n ^ + i -h#«
! t-41 *■
/01254S6709; ; <=^>?1ABCDEFGHI JKLMMOPGRSTUVWXYZÄoü^_*abcdetghi j
kl mnopqrstuvwxyE-Ä- ' *^4 ►
Bild 2. In Modus 4 lassen sich auf
einem grafikfähigen Drucker auch
Steuer- und Grafikzeichen wleder-
geben.
6
Rasende
Daten
Die Erweiterung »High Speed
1050« macht ihrem Lau^erk
Beine und erhöht auch noch die
Speicherkapazität.
D er Roppy-Speeder »High
Speed 1050<s für das Atari
1050-Laufwerk besteht ledig¬
lich aus einer kleinen Erweiterungspla¬
tine, Auf dieser Platine befinden sich
neben einigen Gatterbausteinen auch
ein neuer EPROM, ein RAM-Baustein
und ein Prozessor vom Typ 6502. Zum
Einbau der Erweiterung muß man als
erstes das Gehäuse der Diskettensta¬
tion öffnen. Dann hebt man vorsichtig
das Laufwerk aus seiner Halterung. Nun
liegt die Hauptplatine, auf der sich der
alte ROM- und der alte RAM-Baustein
befinden, offen da. Diese beiden ICs
werden aus ihren Sockeln gezogen und
statt dessen die Erweiterongsplatine in
eine der frei gewordenen Fassungen
gesteckt. Der Einbau ist hiermit bereits
beendet. Es versteht sich von selbst,
daß man dabei größte Vorsicht walten
lassen muß. Der Garantieanspruch
erlischt nämlich, sobald die Abschir¬
mung der Hauptplatine entfernt wurde.
Schnell wie der Wind
Ein auf diese Weise umgebautes
Laufwerk hat nun mehrere Vorteile.
Zunächst sorgt das neue EPROM
dafür, daß man Disketten nun auch mit
doppelter Dichte formatieren kann. Das
normale 1050er-Laufwerk kann ja
neben der einfachen Schreibdichte
bereits mit erhöhter Schreibdichte for¬
matieren. Bei der einfachen Dichte wird
mit 720 Sektoren von je 125 Byte gear¬
beitet. Das ergibt eine Speicherkapazi¬
tät von 88 KByte. Bei der erhöhten
Schreibdichte steigt die Zahl der Sekto¬
ren auf 1040 an, pro Sektor sind aber
immer noch 125 Byte vorgesehen. Oie
Speicherkapazität ist also auf 126
KByte gestiegen. Doppelte Dichte
bedeutet nun, daß man zwar wieder nur
über 720 Sektoren, diesmal jedoch von
je 256 Byte und somit über 180 KByte
Speicherplatz verfügt.
Die Formatierung auf doppelte
Schrerbdichte erfordert natürlich auch
ein neues DOS. Aus diesem Grund
bekommt man zusammen mit der Erwei-
terungspiatine auch gleich eine Dis¬
kette mit zwei verschiedenen DOS-
Versionen mitgeliefert. Bei »Warp-
Speed-DOS« handelt es sich um ein
Vei
■'MC7HHC
. ® H 2 l
Acht Bauteile verwandeln ein lOSD-Laufwerk In eine Rennfloppy
erweitertes DOS 2.0, das wahlweise
Disketten mit einfacher oder doppelter
Dichte verarbeitet. Die andere DOS-
Version mit dem Namen »MYDOS« ist
auch interessant. Hiermit kann man
auch wieder unterschiedliche Schreib¬
dichten formatieren. Daneben lassen
sich beispielsweise aber auch Sub-
directories anlegen.
Alle Daten, die gespeichert oder
geladen werden, werden in dem neu
hinzugekommenen RAM-Baustein zwi¬
schengespeichert. Ein Test ergab, daß
sich bis zu 1875 Byte in diesem RAM
unterbringen lassen. Speziell bei Datei-
verwaltungsprogrammeo kann es daher
Vorkommen, daß Datensätze von Dis¬
kette gelesen werden, ohne daß das
Laufwerk tatsächlich auf die Diskette
zugreifen muß. Der Schreib-ZLesekopf
wird also bei Programmen, die häufigen
Diskettenzugriff erfordern, geschont.
Andererseits hat diese Sache auch
einen Haken. Bearbeitet man eine Datei
und schließt man den einen Schreibvor¬
gang nicht korrekt mit CLOSE ab, so
bleiben die Diskettenanweisungen im
Puffer. Wechselt man nun die Diskette
im Laufwerk, kann es passieren, daß die
im Puffer verbliebenen Anweisungen
auf die neue Diskette geschrieben wer¬
den und dort Files zerstören.
Durch diese Erweiterung wird das
Laufwerk auch um einiges schneller.
Vor allem beim Lesen von Daten sind
Geschwindigkeitssteigerungen um 50
Prozent keine Seltenheit. Um welchen
Faktor sich die Geschwindigkeit im ein¬
zelnen erhöht, ist dabei stark vom jewei¬
ligen Lesebefehl abhängig. So verrin¬
gert sich die Zeit, die das Laufwerk bei¬
spielsweise zum Booten des DOS.SYS-
Files benötigt, nur um rund eine
Sekunde. Liest man aber zum Beispiel
1000 Zahlen mit dem INPUT-Befehl, so
sind dazu statt rund 35 Sekunden nur
mehr rund 20 Sekunden nötig. Das For¬
matieren einer Diskette beansprucht
nur noch 26 Sekunden statt 38 Sekun¬
den, Speichert man Programme mit
dem LIST-Befehl auf Diskette, so hält
das Laufwerk sogar zwischenzeitlich
immer wieder an, da die Datenübertra¬
gung langsamer ist als das Speichern.
Formatieren
in 26 Sekunden
Diese Geschwindigkeitssteigerung
hat allerdings auch einen Nachteil.
Manche professionellen Programme
lassen sich nicht mehr laden, da ihr
Kopierschutz auf die veränderte
Zugriffszeit reagiert. Mit geeigneter
Software wäre es allerdings möglich,
das Laufwerk wieder zu normalisieren.
Dann stellt das Laden dieser Pro¬
gramme mit dem erweiterten Laufwerk
auch kein Problem mehr dar.
Die rund 230 Mark, die man für die
Erweiterung ausgeben muß, sparen
also nicht nur die Hälfte an Disketten
ein, sondern bieten zusätzlich ein
schnelleres Laufwerk. Somit ist der Ein¬
bau durchaus zu empfehlen.
(Wolfgang Czerny/wb)
Bejzuasque^e: JRATA, Hecmannstr, 9, 1000 Berlin 44,
Tel.: (030)621 2071
Die Raupe wird zum
Schmetterling
ür den Atari 800XL gibt es jetzt
^pil eine Erweiterungsplatine, durch
m die der 800XL voil kompatibel
zum 130XE wird. Um es allerdings
gleich vorweg zu sagen: Wer Verände¬
rungen an der Hardware seines Atari
800XL vornimmt, riskiert natürlich den
Verlust des Garantieanspruchs. Man
sollte den Einbau dieser Platine also
entweder dem Fachmsüin überlassen
oder aber entsprechende Grundkennt¬
nisse mitbringen.
Auf der neuen Platine befinden sich
neben einigen Gatterbausteinen sechs
zusätzliche RAM-Bausteine. Die Erwei¬
terung hat ihren Platz direkt auf der
Hauptplatine des Atari 800XL Das
Gehäuse muß also geöffnet und das
Abschirmblech entfernt werden. Die
alten RAM-Bausteine werden aus ihren
Sockeln gezogen und in die dafür vor¬
gesehenen Sockel auf der Erweite¬
rungsplatine eingesetzt. Die Platine
selbst wird in zwei der so freigeworde¬
nen Sockel auf der Hauptplatine
gesteckt. Nun sind noch einige Drähte
von der Erweiterungsplatine an ver¬
schiedenen Stellen auf der Hauptpla¬
tine anzuschließen. Da Lötarbeiten ver¬
mieden werden sollten, schließt man
die Drähte direkt an verschiedene ICs
an. Dies geschieht, indem man die
Drahtenden zusamrnen mit den IC-
Anschlüssen in die Sockel klemmt.
Manche Fälle ecfordern aber auch ein
Hochbiegen der Anschlüsse der ICs,
so daß man die Drähte direkt anklem¬
men kann.
Beim Einbau ist etwas Fingerspitzen¬
gefühl unumgänglich. Sonst kann es'all-
zuleicht passieren, daß man ver¬
sehentlich ein IC-Beinchen abbricht
oder das eine oder andere IC durch sta¬
tische Aufladung zerstört. Aus diesem
Grund sollte man vielleicht überlegen,
ob man die Erweiterungsplatine nicht
doch vom Hersteller der Platine in sei¬
nen Atari einbauen läßt.
ist die Platine an ihrem Platz, verfügt
man über einen zusätzlichen RAM-
Speicherbereich von 64 KByte, Leider
sind diese 64 KByte nicht genauso
ansprechbar wie der normale RAM-
Speicher. Da der Atetfi als 8-Bit-
Computer nur 64 KByte direkt adres¬
sieren kann, muß man den Zusatzspei¬
cher über das sogenannte »Bank-
Switching«-Verfahren ansprechen. Gibt
man in Basic also beispielsweise den
FRE(0)-Befehl ein, hat sich am freien
Um in den Genuß von 64 KByte
RAM mehr Speicherplatz zu
kommen, muß man sich nicht
unbedingt einen Atari 130XE
kaufen. Eine Platine verwandelt
Ihren 800XL in einen 130XE.
Speicherplatz scheinbar nichts ge¬
ändert.
Der Zysatzspeicher ist in 4 Banken
aufgeteift, die zu erreichen es einen
kleinen Umweg erfordert. Das Bild
zeigt, wie die Speicherbereichsvertei-
iung unter 128-KByte-RAM aussieht.
Jede der vier Banken umfaßt 16 KByte
und muß separat adressiert werden.
Diese Aufgabe übernimmt beim 800XL
der PlA'Baustein. Dieser Interface-
Baustein verfügt über zwei 8 Bit breite
Ports. Bei den alten Atari 400 und 800
übernahmen diese beiden Ports die
Abfrage der Joysticks. Beim SOOXL hin¬
gegen worden zwei Joystickports ein¬
gespart. Der dadurch freigewordene
zweite Port der PIA wird nun zur Steue¬
rung der MMU (Memory Management
Unit oder Speicherverwaltungs-Einheit)
eingesetzt. POKEt man also einen ent¬
sprechenden Wert in das Portregister,
hat man der MMU so mitgeteilt weiche
Bank angesprochen werden soll.
Speicherriese SOOXL
Der Zusatzspeicher eignet sich also
weniger zur Aufnahme größerer Basic-
Programme, sondern vielmehr dazu, um
darin Daten abzulegen; Daten wie zum
Beispiel Maschinenunterprogramme
oder Player/Missile-Daten. Man kann
natürlich auch mehrere Grafik-Bilder
darin ablegen oder ganz einfach allge¬
meine Datenfelder. Der Vorteil liegt klar
auf der Hand, schreibt man ein umfang¬
reiches Programm, kann manches
Nachladen von Diskette entfallen, Pro¬
gramme wirken dann nicht mehr »lang¬
atmig« und der Anwender wird nicht
mehr einer Geduldsprobe unterzogen.
Arbeitet man beispielsweise mit dem
Atari-DOS 2.5, ist es ohne weiteres
möglich, in diesem Speicherbereich
eine RAM-Disk anzutegen. Diese RAM-
Disk kann dann wie ein Diskettenlauf¬
werk angesprochen werden. Man spei¬
chert oder lädt seine Programme nur mit
der Gerätebezeichnung »08:«. Da beim
Laden und Speichern von Programmen
in die RAM-Disk keine Input/
Output-Operafionen. sondern lediglich
Speicherverschiebungen durchgeführt
werden, gewährleistet dies so natürlich
ein viel schnelleres Arbeiten. Befindet
sich das DUP.SYS-Rle beispielsweise
in der RAM-Disk, ist man beim Aufruf
des DOS-Befehls innerhalb von Sekun¬
denbruchteilen bereits im DOS-Menü.
Der Ausbau eines Atari SOOXL auf
128 KByte RAM ist also eine durchaus
lohnenswerte Angelegenheit. Lobens¬
wert ist auch die Tatsache, daß der
Selbsteinbau sowie der Einbau vom
Hersteller das gleiche, nämlich 259
Mark kostet. Sollten Sie also kein erfah¬
rener Bastler sein, ist es ratsam, den
Ausbau vom Hersteller vornehmen zu
lassen. Schließlich kostet es nicht mehr
und eine einwandfreie Funktionsweise
des Computers ist auch gewährleistet.
Billiger als ein neuer 130XE ist dies auf
Jeden Fall.
(Wolfgang Czerny/wb)
Bezugsquotle: Wilheln Bock, Bfeichstr. 5.4790 Paderborn,
161.(05251)32091
Adressen
Normaler RAM- und ROM-Bereich
Erweiterter RAM-Bereich
65S36-$FFFF
42192-$C000
Antic, Pokey, Gtia, Betriebssystem
ROMS
42l9l-$eFFF
32768-$SOOO
Basic oder RAM Biidschirmspeicher
32767-$7FFF
RAM
Bank 3 $C000-$FFFF
Bank 2 $800Ö-$BFFF
Bank 1 $4000-$7FFF
16384-$4000
Bank 0 $0000^$3FFF
16383-$3FFF
OOOOO-SOOOO
Betriebssystemvariablen usw.
Oie Speicheraufteilung mit 128 KByte-RAM
A Das Listing des
Monats im März-Heft
von »Happy-Computer«
■ * ■
IIIMI •
»Happy-DOS II + /D mit
RAM-Disk€<
kompatibel zu DOS 2.0.
Außerdem stellen wir Ihnen
drei Monitore für den Betrieb
am Atari-ST vor und berichten
über das aktuelle Computerge¬
schehen auf der CES in Las
Vegas. Eine große Marktüber¬
sicht informiert Sie über das ak¬
tuelle Taschencomputerange¬
bot samt zugehöriger Software.
In einem Gruncuagenbeitrag
lernen Sie die logischen Opera¬
tionen und deren erfolgreiche
Anwendung in eigenen Pro-
grommen kennen.
Commodore-Fans und -Interes¬
senten finden unter anderem
einen Testbericht über das
Super^Grafikprogramm »Delu-
xe Paint« für den Amiga. Wer
sich für Schneider-Computer in¬
teressiert, sollte die große
Marktübersicht »Hard- und
Software für Schneider CPC
nicht ver-
Gutschein
FÜR EIN KOSTENLOSES PROBEEXEMPLÄE VON HAPPT COMPUTER
JA* icli möcble »KappyK^mputcr* kEimeiüemen-
Seitden Sie mir bitte die aJimiellste Aasgabe kostenlos als ProbeeEempIar. VW&mi mär ftHapp^
Computern ge&Ht und icb es regelmäßig vreiteibenehen möchte brauche ich ruchis za tun;
Ich erhalte itHappy^^omputex« dann legehnäßig frei Haas per Post und bezahle pro >ahi mir
DM 66.— statt DM 22.— Emzeiveikaiifepreis (Ausland auf Aafeage).
Vomante Name
Straße
PLZ. Ort
Datum l. Uicterschnft
Mir ist bekannt, daß ich diese Bestellung innexhalh von 8 l^en bei der Bestelladiesse mdeim^
fen kann und bestätige dies durch meine zweite UnteischiifL Zur Wahrung der Frist genügt die
lechtzeiTige Absenduitg des Widenu^
Datum 2 . Unterschiift
Gutschein ausfuUen. ausschneiden. in ein Kuvert stecken und absenden an; Markl&lbchnik
Verlag AktiengOasUschaft. Tfertrieb Postfach 1304. 8013 Haar
Hcsasa
Die Angst des Raumfahrers vor der Untertasse: »Koronis Rift«
i^Dimensian X« setzt Grafik-Maßstäbe
Spielmaschine
Atari
Daß der Atari bis heute einen
Ruf als Spielcomputer genießt,
hat seine guten Gründa Wenn
auch Sie mit Ihrem Computer
gerne eine Runde spielen möch¬
ten, finden Sie hier einige allge¬
meine Tips.
S piele-Freaks, die einen 800XL
oder 130XE besitzen, haben
momentan allen Grund zu leich¬
tem Frust. Die beiden Atari-Computer
sind bekanntlich Sound- und Grafik-
Computer allerhöchster Güte Leider
vernachlässigen die Softwarefirmen
seit ein paar Jahren die Atari-
Heimcomputer. Es erscheinen bei wei¬
tem nicht so viele Programme wie für
den Marktführer Commodore 64. Hin
und wieder gibt es auch Umsetzungen
von C 64-Titeln, deren Qualität aller¬
dings mitunter sehr zu wünschen übrig¬
läßt, und die auch die Hardware nicht
richtig ausreizen.
Frisch aus den USA
im Direktimport
Der Atari-Spieler hat kein leichtes
Leben, da in letzter Zeit relativ wenig
Software-Nachschub anrollt. Bis auf
U.S. Gold, die viele Atari-Versionen
amerikanischer Programme im Angebot
haben, vernachlässigen die englischen
Softwarehäuser XL und XE geradezu
sträflich. In den USA werden neue
Spiele zwar bevorzugt für C 64 und
Apple II entwickelt, doch gibt es eine
ganze Reihe von Atari-Umsetzungen,
die aber hierzulande nur sehr schwer zu
erhalten sind. So kann man beim
Compy-Shop zum exklusiven Preis von
je 149 Mark einige direkt importierte
Atari-Programme kaufen, die nur vor¬
erst oder generell nicht in Deutschland
vertrieben werden. Auf der jüngsten
Angebotsliste findet man hier Lecker¬
bissen wie den neuen U-Boot-
Simuiator von Microprose, »Silent Ser^
vice«, die Synapse-Adventures »Mind-
wheek, ^Essex« und »Brimstone« so¬
wie das Autorennen »Pitstop Ik.
»Winter Games«
im Anmarsch
Etwas billiger kommen Sportspiel-
Fans weg. Zwei der drei erfolgreichen
Olympia-Simulationen von Epyx gibt es
auch auf Diskette für Atari-Computer:
»Summer Games« und »Winter Games«
kann man zum erschwinglichen Preis
von knapp 60 Mark kaufen. Die Atari-
Versionen enthalten die Original-
Disziplinen, sind grafisch aber nicht
ganz so stark.
Das Programmierteam von Lucasfilm
Games hat erst vier Spiele veröffent¬
licht, doch ein Titel ist besser und er¬
folgreicher als der andere: »Rescue on
Fractalus«, »Ballblazer«, »The Eidolon«
und »Koronis Rift«. »Koronis Rift« ist die
ausgereifteste und interessanteste
Neuerscheinung. Als Raumkapitän
düsen Sie mit Ihrer Lieblingsuntertasse
durchs All. Plötzlich schlagen alle
Instrumente aus: Sie haben Koronis
Rift, den sagenumwobenen Planeten
einer alten Rasse, wiederentdeckt. Im
Raumgleiter rasen Sie über die Plane¬
tenoberfläche, um alte Raumschiff-
Wracks nach wertvollen Überbleibseln
der Supertechnik der verschollenen
Ureinwohner zu durchsuchen. Mit die¬
sen Teilen kann man dann das eigene
Schiff besser ausrüsten, was auch
nötig ist, wenn man den massiven
Angriffen der Wächter-Flotten auf
Dauer widerstehen will.
Neues von den
Atari-Experten
Vor allem begeistert das Spiel mit sei¬
ner Grafik: Die Gebirgsketten von Koro¬
nis Rift ziehen perspektivisch perfekt
an Ihrem Cockpit vorbei, und an Bord
Ihres Mutterschiffs wacht ein toll ani¬
mierter Roboter über die Beutestücke.
Auch bei den anderen drei Lucasfilm-
Spielen sind spannende Handlung und
schnelle Grafik Trumpf. »Ballblazer« ist
eine Art Fußballspiel des 4. Jahrtau-
10
sends, in dem die Bälle mit einem Ma¬
gnetfeld eingefangen werden. »Rescue
on FractalöS« ist ähnlich wie »Koronis
Rift« eine Planeten-Expedition, bei der
diesmal abgeschossene Raompiloten
vor den finsteren Jaggis gerettet wer¬
den müssen. Der Vorspann dieses
Spiels gehört übrigens mit zum besten,
was man je an animierter Grafik auf
einem Heimcomputer gesehen hat.
Abenteuerspiele in
Deutsch und Englisch
»The Eidolon« schließlich ist eine
Expedition durch ein labyrinthartiges
Höhlensystem, in dem es von merkwür¬
digen Kreaturen nur so wimmelt.
Abenteuerlustige Atari-Fans sitzen
keinesfalls auf dem trockenen. Selbst
wenn Sie keine Diskettenstation haben,
können Sie mit Ihrem Computer ein saf¬
tiges Adventure spielen. Das englische
aber nur wenig halten. »Super Zaxxon«,
die Fortsetzung zu »Zaxxon«, ist ein gra¬
fisch guter, aber spielerisch ausge¬
sprochen liebloser Krawumm-Aufguß.
Das Jump-and-Run-Sptel »Conan« hat
mit dem barbarischen Leinwandhelden
herzlich wenig zu tun. Die Handlung
wirkt etwas an den Haaren herbeigezo¬
gen, und wer eine auffallende Ähnlich¬
keit zwischen Arnold »Conan« Schwar¬
zenegger und dem mickrigen Bild¬
schirm-Männlein feststellt, muß schon
eine reichlich rege Phantasie haben.
Selbst wenn man solche Hüpfspiele
mag, überkommt einen rasch das große
Gähnen. Da greife man lieber zum guten
alten »Bruce Lee«, der viel mehr Spiel¬
spaß bietet.
Evergreen-Tips
für die Sammlung
überhaupt gibt es dank der Kompati¬
bilität zur 400/800-Serie einige
hinter dem Apple ll-Original nicht ver¬
stecken braucht.
Ataris 8-8it-Computer gehören
sicher zu den mittelfristig auslaufenden
Modellen auf dem Markt: Der 800XL
wird zu Schleuderpreisen ausverkauft,
und der neue 130XE verzeichnet nur
mäßige Absatzzahlen. Angesichts die¬
ser Situation ist auch kaum mit einem
wesentlichen Aufschwung beim Spiele-
Angebot zu rechnen. Auf der anderen
Seite dürfte der Nachschub von heute
auf morgen keinesfalls völlig einschla-
fen, da vor allem in Deutschland und
den USA noch größere Stückzahlen auf
dem Markt sind. Wer aber in den näch¬
sten Jahren in einem üppigen Software-
Angebot schwelgen will, sollte langsam
einen Umstieg einplanen. Doch das
Angebot an guten Atari-Spielen ist so
groß, daß man ein ganzes Weilchen
braucht, um sich durchzuspielen.
Zu guter Letzt noch ein Titel, der uns
erst kurz nach Redakfionsschluß
Schlag auf Schlag: »Karateka«
Schöne GrüBe vom »Ballblazer«-Finale
Softwarehaus Level 9 ist auf Abenteu¬
erspiele spezialisiert und bietet auch
einige Programme für die Ataris an.
Zirka 30 Mark kostet Sie derSpaß eines
Grafik-Adventures mit guten, allerdings
englischen Texten und vielen Bildern.
Nur auf Floppy gibt es das hervorra¬
gende Einsteiger-Adventure »The Dal¬
las Quest« {Top-Grafik und Top-
Spielwitz, 59 Mark) und die
Gehirnzellen-Feger »Mask of the Sun«
und »Serpenfs Star« (js 79 Mark). Der
Bestseller »Mask of the Sun« liegt auch
in einer voll eingedeutschten Version
vor und nennt sich hier »Das Geheimnis
der Aztekenmaske«.
Neben Tops auch Flops
An dieser Stelle mal ein paar Warnun¬
gen vor Neuerscheinungen der letzten
Monate, die viel Spielwitz versprechen,
betagte Klassiker, die auch heute noch
spielenswert sind. Wer seinen Atari
noch nicht allzulang hat und verzweifelt
nach neuen Spielen sucht, sollte sich
mal nach Evergreens wie »M.U.L,E.«.
»Archon« oder »Dimension X« umhören.
Letzteres gehört zu den wenigen Atari-
Programmen, die nicht für den C 64
umgesetzt wurden. Einfacher Grund:
Das Schießspiel, das im wesentlichen
von seiner schnellen Grafik lebt, wäre in
der Commodore-Version viel zu lang¬
sam geworden. Und wer sich nach der
guten alten Computer-Steinzeit sehnt,
kann sich immer noch den Original-»Pac
Man« zutegen, der vor Jahren Ataris
Superhit für das Videospiel-System
2600 war. Es werden aber hier und da
noch Erfolgstitel anderer Computer
nachträglich umgesetzt. So gibt es jetzt
auch eine Atari-Version von Broder-
bunds langsamem, aber stilvollem
Sport-Actionspiel »Karateka«, die sich
erreichte und den wir deshalb leider
ohne Bild vorstellen müssen: »Merce-
nary« von »Encounter«-Autor Paul Woa-
kes. Das Spiel ist eine einfallsreiche
Neuer Hit
mit 3D-Grafik
Mischungaus Flugsimulator, Geschick¬
lichkeit, Strategie und ^tion und ist zu
recht zivilen Preisen (42 Mark Kassette,
49 Mark Diskette) erhältlich. Das Glanz¬
stück von »Mercenary« sind die vielen
3D-Vektorgrafiken, die diesen komple¬
xen Spietgenuß zu einem garantierten
Renner für 1986 werden lassen.
(Heinrich Lenhardt)
BezLiQsqu^ie:
Compy^Shop: Gngisenaustr. 29,4330 Mülheim/Ruhr,
TeL {0203) 497169 {USA*Importe)
Funtastic, Tannhätiserpiatz 22,6000 hAünolien SO,
Tel. {0S9) 939894
Teledienst MainzerTor'Anlase 45,6360 Frie<Jt>eng,
Tel. (06031)91650
11
Cartridge-Experimente
leichtgemacht
»CES« hat nichts mit der
bekannten Messe in Les Vegas
zu tun. Hier handelt es sich
um ein Cartridge-Experimentier-
System zum Selberbasteln.
E s gibt verschiedene Wege, den
Atari-Computer mit Software zu
versorgen. Programme oder
Daten können einerseits manuell über
die Tastatur in den Arbeitsspeicher des
Computers gelangen. Das ist aber, wie
das Einlesen von Daten mit dem Kas¬
settenrecorder, ein recht langwieriger
Vorgang. Mit einer Diskettenstation
geht es schon einige Größenordnun¬
gen schneller.
Die maximale Geschwindigkeit ist bei
Verwendung eines ROM-Cartridges zu
erreichen, da hier dem Mikroprozessor
ein direkter Datenzugriff erlaubt ist. Als
weiterer Vorteil wäre noch das problem¬
lose Austauschen der Cartridges zu
nennen. Ebenso erfreulich ist, daß nach
dem Ausschalten des Computers die
Informationen in den ROMs erhalten
bleiben.
Beim Atari 800XL/130XE ist für den
Anschluß solcher Cartridges ein soge¬
nannter Cartridge-Slot vorgesehen. Er
befindet sich bei Computern der XL-
Serie auf der Oberseite des Gerätes,
beim 130XE an der Rückseite. In der
AnschluBbelegung unterscheiden sie
sich jedoch nicht.
An Software auf CcUlridge sind
sowohl Spiele als auch Programmier¬
sprachen erhältlich. Je nach Programm
werden 8KByte oder 16K8yte-
Cartridges eingesetzt. Diese ROM-
Cartridges fügen sich, wie aus Bild 1
ersichöich ist, in den Speicheradreß-
raum des Computers ein.
Ein Cartridge mit einem eigenen Pro¬
gramm war Vielleich schon hin und
wieder der Wunsch eines Atari-
Besitzers. Oder wäre es nicht auch
erfreulich, die Software eines käuflich
erworbenen Cartridges den eigenen
Bedürfnissen anpassen beziehungs¬
weise erweitern zu können? Dieser
Wunsch als Vater des Gedankens war
der Anstoß für die Entwicklung der in
Bild 3 gezeigten Schaltung.
Das CES {Cartridge-Experimentier-
System) befindet sich auf einer Platine
im Europaformat {100 mm x 160 mm).
Es wird über eine Flachbandleitung und
einen Cartridge-Slot-Stecker an den
normalen Modulschacht des Atari-
Computers angeschlossen. Die Platine
des CES weist ebenfalls ein Slot zur
Aufnahme der üblichen Cartridges auf.
Ein Wahlschalter (SW 1) ermöglicht die
Entscheidung, mit dem Cartridge der
Platine oder mit CES zu arbeiten. Wird
kein Cartridge benötigt, so muß es nicht
extra entfernt werden. Eine eigene
Funktion erlaubt die Trennung von CES
beziehungsweise Cartridge und Com¬
putersystem.
Mit dem CES lassen sich verschie¬
dene Cartridge-Größen simulieren. Es
sind sowohl 8-KByte- als auch
16-KByte-Nachbildungen realisierbar.
Für die Datenspeicherung sind zwei
statische 8-KByte-FAM-Bausteine ver¬
antwortlich, die jederzeit eine Ände¬
rung der Cartridge-Software erlauben.
Die Schreibfreigabe-Leitung (WE)
der RAM-Bausteine liegt normaler¬
weise auf High-Pegel, so daß nur das
Lesen der Module gestattet ist. Zur Pro¬
grammierung des CES kann man
jedoch mit Hilfe des Schalters SW 2 auf
RAM-Betriebsart umschalten (Stellung
»RAM«). Das CES verhält sich dann wie
eine ganz gewöhnliche RAM-Erweite-
rung. Die Schreibfreigabe kann aber
auch softwaregesteuert erfolgen (SW 2
in Stellung »Softswitch«). Dazu jedoch
später mehr.
Zur Einstellung der Betriebsart des
CES (Größe, Lage im Speicheradreß-
raum etc.) dienen zwei DlP-Schalter
SA1 bis SA8 und SB1 bis SB4.
Zunächst einiges zu den am
Cartridge-Slot des Atari angebrachten
Anschlußleitungen. Da wäre einerseits
der vollständige Datenbus, die Adre߬
leitungen AO bis A12 sowie einige Steu¬
erleitungen und eine 5-Volt-Spannungs
Versorgung.
Mit dem 13-Bit-Adreßbus läßt sich ein
Speicheradreßraum von 8 KByte
ansprechen. Ober die Meldeleitungen
M4 und M5 (Aktiv High) wird dem Com¬
puter mitgeteilt, in welchem Speicher¬
bereich des Systems sich ein Cartridge
befindet. Die Speicherverwaltungslogik
im Atari weiß dann, an welchen Stellen
sie das interne RAM ausblenden und
das Cartridge einfügen soll. Dabei
bedeutet:
M4 = High - 8 KByte Cartridge im
Bereich zwischen
$8000 bis $9FFF
M5 = High - 8 KByte Cartridge im
Bereich zwischen
$A000 bis SBFFF
Liegen beide Meldeleitungen auf
High, so entspricht das einem 16K-
Cartridge im Adreßbereich von $8000
bis SBFFF.
Die Steuerleitungen S4 und S5 sind
Low-Aktiv und kommen vom Computer.
Sie dienen dem Chip-Select (Baustein-
Auswahl) der ROMS im Cartridge S4
wird Low, wenn ein Zugriff auf den Spei¬
cherbereich zwischen $8000 bis
$9FFF erfolgt. Bei einem Zugriff auf
den Bereich von $AOOO bis SBFFF
wird S5 Low.
Diese Steuer- und Meldeleitungen
werden über den Wahlschalter SW 1
entweder mit dem Cartridge-Slot auf
der Platine des CES oder mit den ent¬
sprechenden Anschlußpunkten der
CES-Logik verbunden; abhängig
davon, ob ein normales Cartridge im
Slot steckt oder das CES betrieben
werden soll. Befindet sich SW 1 in Mit¬
telstellung, laufen die Steuer- und Mel¬
deleitungen leer. Der Computer regi¬
striert dann, daß kein Cartridge ange¬
schlossen ist.
Eine weitere Steuerleitung am
Cartridge-Slot des Atari ist die
im Atari Cexnpiiter
in Caftridge-Stot einsetzbar
6K
3K
RAM
ROM
Cartridge
(Wird
(AJari Basic und
wäriri At3fi Bäsic
RAM werdun
aufgmatiäcfi
wird)
aus^eblerxlet)
zim Beispiel:
(Se meteten Spiele
16K
ROM
Cartridge
(Alari BflSic und
RAW werden
automatiscn
ausgeWendet)
zum Beispiol:
Microsoft Basic
Switch-Cartridge
4K
ROM
4K
4K
4K
ROM
ROM
ROM
Bank 1
Bank 2
Bank 3
Prögrammgasteijerte
ArvwatiEdef
'gcrwünächten Bänik
mögfich,
zun Beispiel:
OSS Basic XL
Bi Ed 1. So fügen sich die verschiedenen Cartridge-Arten in
den SpeicheradreBraum der Atari-Computer ein
Schreibfreigabe-Leitung WE. Sie steht
immer dann auf Low, wenn in eine Spei¬
cherstelle geschrieben wird. Die
Schreibfreigabe-SignaJe werden nun
beim CES über eine Tor-Schaitung an
die WE-Anschlüsse der RAMs geleitet
Damit ist es möglich, ein Beschreiben
derjenigen RAMs, die zum CES gehö¬
ren, zu verhindern (ROM-Betrieb}.
Die Anschlüsse des Cartrrdge-Siot
am Atari reichen schon aus, um ein nor¬
males Cartridge mit dem CES zu simu¬
lieren. Mit den beiden noch verbleiben¬
den Anschlüssen PHI2 und CCTL las¬
sen sich noch einige Zusatzfunktionen
realisieren.
Am Anschluß PHI2 steht der System¬
takt des Atari zur Verfügung, von dem
alle anderen Speichersteuersignale
abgeleitet werden (zum Beispiel
Schreibfreigabe). Besondere Bedeu¬
tung kommt jedoch dem Anschluß
CCTL zu. Diese Leitung wird aktiv Low,
wenn ein Zugriff auf den Speicher¬
adreßraum $D500 bis $D5FF erfolgt
Im Atari ist dieser Speicherbereich
weder durch das RAM noch vom ROM
belegt. Die CCTL-Leitung wird nun beim
CES in Verbindung mit den untersten 6
Adreßbusleitungen und dem System*
takt PHI2 zur Software-Steuerung des
CES benutzt Mit Hilfe von IC 3 (6 Bit
Dual-Flipflop) können die Zustände der
Adreßleitungen AO bis A5 bei einem
Zugriff auf den Speicherbereich
$D500 bis $D5FF gelegt werden.
Diese gespeicherten Zustände werden
nun zur Steuerung des CES benutzt.
Ein Beispiel soll dies verdeutlichen:
Zugriffs (Lesen oder Schreiben!) fol¬
gendermaßen gesetzt
AO bis A3 = Low
A4 = High
A5 = Low
Dieser Zustand wird nun in IC 3
gespeichert und liegt auch so lange an
dessen Ausgängen QO bis Q5, bis eine
andere Adresse im Bereich zwischen
$D600 bis $D5FF angesprochen wird.
So läßt sich dann ein neuer Zustand
speichern. In unserem Beispiel liegt
also an Ausgang Q4 ein High Pegel an.
Cartridge-
Unterseite Oberse ite (*)
S4
1
A
A3
2
B
A2
3
C
A1
4
D
AO i
5
E
04
6
F
05
7
H
D2
8
J
Dl
9
K
DO
10
L
06
11
M
S5
12
N
-FSV
13
P
M5
14
R
CCTL
15
S
M4
GND
A4
A5
A6
A7
A8
A9
A12
D3
D7
A11
A10
WE
PH12
(*) Zeigt bei der XL-Serie zur Tastatur
Soll ein Zugriff auf die Speicherstelle
$D510 erfolgen, so sind die unteren 6
Adreßleitungen zum Zeitpunkt des
Bild 2. Die Anschlußbelegung des
Atari Cartridge-Slot
Aus der Schaltung des CES ist die
Verbindung des Ausgangs Q4 mit dem
Schalter SW 2 ersichtlich. Nimmt dieser
Schalter nun die Steilung »Softswitch«
ein, so wird die Torschaltung für die
Schreibfreigabe zu den RAMs des CES
über den High-Pegel des Ausgang Q4
von IC 3 geöffnet und somit über die
Adreßleitung A4 gesteuert! In unserem
Beispiel wird also, sobald sich
SW 2 in Stellung »Softswitch« befindet,
das CES in RAM-Betriebsart geschal¬
tet. Will man wieder in den FOM-
Betrieb zurück, genügt jetzt ein Zugriff
auf eine Speicherstelle im Bereich
$D500 bis $D5FF, bei der die Adreßlei¬
tung A4 auf Low bleibt. Ein Zugriff auf
die Adresse $D500 bringt den Aus¬
gang Q4 von IC 3 auf Low-Ftegel und
sperrt damit wieder die lörschaltung.
Das RC-Glied R1 bis CI amCir-Eingang
von IC 3 sorgt dafür, daß nach dem Ein-
schaiten des Computers und des CES
alle Ausgänge auf Low gesetzt sind.
Bild 3. Schaltplan zu CES (Cartridge-
Experimentier-System)
Integrierte Schaltkreise
!C1, IC2
HM6264LP-1S (oder
IC3
ähnlich)
74LS174
(ZI bis Z6) = iC4
74LS04
(U1 bis U3) = IC5
74LS00
(01 bis 03) = 1C6
74LS02
Schalter
SW1
Drehschalter, drei Stel¬
SW2, SW3
lungen mit vier
SchaJtebenen
Schiebeschalter 1xUM
SA1 bis SAS
DIP-Schalter, BxEin
sei bis SB4
DlP-Schalter, 4xEin
Widerstände
R1, R7
4.7 KOhm
R2
220 Ohm
R3. R4, R5, R6
47 KOhm
RS, R9
270 Ohm
Kondensateren
CI, C3
100 fji, 6V3 (Elko)
C2
1nS (Keramik-El ko)
Sonstiges:
Zur Ptiffenjng wahlweise ein 3.6-Volt-Akku-
oder ein SSOO-ziFarad-Elko
Bild 4. Bauteileliste zum Cartridge-
Experimentier-System
Im CES werden für die Datenspeiche¬
rung statische CMOS-RAMs des Typs
6264LP-15 verwendet, die im nicht
selektierten Zustand, also im Standby-
Betrieb, eine sehr geringe Stromauf¬
nahme haben. Deshalb ist in der Schal¬
tung eine Pufferung der Spannungsver¬
sorgung für die RAM-Bausteine vor¬
gesehen. So bleiben auch nach
Abschalten der Computerspannungs¬
versorgung die Daten im CES für län¬
gere Zeit erhalten. Man muß nicht unbe¬
dingt einen NC-Akku zur Pufferung ein-
setzen. Ein Elko mit 3300 Mikro-Farad
im CES erfüllt für immerhin ganze 11
Stunden denselben Zweck. Soviel zur
Arbeitsweise der Schaltung.
Wichtig: Soll die Einstellung der DIP-
Schalter des CES verändert werden, so
müssen zuvor Computer und Pufferung
des CES ausgeschaltet werden!
Nun einige Erläuterungen zu den
Betriebsarten, wie sie in Tabelle 1 auf¬
geführt sind.
8-KByte-Cartridges im Bereich zwi¬
schen $8000 und $9FFF
In dieser Betriebsart steht das CES
direkt im Anschluß an den Adreßraum
des eingebauten Basic zur Verfügung.
Man kann dort zum Beispiel sehr ein¬
fach oft benötigte Hilfsprogramme
unterbringen. Ist SW 2 in Stellung
»RAM«, so kann man das CES von Basic
aus wie ein RAM betreiben. In Stellung
»Softswitch« erfolgt eine softwaremä-
Bige Umschaltung zwischen RAM- und
ROM-Betrieb. Wird die Speicherstelle
54544 dezimal (zum Beispiel mit
»POKE 54544,1«) angesprochen, so
wird der RAM-Betrieb eingeschaltet.
Mit »POKE 54528,1 befindet man sich
wieder im ROM-Betrieb.
DlP^halter SA
DlP^chalter SB
Betriebsart des CES
1
2
3
4
5
6
7
8
1
2
3
4
SK-Cartridge
0
0
0
0
0
0
0
1
0
0
1
0
- Bereich $8000 - $9FFF
0
0
0
0
0
0
0
1
0
0
0
1
- Bereich $8000 - $9FFF
{softwaregesteuert) (ausbJendbar)
0
1
0
0
0
0
0
0
0
1
0
0
- Bereich $AOOO - $BFFF
1SK-Cartridge
0
1
0
0
0
0
0
1
0
1
1
0
- Bereich $8000 -SBFFF
1 SK-Switch-Cartridge
1
0
1
1
0
1
1
0
1
0
0
0
- Bereich $AOOO - $BFFF
(mit Bank-Switching)
1
™ Schalter geschlossen
0 =
= Schaber geöffnet
; TRflNSCAR
102ß 1
1030 ^ Ej-moeqi i cht das von
104-0 1
; Daten dem im Slot befind-
1050 ;
; liehen Cartridge bzw. dae Kopie—
IQAa :
{ ren von Daten aue dem RAM in das
1070 ; Cartridge-Enperimentier^System-
1080 1
1090 1
f
1100 :
; SRCBOT = Anfangsadr. ßzw Endadr.
1110 ^ SRCTOP des QueL 1 erb er >
1120 ; USTBOT = Ziel—
1130
; speicherbereiche
1140 ;
F
r
llä0 ;
1170 TEMP iD0 {Zwischenspeicher
11Q0 :
1190 SftCeOt = $ß000
1200 SRCTOP = ^BFFF
1210 DSTBDT = SA000
1220 ;
1230 CONSCJL = ^D01F ; COWSOL-T^sten
1240 WMIEN = *D40e :NM1-EN«BLE-Ctrl.
12S0 !
1260 RAHC4R = *D510 ;Adr. T. Schreib-
1270
{-Freigabe {Je nach
1250
{Betriebsart des
1290
;CESi
1300 RGMCAR = ¥DS00 =Adr. f. Schreib-
1310
{sperre (je nach
1320
;Betrieb^art d es
1330
5 CCS)
1340
1350
*= ^0600
1360 ;
1370 SWSTRT
13B0
LDA NMlSy {Alle Interrupts
1390
STA TEMP {sperren!
1400
LDA 40
1410
STA NJ1ISN
1420 ;
1430 HTSTRT
1440
LDA CONSGL {Warten bis die
i4sa
CHP *6 ; START -Taste
1460
BNE WTSTRT {gedrueefct wurde-
1470 ;
1450
1490
STA RAMCAR jSchreibTreigabe
1500
;Fuer CES
1510
1520
1530 TRANS
1540
LDX <SRCTOP
1550
LDY i* >5RCTGP
1560 VON
1570
LDA SfiCeOT {Kopiere Daten von
1580 NACH ; ;SRCBOT bis SRCTOP
1S90
STA DST88T {nach DSTBDT -f-f.
1600
CPY VQN+2
1610
BNE INCVÜM
1620
CPX VQN+1
1630
5CQ RETURN
1640 :
ENCVON
1650
INC VDN+1
1660
bne incto
1670
INC VDN-^2
1680 :
INCTO
1690
INC NACH+1
1700
BNE VON
1710
INC NACH+2
1720
CLC
1730
BCC VON
1740 {
1750 DISWKT
1760
STA ROMCAR {CES auf RDM-Be-
1770 ;
; {trieb erhalten.
1780 :
i
1790 RETURN
1500
LDA TEMP {Interrupts frei—
1810
STA NMIEN {geben-
1020
RTS
1830 !
r
1S40
*= ^02E0 s Autoetartfi1e
1S50 ASTRT ; erzeugen!
1860
-WORD SWSTRT
1870 ;
A Tabelle 1. Die Betriebsarten des CES
•4 Listing 1. Queiltext zum Lesen des
Inhalts eines Cartridges (MAC/65)
8-KByte-Cartridge im Bereich zwi¬
schen $8000 bis $9FFF; software¬
gesteuert und ausblendbar
Diese Betriebsart erlaubt es, das CES
per Programm außer Betrieb zu setzen
und das darunterliegende RAM des
Atari zu aktivieren. So erhält man im
Adreßraum $8000 bis $9FFF zwei
8 KByte große Speicherbereiche. Ein¬
mal das RAM des Computers, dessen
Inhalt nach Ausschalten des Atari ver¬
lorengeht; zum anderen das CES, des¬
sen Inhalt durch die Pufferung mittels
Akku oder Elko auch nach Abschalten
des Computers erhalten bleibt.
Folgende Zustände sind zum Beispiel
von Basic aus steuerbar:
»POKE 54628,1« - CES als ROM akti¬
viert (= Einschaltzustand)
»POKE 54544,1« - CES als RAM akti¬
viert
»POKE 54560,1« - RAM des Compu¬
ters aktiviert.
8-KByte-Cartridge im Bereich zwi¬
schen $Aß00 bis $BFFF
Dies ist wohl die am häufigsten anzu¬
treffende Carfridge-Version für Atari-
Computer. Die meisten Cartridge-
Spiele liegen in diesem Speicheradreß-
bereich. Aber auch das Atari-Cartridge-
Basic, wie es früher für die Ateiri 400
und 800 Computer geliefert wurde,
befindet sich in diesem Bereich.
Vom eingebauten Basic der XL- und
XE-Serie ist das CES in dieser Betriebs¬
art nicht mehr zu kontrollieren. Das ein¬
gebaute Basic liegt nämlich ebenfalls im
gleichen Adreßraum und ist deshalb bei
eingeschaltetem CES desaktiviert.
Über die Maschinensprache ist
jedoch ein Zugriff auf den Inhalt des
CES möglich. Bei Listing 1 handelt es
sich um ein solches Umschaltpro¬
gramm. Mit einem Assembler, wie zum
Beispiel MAC/65, kann man Maschi¬
nenspracheprogramme für jeden belie¬
bigen Adreßraum schreiben, assem-
blieren und dann auf Disk speichern.
Ein solches Programmfile wird dann
*
SWITCHER
1020
;
11030
;Ernoeglicht
Umscbalten vom
1Q4Q
;CES
das im
Slot des CES
1E)5B
;beFindl
^ Cartridge und umgeitehrt-
lOAO
1070
;nach Progranmstart 'haengf
1080
jCCHiputer und es
kann mit dem
1090
; Wah 15chal Sw
1 au-f der Platine
1 loa
jdes CES
ungesehal tet werden.
1110
:Hit DrucV; die 'START'-Taste
1120
;wird der fltari
wieder 'in Sang'
1130
j geatzt
und das
DOS meldet sieb-
11A0
1150
iita
1170
TEMP =
*00
; Zwischenspeicher
1180
NCAFtT =
«C4G9
;CARTCK berechnen
1190
CONSOL =
: *D01F
; CONSOL^Tasten
1200
WIIEN =
«D40E
^ hlH I -ENABLE-^tr 1 .
1210
1220
$0600
1230
1240
SWITCH
1250
LDA
T^IEN
;Alle Interrupts
1260
STA
TEMP
; sperren!
1270
LDA
»0
1280
STA
NMIEN
1290
WTSTRT
1300
LJ>A
COINSOL
;Harten bis die
1310
CHP
«6
; 'START'-Taste
1320
8NE
WTSTRT
^gedrueckt wurde.
1330
MSlJCAR
1340
asR
NCARTT
j Neue Car t _-Check-
1330
;
5uiwne berechnen.
1360
retturn
1370
LDA
TEMP
; Interrupts frei—
1380
STA
MMIEN
;geben.
1390
RTS
1400
?
1410
ASTRT
1420
»=
«02E0
1430
.MÜRD SWITCH ; Autostart-Eile
1440
9
erzeugen t
Listing 2. Dieses Assembier-Programm
dient zum Umschalten zwischen dem
CES und einem eingesteckten ROM-
Modul
beim Laden vom DOS automatisch in
den dafür vorgesehenen Speicherraum
geschrieben.
Es muß aiso im Prinzip folgenden Auf¬
bau haben, damit es in den Speicher
des CES geladen werden kann:
- Lade einen Wert, beispielsweise 0,
nach $D510 (RAM-Betriebsarl des
CES).
- Lade die Daten für den Adreßraum
$A000 bis $BFFF in das CES.
- Lade einen weiteren Wert nach
$D500 (ROM-Betriebsart des CES).
Die Vorgehensweise für das Laden
von Daten in das CES geschieht folgen¬
dermaßen:
1. Den Computer und die Pufferung
des CES ausschalten.
2. DlP-Schaiter für die entsprechende
Betriebsart einstellen.
3. Schalter SW 1 auf Stellung »CES«.
4. Computersystem booten und Puffe¬
rung des CES einschalten.
5. Das File mit oben beschriebenem
Aufbau vom DOS aus laden.
Die über DOS geladenen Daten befin¬
den sich nun im CES.
16-KByte-Cartridge im Adreßbereich
zwischen $8000 bis $6FFF.
Hierbei handelt es sich um zwei
8-KByte-Cartridges, die einen zusam¬
menhängenden Adreßraum des Com¬
puters überdecken. Eine Kontrolle von
Basic aus ist auch hier dadurch verhin¬
dert, daß das Basic von der oberen
Hälfte des 16-KByte-Bereichs überla¬
gert wird und somit nicht zugänglich ist.
Es bleibt nur noch der Weg über die
Maschinensprachebene.
16-KByte-Switcli-Cartridge im Adre߬
bereich zwischen $A000 bis $BFFF
Wie aus Bild 1 ersichtlich handelt es
sich hier um eine etwas komplexere
Betriebsart. Das CES bietet die volle
Speicherkapazitätvon 16 KByte, belegt
aber nur 8 KByte Adreßraum im Compu¬
ter. Dies macht das sogenannte Bank-
Switching möglich. Der Bereich von
$B000 bis $BFFF ist normalerweise
immer eingeblendet. Ein dort befindli¬
ches Maschinenprogramm kann nun
durch Zugriff auf bestimmte Speicher¬
stellen zwischen $D500 bis $D5FF
einen der drei Speicherbänke im
Bereich $AOOO bis $AFFF aktivieren
und zu einem dort befindlichen Unter¬
programm verzweigen. Nach Abarbei¬
tung des Unterprogramms erfolgt der
Rücksprung in das aufrufende Pro¬
gramm im Bereich von $B000 bis
$BFFF. Jetzt kann noch eine andere
Bank eingeblendet werden, um even¬
tuell ein dort vorliegendes Unterpro¬
gramm auszuführen.
Mit Hilfe dieser Technik passen
16-KByte-Modu!e in nur 8-KByte-
Speicher! Die einzelnen Speicher¬
bänke werden durch Zugriff auf fol¬
gende Adressen aktiviert: ■
Adresse
Sank
$D5X0
Bank 1 (untere 4 KByte in IC 1)
$D5X3
Bank 2 (untere 4 KByte in IC 2)
$D5X4
Bank 3 (obere 4 KByte in IC 1)
X=0
> ROM-Betriebsart
X=1
> BAM-Betriebsart
Nach diesem Prinzip arbeiten übri¬
gens auch die Super-Cartridges von
OSS. Will man ^fhvare in dieser
Betriebsart ins Cartridge laden, so ist
schon während des Ladevorgangs von
Disk die Hardware des CES auf die ent¬
sprechenden Speichersteilen im
Bereich ab $D5XX einzustellen. Ein
Programmfile sollte also folgenden Auf¬
bau haben:
1. Lade einen Wert, beispielsweise 0,
nach $D510 (entspricht RAM-Betrieb
des CES und Bank 1 ist eingeschaltet).
2. Lade die Daten für Bank 1 nach
$A000 bis $AFFF und unmittelb^
danach den Bereich von $B000 bis
SBFFF.
3. Lade einen Wert nach $0513 (ent¬
spricht dem RAM-Betrieb des CES.
Bank 2 ist eingeschaltet).
4. Lade die Daten für Bank 2 nach
SAOOO bis $AFFF.
5. Lade einen Wert nach $0514 (ent¬
spricht RAM-Betrieb des CES. Bank 3
ist eingeschaltet).
6. Lade die Daten für Bank 3 nach
$A000 bis $AFFF.
7. Lade einen Wert nach $D500 (ent¬
spricht ROM-Betrieb des CES. Bank 1
ist eingeschaltet).
Das Programm befindet sich nun im
CES und kann aufgerufen werden.
Soviel an Hinweisen zum Gebrauch
des CES (für Anwender), die eigene
Cartridge-Programme schreiben wol¬
len. Es würde den Rahmen sprengen,
hier noch auf Details einzugehen, wie
zum Beispiel das Betriebssystem die
verschiedenen Cartridgearten behan¬
delt, wann ein Cartridge-Selbststart
erfolgt und wie das Betriebssystem
registriert, ob ein Cartridgewechsel
erfolgt ist. Mehr dazu kann man der ent¬
sprechenden Literatur entnehmen
(zum Beispiel DeReAtari, Atari 600 XL/
800XL inter von Data Becker) oder
durch Experimentieren herausfinden.
CES erlaubt also, wie schon zu
Beginn bemerkt, den Inhalt von norma¬
len Cartridges herauszufinden. Im Prin¬
zip geht das folgendermaßen vor sich:
- Im Cartridge-Slot der CES-Platine
befindet sich das zu untersuchende
Cartridge
- Das CES wird auf die gleiche Be¬
triebsart wie das Cartridge einge¬
stellt.
- Mittels eines kleinen Maschinenpro¬
gramms wird der Inhalt des Cart¬
ridges ins RAM kopiert.
- Anschließend wird auf CES-Betrieb
umgeschaltet, und die im RAM vorlie¬
genden Daten werden, ebenfalls mit
einem kleinen Maschinenprogramm,
ins CES verlagert.
Oer Inhalt des CES kann nun mit
einem Monitorprogramm untersucht
und disassembtiert werden. Schaltet
man das CES auf RAM-Betrieb, so las¬
sen sich auch Änderungen vornehmen.
Ebenso besteht die Möglichkeit, den
Inhalt des CES auf Diskette,zu spei¬
chern und später wieder zu laden.
Das in Listing 2 abgedruckte Pro¬
gramm erledigt den Datentransfer zwi¬
schen Cartridge und RAM, zum Bei¬
spiel für ein 8-KByte-Cartridge im Spei¬
cherbereich zwischen $A000 bis
SBFFF. Eine Änderung dieses Berei¬
ches läßt sich recht einfach realisieren.
Das Programm kopiert die Daten aus
dem Speicherbereich zwischen
SRCBOT und SRCTOP (im Listing bei¬
spielsweise SAOOO bis SBFFF) in den
Speicherbereich ab DSTBOT (im Listing
beispielsweise $6000 bis $7FFF).
Dieses Programm wird assembliert und
unter dem Namen »READOUT.COM«
auf Diskette gespeichert.
Dann wird das Programm noch einmal
assembliert, jedoch mit den Adressen
$6000 für SRCBOT, $7FFF für
SRCTOP und SAOOO für DSTBOT und
mit dem Namen »WRITECES-COM«
auch noch auf Diskette gespeichert.
Und so wird’s gemacht:
16
1. Computersystem und CES-
Pufferung ausschalten.
2. Zu untersuchendes Cartridge in
den Slot des CES stecken.
3. Betriebsart des CES entspre¬
chend dem zu untersuchenden
Cartridge einstellen.
4. Schalter SW 1 in Stellung »CES^c.
5. Schalter SW 2 in Stellung »Soft¬
switch«.
6. Computersystem und Pufferung
des CES einschalten.
7. Bootprozeß abwarten, bis sich das
DOS meldet.
8. Das Programm »READOUTCOM«
vom DOS aufmfen.
9. Schalter SW 1 auf Stellung »Cart.«
schalten.
10. STARTTaste drücken und abwar-
ten, bis sich das DOS wieder mel¬
det.
11. Programm »WR1TECES.COM« vom
DOS aufrufen.
12. Schalter SW 1 auf Stellung »CES«
schalten.
13. STARHRaste drücken und warten,
bis sich das DOS wieder meldet.
Im CES befinden sich nun die glei¬
chen Daten wie in dem zu untersuchen¬
den Cartridge Jetzt läßt sich der Inhalt
des CES beispielsweise mit einem
Monitorprogramm wie Bug/65 untersu¬
chen und disassemblieren.
Soviel zum Umgang mit dem CES.
Wie der Name schon sagt, handelt es
sich um ein Experimentiersystem.
Beschäftigt man sich intensiv mit dem
System, so wird man bestimmt noch
andere, hier nicht aufgeführte Betriebs¬
arten entdecken.
Zum Schluß noch einiges zum hard-
w^emäßigen Aufbau der CES-Platine.
Wie bereits erwähnt, erfolgte die Reali¬
sierung der Schaltung mit einer 100 mm
X 160 mm großen, einseitigen Lochra¬
sterplatine mit Lötpunktraster. Die Ver¬
drahtung ist in Fädeltechnik ausgeführt
und deshalb schnell durchführbar. Zu
einem späteren Zeitpunkt könnte man
sich natürlich auch eine Platine entwer¬
fen. Auch Änderungen lassen sich
schnell und einfach vornehmen.
Schließlich handelt es sich um ein
Experimentiersystem.
Die nötigen Anschlüsse zum Cart-
ridge-Slot des Atari-Computers sind auf
Pfostenfeidstecker {2 x 15 Pole)
geführt. Die Verbindung zum Cartridge-
Slot des Atari übernimmt ein 30adriges
Flachbandkabel. An der Seite zur CES-
Platine ist eine 34polige Pfostenfeld¬
buchse in Schneidklemmtechnik ange¬
preßt. An der Cartridge-Slot-Seite zum
Atari ist das Flachbandkabel an eine
doppelseitige Streifenleiterplatine an¬
gelötet und mit Zwei-Komponenten-
Klebstoff fixiert.
(H. D. Jankowski/wb)
PIA - die dritte
Schnittstelle
Mit sehr einfachen und preiswerten Mitteln läßt sich sogar eine
selbstgebastelte Zusatztastatur an Ihren Joystick-Port anschließen.
A Die Zusatz¬
tastatur läSt sich
problemlos in
einem handlichen
Gehäuse unter¬
bringen.
PROGRAMM-STECKBRIEF
Program mname
PIA-Steuerung
Program mtyp
Utility
Programm ie rsprache
Basic und Maschinensprache
Programmlänge
insgesamt 6272 Byte
lür Computer
800 XL/130 XE
zusätzliche Hardware
laut Bauanleitung
Eingabehilfe
Prüf Summer
Bemerkung
In Verbindung mit der Zusatzschaltung
läßt sich eine Tastatur oder ein Schalt-
Interface steuern
Leserservice
Diskette (P!A1.BAS/PiA2.BAS)
0 as ganze Geheimnis der
< Joystick-Schnittstelle ist die
sogenannte PIA. Es handelt sich
hier um einen Standardperipheriebau¬
stein des Typs 6520. Dieses Bauteil
verfügt unter anderem über zwei 8 Bit
breite Ports, die sich sowohl für die Ein¬
ais auch für die Ausgabe von Daten nut¬
zen lassen. Wie man diese Ports ver¬
wendet, ist dabei softwaremäßig völlig
frei programmierbar. Leider macht sich
hier jedoch ein Nachteil der Atari XL-
und XE-Generation deutlich bemerk¬
bar. Während die alten Modelle noch
über vier Joystickports verfügten,
sparte man bei den neueren Modellen
zwei Ports ein. Durch diese Einschrän¬
kung konnte^ der zweite Port der PIA
natürlich nicht mehr nach außen geführt
werden. Besitzt man also ein neueres
Gerät, so kann man nur noch mit einem
der beiden PIA-Ports arbeiten und ver-
17
fügt statt über insgesamt 16 Datenbits
nur mehr über 8. Selbst ein hardware¬
mäßiger Eingriff, bei dem man den feh¬
lenden Port nach außen führen würde,
ist nicht durchführbar. Dieser Port über¬
nimmt nämlich nun andere Aufgaben,
vor allem in der Zusammenarbeit mit der
MMU {Memory Management Unit oder
Speicherverwaltungseinheit}.
Dem Atari geht ein
Licht auf
Im Normalzustand ist die PIA auf Ein¬
gabe programmiert. So ist es einsichtig,
daß man bei der Auslenkung des Joy¬
sticks eigentlich nichts anderes tut, als
einzelne Bits des Ports zu setzen oder
zu löschen. Aus dieser Tatsache erklä¬
ren sich auch die auf den ersten Blick
etwas kuriosen Werte, die man mit Hilfe
des STICK-Befehls erhält. Lenkt man
den Joystick nicht aus, erhält man bei¬
spielsweise den Wert 15. Dies bedeu¬
tet, daß alle 4 für einen Joystick zustän¬
digen Bits gesetzt sind (1111 binär
ergibt 15 dezimal). Ist der Joystick nach
Auf der abgebildeten Testplatine wurden
einer Lochrasterplatine realisiert
Oben gelenkt, so wird das niedrigste Bit
gelöscht und man erhält den Wert 14
(1110 binär ergibt 14 dezimal). Welche
Joystickbewegungen die einzelnen
Bits beeinflussen, können Sie aus
Tabelle 1 entnehmen.
Will man nun die Daten der PIA abru-
fen, erweist sich die STICK-Funktion
nicht als besonders sinnvoll Zum einen
die Schaltungen von Bild 2 und Bild 3 auf
erfaßt man pro Befehl nur 4 Bit, zum
anderen lassen sich mit diesem Befehl
keine Daten an die PIA senden. Deshalb
bedient man sich besser direkt der hier¬
für vorgesehenen Speicherstellen. Je¬
dem der beiden PIA-Ports sind zwei
Speicherstellen zugeordnet. Einmal
das PIA-Register, das die zu senden¬
den oder zu empfangenden Daten ent¬
hält Dann das Datenrichtungsregister,
das festlegt, welche Bits des PIA-Regi-
sters für die Eingabe beziehungsweise
Ausgabe verwendet werden (die dafür
relevanten Adressen finden Sie in
Tabelle 2).
Pin-Nr
Richtung
PJA-Bit SnCK-Wert
1
vorwärts
0
14
Joystick
2
rückwärts
1
13
Porti
3
links
2
11
4
rechts
3
7
1
vorwärts
4
14
Joystick
2
rückwärts
5
13
Port2
3
links
6
11
4
rechts
7
7
Tabelle 1. Für die Modelle 400/800 gel¬
ten dieselben Werte für Joysttckan-
schluß 3 und 4
Port A
54016
Port B
54017
Port A DRR
54018
Port B DRR
54019
Joystick 1
632
Joystick 2
633
Joystick 3
634
Joystick 4
635
Tabelle 2. Der Zusatz »DRR« steht für
»Datenrichtungsregisteru. Die Adressen
für Joystick 3 und 4 betreffen nur die
alten Modelle.
^ Bild 1. Schaltplan für eine
Zusatztastatur
P8
V
[8 1
74148 d
9 X6
T
J00
I
8 1
74148 C
9 16
P4}
P2>—
i^14
O
O
T
*-CP7
-<P1
CP3
12
Taster, Typ Digitast
2
IC 74LS148
1
fC 74LS00
1
Stecker 9pol.
1
Kabel 6pol.
1
Gehäuse
1
Lochrasterplatine
Bauteileliste für eine ZusatztaStatur
TO-TY Anschlüsse für die 12 Tasten
0_jr*T —1
1 ■■ Masse an P8
Pl-PS Pinnummer am Stecker
2um Computer
1 2 3 4 5
U o o o 0 /
\ o o O o I
6 7 8 9
Pin 5, 6 und 9 werden nicht belegt
18
Die Programmierung der PIA geht fol¬
gendermaßen vor sich. Zuerst teilt man
dem entsprechenden Datenrichtungs¬
register mit, daß die nächste Anwei¬
sung an den Port die DatenfluBrichtung
festlegen soll. Dies geschieht, indem
man den Wert 48 in das Register
POKEt. Der Wert für die gewünschte
Flußrichtung ergibt sich dadurch, daß
man für jedes Datenbit, das auf Aus¬
gabe programmiert werden soll, eine
logische Eins und für jede Datenleitung
zur Eingabe eine logische Null eingibt.
Will man also beispielsweise alle acht
Leitungen zur Ausgabe benutzen,
ergibt dies den Wert 255 (oder binär
Daten rein oder raus?
11111111). Für die Eingabe aller acht
Leitungen ergäbe sich also der Wert
Bild 2. Schaltplan zum
Ansteuern von vier
Kanälen.
Die abgedrucicte
Schaltung wird in
zweifacher Aus*
führung benötigt, falls
Sie alle acht Kanäle
ensprechen möchten.
Null (binär 00000000). Man kann also
ohne weiteres auch beide FluBrichtun-
gen gleichzeitig festlegen, indem man
sich den entsprechenden Wert errech¬
net.
Der nächste Befehl bezieht sich nun
wieder auf das Datenrichtungsregister.
Man stellt den Normalzustand durch
POKEn des Wertes 52 her. Nun ist das
Port-Register nur noch für die logischen
Zustände der Ein- und Ausgabe verant¬
wortlich. Belegt man diese Speicher¬
stelle also beispielsweise mit dem Wert
Null, so würden alle Ausgänge den logi¬
schen Wert Null annehmen. Die Hard¬
ware, die man benötigt, um tatsächlich
externe Vorgänge zu Steuern oder zu
erfassen, kann sich relativ einfach
gestalten. Die Logikpegel der PIA ent¬
sprechen nämlich dem TTL-Standard.
Dies bedeutet, daß die auszugebenden
Informationen ohne Probleme durch
recht preiswerte integrierte Bausteine
weiterzuverarbeiten sind. Bei der Ein¬
gabe genügt es sogar im einfachsten
Fall (wie es beispielsweise bei den Joy¬
sticks praktiziert wird), einen Eingang
auf +5 Volt zu legen, um ein logisches
Signal »Eins« zu erhalten.
Die Zusatztastatur
Als ein Beispiel, wie man externe
Daten aufnehmen kann, wird hier eine
Zusatztastatur beschrieben. Diese Ta¬
statur besteht aus 12 Tasten, könnte
aber auf bis zu 15 erweitert werden.
Neben den Tasten besteht diese Schai-
tung im wesentlichen aus nur drei ICs.
Einem 7400, er enthält vier NAND-Gat¬
ter und zwei ICs des Typs 74148. Dies
sind sogenannte »8 zu 3 Prioritäts¬
encoder« (der Schaltplan für die Zu¬
satztastatur ist Bild 1 zu entnehmen).
Der Vorteil dieser Schaltung liegt darin,
daß ein einziger Joystickport ausreicht.
Es werden nur vier Datenleitungen be-
©-
4.7 kÖ
HZZF
BC 107 e
560 Q
ilED
ist Pin 1-4 auf
Port A und Port B
1 2 3 4 5
\o o o oo/
\ O o O o/
7 8 9
©0
1
Transistor BC 107
1
Widerstand 4,7 kOhm
1
Widerstand 560 Ohm
1
Leuchtdiode
1
Stecker 9pol.
Bauteileliste für einen Kanal
1013
REM
^Ül>
110
REM *2USATZTASTATUR*UEEER*
<MW>
120
REM ^DIE^PIARABERAGEN-
<AR>
130
REM *****„^^^.^^**...*******
<oo>
140
REM .-.von^Wol^qangACzerny.*.^
<CC>
150
REM ******^^^*—^—---
<OB>
160
GRAPHICS 0
<SS>
200
X=PEEK(632)
<AN>
210
IF THEN 200
<WU>
220
? "1>IE*GETIPPTE^ZAHL*LAUTET*: " ; X“1
<VS>
230
GOTO 200
<LX>
A Bild 3. Gepuffer¬
ter Ausgang für
einen Kanal Ent¬
sprechend werden
acht Schaltungen
benötigt, um alle
Kanäle anzuspre¬
chen.
M Listing 1.
Ein kurzes
Beispielsprogramm
zur Tastaturabfrage
19
nötigt, um die maximal 16 verschiede¬
nen Zustände zu melden. Die Versor¬
gungsspannung für die ICs wird dem
Joystick-Port entnommen, so daß man
ohne zusätzliches Netzteil auskommt.
Usting 1 zeigt, wie man die Tastatur
abfragen kann. Ist keine Taste gedrückt,
erhält man den Wert Null, ansonsten
einen Wert zwischen 1 und 11.
Auch die Datenausgabe ist hardware¬
mäßig einfach zu realisieren. Die Schal¬
tung in Bild 2 zeigt, wie man mit nur zwei
ICs, acht Widerständen und acht
üeuchtdioden bereits die logischen
Zustände aller Datenleitungen sichtbar
machen kann. Da sich die Gesamt¬
schaltung aus zwei identischen Teilen
zusammensetzt, sieht man in Bild 2 nur
den Aufbau für vier Kanäle Die beiden
ICs des Typs 7417 übernehmen hierbei
die Aufgabe der Pufferung. Sie sind not¬
wendig, um die PIA vor Überlastung zu
schützen. An die Ausgänge der Puffer¬
bausteine kann man nun wie in unserem
Beispiel, Leuchtdioden, aber auch
Optokoppler oder TTL-kompatible
Kleinrelais anschließen.
Daten sichtbar gemacht
Bis ZU diesem Punkt kommt man auch
mit dem Schaltinterface mit der Strom¬
versorgung der Joystickports aus. Es
ist somit kein zusätzliches Netzteil
erforderlich. Begnügt man sich mit der
Steuerung von Leuchtdioden, so kann
man auch die Schaltung in Bild 3 ver¬
wenden. Auch hier gilt: Die abge¬
druckte Schaltung in Bild 3 bezieht sich
wieder auf nur einen Kanal.
Pro Datenleitung benötigt man zwei
Widerstände, einen Transistor und eine
Leuchtdiode Auch hier wird ein Puffe¬
rungseffekt erreicht, da der Strom der
Leuchtdiode nicht mehr über die PIA,
sondern über den Transistor läuft.
Das etwas umfangreichere Listing 2
zeigt, wie man diese Schaltungen
ansteuern kann. Neben einem program¬
mierbaren Lauflicht ist auch eine Zeit¬
schaltuhr realisierbar, die eine der
Datenleitungen zu einem vorgewählten
Zeitpunkt ein- oder ausschaltet. Um das
Lauflicht schnell genug zu machen, ist
eine Maschinenroutine in das Listing
aufgenommen worden. Sie verschiebt
den Registerinhalt des Ports A jeweils
um 1 Bit nach links oder rechts, abhän¬
gig von der Einsprungstelle. Alles wei¬
tere kann man dem Usting selbst pro¬
blemlos entnehmen.
(Wolfgang Czerny/wb)
Listing 2. Mit diesem Programm kann ^
die Schaltung von Bild 2 als Schalt¬
uhr eingesetzt werden. Weiterhin ist
noch eine Lauflicht-Funktion einge¬
baut
1 ft KBMTRDLLE
LlO REH
120 REH
130 REH
150 REM .^PQKE.J5i401B.
J 40 REH CMTUMIia-_
170 REH STEFuODRfl,..,.,,... ^ ^ ^ ^ ^
ISO REH .^POKE^540 IS . 255L.SETZ
1^0 REH
200 REM ^POKELJ54019,52^5ETZT,..DrtftfW^
210 REM
220 REM ^P0KE..^54O16, Ü^SETZT,..ftLLE,.^....^
230 REM ..■.-..■..■..■...B l TS^jfltJF...LOg
240 REM ^^^^^^^ 1.-^ ^^^^^ .1..1.A..
250 REM f
300 P1=5401d.: P2=5401S: DI M R_ C7) , DAT* C 4C»
,EXN1.£3^
310 EOSufi 9OO0sGOSuB lOOOO
490 REM -
500 REH WHJPTMFMUE
510 GRAPHICS 0:PaK£ 752,1
515 PDKE 709,255:P[JKE 710,0
520 REBTORE 11000
530 FOR 1=2 TD 16iHEäO DAT*
540 POSITION. e,I:? DAT*
550 KEXT I
700 OPEN »1,4,0, “(C:-iGET #1,K;C1_0S£ #1
710 3F K<49 OR K>53 THEN 700
720 OH IC-4Ö GCSUB 1000,2000,9000,5000,15
OOO
SOO GOTO 500
REM----
JOOO REM .J4=*JF1LICHT,..
10 lO 7 CHRt U25) 5 PDKE 752* J ; RESTÜftE:
500
1020 POSITION 1,4*2; 7 "LAUFE ICHT"
1030 POSITION 14,3:? “iCTL R>tCTE RJtCTL
R>^CTL RTtCTE RJ^CTL R>CCTE RICCTE CC
Ti_
1040 PQR 1=5 TO U:REOD DAT»
1050 PCßlTION 3,1:? DAT*
1060 I^XT I
lllO READ DAT*:POSITION 2*15:? DAT*
H2Ü POEITICIM 2,10r? -CSHlFT *1; CHR* £2
7}; CHR*t30); inks.,^SHIFT =>-J‘;C
HR* t27^ ;CHR* 1 i ’-^Cui‘*or_r&=hta_<SHlFT
=>-
1130 FDR 1-17 TO 71zREfiI> MT*
1140 POSITION 2,1;? DAT*
llSO NEXT 1
lieO POSITION 33,10:? "C"
1190 PQK5E 764,233:F=0:C:P=33
1195 FOR 1=0 TO 7;FL<I>=-0:NEXT J
1200 TC-PEaC£764>:3C=PeEK<53279>
1210 IF TC=6 THEN POSITION CP,!*;?
ft<3:^4:F=F+l:GCTa 1300
1220 IF TOp 7 THEN POSITION CP, lO: ? C
p=Ca>+4:F=F-t:SIT0 1300
1230 IF TC-2S OR TC-33 THEN PLiF>={33=TC
>=GOTO 1400
1250 IF SO«* THEN ISOO
1200 IF SC=^5 THEW 500
1270 IF SC-3 THEN EDIT-l:GOTO lOOö
12S0 GOTO 1200
1300 IF F<0 THEW F-7iCP-«
<SD>
<D1>
Cl-rt>
<UB>
<D0>
<«M>
iZ2>
<UW>
tLO>
<UD>
<AJ>
<TW>
<ME^
<DP>
<RD>
<DT>
<ZN>
<ve>
<It*>
<HA>
<CH>
<AR>
<N1>
<AQ>
CGF>
<IJF>
ClOC>
CTGi
CATy
<GI>
<SV>
<:CT>
<XI>
<uvi.
<CE>
<FH>
<DB>
<LA>
<GW>
<BD>
<FS>
<EH>
<IP>
K JT>
<l*i>
CHN>
CIOJ
<SQ>
<EM>
<007
<nu>
<oo>
<FE>
1310 IF F>7 THEH F=0:CP=33 <flU>
1340 POSITION CP*10:? ~C' <Ca>
1350 POKE 7*4,255: GOTO 1200 <TL>
1400 IF FL(F1-0 POSITION CF, 7:? <PD>
1410 IF FECF>=1 THEN POSITION CP,7:?
<EV>
1420 POKE 704,255:eaTO 1200
1500 FUSITION 2*23i7 "L-E I NK^OTAT 1 ON.*/..
R=RECHTSRÜTAT EON**;
1510 OPEN •1*4,0, "Kp "-CUT •1,K:CE0SE Itl
1520 IF K<>7i AND KOB2 THEN 1510
1530 IF K=7A THEN SHIFT=I534.
1340 IF k-BS T1^ EH1FT=1555
1690 REM BINAER-BEI 11HUAMIH.UHG
1700 HERT-O^FOft t-*0 TD 7: X =FL< I > : WERT=«E
RT+2^I*i!:NEXT I:POKE PI.WERT
170= HCM START LAUFEICHT
1710 BC=PEEK£532793
1720 IF SC»3 TmEN ElilT=l:SOTO 1000
1730 IF SC=5 TUEN GOTO 500
1750 COSUß SOOOsX-USft{SHlFT)
1760 GOTO 1710
1979 REH ----
2000 REM BIKAERZAEHLER
2010 FOR Y=t TO 10:FaR 3-*0 TD 2SzPClKE P
l*liGDSuB SOOO:NEXT I:NEXT Y
2020 RETURN
2999 REM-——--
<TE>
<E!N>
<YY>
<DC>
<:ga>
<A5>
<yi,ü>
<HZ>
<JA>
<XL>
<MR>
^GZ>
<TR>
<RM>
-CEW>
CWE>
<OV7
<Pft>
<EX>
-£WY>
<GC>
<SA>
<YR>
<AX>
5000 REM SCHALTEHR
5010 ? CHR*<J25J
3020 POSITION 2,7:? “WBLCHEM^KANAL^SCWAL
TEN* 11-83-.";;rwVT KANAL
5030 EF KAHAECl OR KANAL>9 THEN 5010
5035 POSITION 2,9:? "MOLtJEK*SIE*ElN--JaDe
R* AUSSCHÖLTEN"
5040 PQSITIf3N 2, ll:? “EIN=1 *AUS=0-*"; =
UT EIN <WT>
5050 IF EIN<0 OR EIN>1 TfON 5040 <TO>
5090 IF E;II4#0 TMEN POKE Pl,233 <AD>
5100 IF EIN=1 THEN POKE P1,0 ■£hG.>
5110 PaSITlDti 2,13;? “GESENKSIE*DIERHÖHE
NTAWE^UffftZEIT-EIN“ <UF>
5120 POSITION 2,14:? “<STD,MIN,SEC3:I
NPGT STD,MIN,SEC <ICDi
5130 IF STÜ>23 Oft STIKO Oft HlN>S9 Oft MIN
<0 OR SEC>59 OR BEC<0 THEN 5120 <TC>
5140 UPl-tSTD*3600-t'flEN^^60+S£C)*5C) <EK>
5150 UP2=INTtUPI 725672563 CFC>
SlSS UPl-UPl-ÜP2-2S6*256 <DG>
51*0 UP3= INT ^UPl 7256 > = UPI "UP 1 -IJP3*236 CKL >
3163 PDKE lO,UP2:POKE 19,UP3:P0KE 20,UPI <ia>
5170 POSITION 2,16=9 "GEfiEhLSlE-D 1E..5CHA
LTZEIT^EIN" <SL>
5130 PCSiTlON 2*17:9 " CSTD, MIM, SEC3
NPUT 5T1>1,MIN1,SEC1 <KX>
5l9o IF STD1>23 Oft STDlCO Oft MlNl>59 OR
MINKO DR SEC1>39 DR SEC1<0 "mEN 5190 <JB>
SCHALTlJ-lFLJ_A£UFT "
5200 ? CHR*11253
5210 POSITION H,4z9
5220 POSITION 11,5:? "-——-"
S230 IF EIH^ THEN EIKt="AU3"
5240 IF EIN=1 TTEN ElM*-"£lPJ-
5250 POBITIOW 1,9;? "KANAL-" ;KANALi ".*WIR
D*UM*-:STD1: ":-:MjNlj i-: "!S£C1;"...-;EIN»; "
geschaltet-
5300 Ui=PEEK(lB> :U2=PE]EK<19> l:U3=PEEKf2Ü>
5310 U1=INT< fUl*250*2S*+U!2*256-HJ33/5O3
5320 U2“INTfU17S600>;Ul=Ul-U2*36O0
5330 U3-IHT £Ui/60) :U1=UHJ3*60
5340 U2=U2-244(U2>-24>
53SÖ ftOSlTlOW 10,12:? U?;;U3;":"jUl
5360 POSITION 10,12:? U2;":";U3:":"iUl
5380 IF BTD10U2 OR MIN1<>U3 Oft SeC;I^>Ul
TFEN 3300
5390 IF ElN-1 TFCN POKE Pl * 2 ''ckAnAl-I >
5400 IF EIN=0 THEN POKE Pt,0
5900 RETURN
BOOO REM VERZQEGERur^SCHL£IFE
0O1O FOR DELAY=1 TD 50:HEXT DELAY
B020 «ETURH
9000 ft£M LOeSCHEN LEOS PORT 172
9010 POKE P2,48
9020 TOKE PI,255
9030 POKE P2,52
9040 POKE PI,0
9050 RETURN
9999 REM --—---
10000 REM Maschinen File laden
lOOlO RESTQRE lOIÜO
10020 FOR A^1536 TO 1579: READ D:PaKE A,D
iNCXT A
10030 REM LINK3=1536 / RECHTS=1555
10090 RETURN
lOlOO DATA-104,24,173,0,211,10,176,3*76,
39,6,141,43*6*169,1,76,35
10310 DATA..6, 104, 24, 173,0,211,74, 176*3*7
6*39,6,141,43,6,169,120,24
10120 DATA..109,43, 6, 141,0,211,96,0
llOOÜ REM DATASJ«UPTMENIJE
llOlO DATA
11020 DATfl^HflUPTMENU
11030 DATA
11040 DATA
llöSO DATA^1_-.*LAUFLICHT
11060 DATA
11070 0ATA^2—-B3NA£ft..LAUF
llOeO DATA
11090 DötA^Z^-^AULC^LOEiSChCN
11100 DATA
llllOi DflTA.4---SCMALTLIFR
11120 DATA
11130 DATA-.5^--END£
L1140 DATA
11150 data
12000 REM OATAS-LAuFLlCHT-.f£7«JE
12010 DATA-tCTL Q^^CTL R><CTL RliCTL R>T
CTL «XCTL RitCTL RTCCTL fti^CTL W5<CTL ft
TCCTL RXCTL R> tCTL «> TCTL n> iCTL R> CCTL
RiCCTL W3CCTL H7CCTL ftlCCTU ft7CCTL WltC
TL R>CCTL RJtCTL R>CCTL MJfCTL RJ<CTL R>
CCTL ft>iCTL WjiCTL ftS CCTL ftXCTL ftSKCTU
12020 DATA-CSHIFT =>-**^TSHIFT =5.*^TSHIF
T «.7 ^CSHIFT -1 .^CSHIFT CSHTFT ■>
— <SHIFT =>-—fSHIFT => —tSHIFT =>
12030 DATA^iSHlFT _ <SkiFT -I^^CSmIF
T =>--^tSHIFT —iSHlFT =>--.-.^SHIFT =J
^^tSHlFT -1_iSHlFT _tSHlFT
12040 DATA-<SHIFT =>-^^SHIFT =>-.**^<SHIF
r _iSHlFT "S_CSHIFT -1_tSHlFT *^5
**-.TSHIFT =J-**TSHIFT =5-*-TSHIFT =J
L20a0 DATA-^CTL A>£CTL RI CCTL RXGTL RI t
CTL S>teTL RJCCTL R>^CTL RJ<CTL S>tCH. R
>^CTL RTtCTL Rl-iCTL SXCTL RJ iCTL R> tCTU
RliCTL S1iCTL ftliCTL CCTL R> <CTL 55 ^C
TL RXCTL R>^C7L R> CCTL B> ^CTL RTICTL R>
iCTL RJtCTL SICCTL R>tCTL R5iCTL R>(CTL
12060 D6Tfl*<3HlFT =>-.**<SHIFT =J***T34JF
T »5 -tSHlFT -5.*.*^tSHIFT -5 iSH I FT *5
—:shift =j**xshift =t***;shift =>
12070 DATA-tCTL 7>^CTL ft>tCTL ftlCCTL ftj£
CTL X5<CTL R>CCTL R;<CTL R>tCTL XStCTL R
5^CTL Rl<CTl_ ft>€CTL X>(CTL ft>^CTL ftXCTL
R>^CTL XXICTL RI-CCTL RXCTL RJ ^CTL X> tC
TL ftl<CTL ftitCTL ftliCTL X>iCTL ftl CCTL ft>
CCTL RXCTL XJ CCTL RXCTL ftJ CCTL ftj CCTL
120B0 DATA-CCTL QiCCTL B7CCTL RJCCTL R>C
CTL RJCCTL RTCCTL RI CCTL RXCTL ftl CCTL R
7CCTL RXCTL ftJCCTL RXCTL RXCTL RJCCTL
RXCTL R>CCTL W> CCTL R5 CCTL ft> CCTL ftl CC
TL RlCCTL RXCTL RJ CCTL RXCTL RJ CCTL R>
CCTL RXCTL R> CCTL RI CCTL ftlCCTL ft^CCTL
ft>CCTL RJCCTL RJCCTL EJ
12100 DATA-.CCTL ft> CCTL RXCTL R> CCTL RI C
CTL ftjCcTL R7CCTL RXCTL RJ CCTL RJ CCTL R
> CCTL R> CCTL R> CCTL R5 CCTL Ri<CTL Ri<CTL
RJCCTL RJCCTL S>CCTL R>CCTL R>CCTL RiCC
TL RiCCTL RJCCTL RJCCTL RJCCTL RJCCTL RJ
CCTL RiCCTL RiCCTL RJ CCTL R> CCTL RJ CCTL
RJCCTL RJCCTL RJCCTL DJ
12110 DATA-CSHIFT =>-Space—=^-SeT.*.*CSMI
FT =.J...Evc-=^UN3ET-^™CSHIFT
12120 DATA.-CCTL Ai CCTL Ri CCTL Ri CCTL Ri C
CTL RJCCTL RJCCTL RJCCTL RJCCTL RJCCTL R
JCCTL WXCTL RJCCTL RJCCTL RJCCTL RJCCTL
ftXCTL RJCCTL XlCCTL ft J CCTL ftXCTL ftJ CC
TL RJCCTL WJCCTL RJCCTL RJCCTL RJCCTL RJ
CCTL RJCCTL ftXCTL ft J CCTL ft JCCTL ftXCTL
RJCCTL RJCCTL RJCCTL DJ
1213D DATA^CSHIFT »JCTAftT^RUNCSMIFT »JSE
LECT^HefMiO-tlFT =JOPTrON^di t-CSHJFT =J
12140 DATA-CCTL ^ICCTL ft>CCTL ftiCCTL ftX
CTL RJCCTL RJCCTL RJCCTL RJCCTL RJCCTL R
JCCTL XXCTL RJCCTL fti CCTL RJCCTL RJCCTL
RJCCTL RJCCTL RJCCTL RXCTL RJCCTL RXC
TL ftXCTL KXCTL fti CCTL RJ CCTL RJCCTL RJ
CCTL RJ CCTL RJ CCTL RJ CCTL RJ CCTL RJ CCTL
RJCCTL ftiCCTL RJCCTL CJ
15000 END
CGD>
CJN>
CGPi
<FY>
<SS>
<UFi
<DD>
<BM>
CROJ
■<XG>
<HM>
<KYi
CLB>
<MF>
<DH>
<GZ>
<PP>
CFO
<IK>
<0F>
CftCii
<FD>
<QQ>
<DI>
CEUi
CAQ>
CUTJ
<pa>
<FEi
<LY>
CEUi
cexi
<JL>
<UKi
ClUi
<P1>
<DD>
Cftl J
<LH>
C2HJ
<LPi
<LTJ
<JV>
<MB>
CHEJ
<MJ>
CHBJ
<LB>
C2Vi
<LO>
<ZV>
CLUJ
<MA>
CfiVi
<MN>
<oa>
<DE>
CAÜ>
<Ifli
<JY>
Mit einer einfachen und preis¬
werten Schaltung wird der Atari
zur Steuerungseinheit für Elek¬
tromotoren. Damit läßt sich ein
Robotarm dirigieren.
/ rndustrieroboter übernehmen heute
in vielen Fabriken die schmutzigen
und schweren Arbeiten. Ein Atari
wäre bei diesen komplizierten Produk¬
tionsabläufen natürlich überfordert.
Doch für die Steuerung von kleinen
Modelirobotern ist er hervorragend
geeignet. Einen einfachen Robotarm zu
bauen, ist gar nicht so schwierig. Die
Konsbüktionsbaukästen von Märklin,
Trix oder von Fischertechnik, sind eine
gute Grundlage Zusätzlich benötigt
man natürlich noch die entsprechen¬
den Motoren und Getriebe. Einige
Punkte sind bei der Planung zu
beachten:
1. Es sollten nur Gleichspannungsmo¬
toren eingesetzt werden (6-12 V)
2. Alle Motore brauchen ein Getriebe
möglichst mit Schneckenrad-Antrieb
3. Stabiler, mechanischer Aufbau mit
großer Grundplatte
4. Beim Verlegen der Kabel ßewegungs-
achsen beachten
5. Geeignete Stromquellen benutzen
(Netzteile)
Entwerfen wir ein Konzept:
□ Anzahl der Freiheitsgrade: Die
Anzahl ist abhängig von der Funktion.
Drei Freiheitsgrade sind in der Regel
ausreichend, das heißt, drei bewegli¬
che Achsen und drei Motore. Sie sind
nötig zum Drehen des Grundkreises,
heben und senken der senkrechten
Achse, aus- und einfahren der waage¬
rechten Achse.
□ Größe des Verfahrweges: Der Ver¬
fahrweg ist individuell zu gestalten, er
ist verantwortlich für den Aktionsradius
des Armes.
□ Positionierung eines Robotarmes:
Um den Geldbeutel zu schonen, ver¬
wenden wir keine Schrittmotoren.
Besitzer eines Atari 400/800 können
Roboter
im Griff
Pins
Beschreibung
1 bis 4
7
8
DATA
+5 Vdt maximal 40 mA
GND (Masse)
o o o o o
.1 2 3 4 5>
6 7 8 9
o o o o
Die Anschlußbelegiing eines Joystickporfs
1 bis 4{DATA)
Q
10 kö
Schaltplan für einen
Kanal. Für den Auf¬
bau der Schaltung
eignet sich beispiels¬
weise eine Loch-
rasterplatlne (erhält¬
lich in jedem Elek¬
tron! k-Zubehör-
Geschäft).
1 X1N4148
1 X BC 547
1 X Reedreiais Typ DA1-5V-D National
Panasonic AG6319
1 X 100 Ohm 1/4 Watt
1x10 KOhm 1/4 Watt
Stückliste für einen Kanal
7{+5 Volt)
Q
1N4148
21
sich freuen, weil hier Port 3 und 4 noch
frei sind. XL-Besitzer dagegen müssen
sich mit der Steuerung über den Timer
zufriedengeben.
Der Atari-Computer ist natürlich nicht
zum Steuern eines Robotarms ausge¬
legt. Wir müssen deshalb eine kleine
Schaltung aufbauen (siehe Schaltplan).
Damit sind wir in der Lage, den Arm von
Basic aus zu steuern. Die Schaltung
wird über Port 1 und 2 angeschlossen.
Die Ports werden mit »POKE 54018,1«
auf Datenausgabe umgeschaJtet. Aber
Vorsicht, nach Ausführung dieses
POKE-Befehls darf kein Joystick mehr
angeschlossen sein. Mit »POKE
54016,0-255« werden die Datenka¬
näle geschaltet. Jetzt steht uns eine
Parallel-Schnittstelle mit 8 Bit zur Verfü¬
gung. Liegt ein Datensignal an, schaltet
der Transistor die computereigene
5-Voit-Spannung auf das Reedreiais,
welches dann anzieht. Durch sinnvollen
Einsatz der POKEs kann man allen
Motoren gleichzeitig ohne Interrupt-
Programmierung ansteuern. Beim Atari
400 oder 800 kann man zusätzlich
noch Potentiometer an alle Achsen
anbauen (Wert 2MOhm) und über Port
3 und 4 den Wert erfassen. Damit ist es
möglich den Arm relativ genau zu posi¬
tionieren.
Alle Atari-XL-Benutzer können nur
über die Zeit positionieren und haben
den Nachteil ungenauer Steuerung.
Wird nämlich der Motor belastet (zum
Beispiel durch ein Gewicht), läuft er
langsamer und erreicht die gewünschte
Position nicht mehr. Hardwarespeziali¬
sten können versuchen über die neue
Schnittstelle zum Erfolg zu gelangen.
Das Basic-Programm ist für zwei
Motoren ausgelegt und arbeitet mit
einem Joystick in Port 4. Mit dem Joy¬
stick sind alle Bewegungen zu steuern.
Pfiffige können das Programm so
umschreiben, das sogar ein »Teach in«
möglich wird. Das heißt, steuern des
Armes zur gewünschten Position mit
dem Joystick, übernehmen des Wertes
in das Programm und danach automati¬
scher Ablauf des Vorgangs. Als Greifer
leistet ein umgebautes Relais gute
Dienste Damit kann man metallische
Gegenstände greifen und transportie¬
ren. Ein preiswerter Elektromagnet
funktioniert natürlich auch.
Zum Schluß noch einige Tips: Die
Joystickports sollten pro Kanal nicht
höher als mit 10 mA belastet werden.
Die Spule der Relais muß also die Werte
5 V/500 Ohm haben. Oie Positionie¬
rungspotis sollten untersetzt werden,
damit der gewünschte Punkt nicht
überfahren wird. Auch alle Getriebe
sollten über Schnecken und Schnek-
kenräder untersetzt sein, damit eine
Bremse überflüssig wird.
(Jürgen Warschinsky/wb)
Schaltung 1 Schaltung 2
Relais 1. Potwende- Relais 2. Unterbrecher
Schalter 2 x UM 1 x Ein (Stop)
{Rechts-ünkstauf)
Schematischer Aufbau der Schaltung
4 PRINT CHR.f (l25>
5 POKE S401Ö,1;X-54016;POSITION 10,8:7 "
BEWEGUNG;"
10 A=STICK<3)
20 IF A=iS THEN POKE X^245:POSITION 10,1
0:7 " STOP
30 IF A=^14 THEN POKE X, 249: POSITION 10,1
0:? " UP
40 IF A-13 THEN POKE X,253:POSITION 10,1
0:7 " DOWN
50 IF A=ll THEN PDKE X,247:POSITION 10,1
0:7 ■' LEFT
60 IF A=-7 THEN POKE X, 246: POSITION 10,10
:? “ RIGHT
70 IF A-9 THEN POKE X,255:POSITION 10,10
:? ^*DGWN Z'. LEFT "
80 IF A=5 THEN POKE X,254:PDSITION 10,10
:7 "DOWN RIGHT"
90 IF A=10 THEN POKE X,251:POSITION 10,1
0;? " UP LEFT *'
100 IF A=6 THEN POKE X,250;POSITION 10,1
0:7 " UP RIGHT "
110 GOTO 10
üstlng zur Ansteuerung des Sei bstbau^ch alt Interfaces
22
Brandneue Bücher
rund um den
1. Lükie/P.LükE
OerATARISZOST
2. überarbeitet« und erweiterte
Auflage 19^, 19$ Seiten
Dieses Buch enthält alle Informationer],
die für Irrteressierte und für eile stolzen
Besitzer eines gerade erworbenen ATA¬
RI 520/260 ST wächtäg sind. Die jetzt
vorliegende überarbeitete und erweiter¬
te Auflage trägt den neuesten EntwicK'
luhgen bei Atari Rechnung, Unter ande¬
rem wurden das inzwischen deutsch¬
sprachige Belriebssyslem und einige
geänderte SystemausstattungsTnerk-
male berücksichtigt Das Such ist somit
nicht nurcine Rechnerbeschreibung mit
hohem Informationswert, es leistet auch
als Nachschlagewerk wertvolle Dienste.
Best.-Nr. MT 90229
ISBN S-69D9D 229-4
DM 49,-/sFr. 45.10/äS 382,20
1. Luke/P.
Das Systamhandtiuch
zumATABtST
2, OuartaM9S6, ca« 300 Seiten
Zwei Themen bilden die Schwerpunkte
des vctliegenden Buches;
Die Struktur der 6S00OCPU und der
ATARI 520/260 ST
Die ausführliche Beschreibung der Ar¬
chitektur der ÖSOOO-Fämilie (6 ©000,
6600©, 66010, 63020) und ihrem Bq-
fehlssatz wird ergSriztdurch einen Nach-
schlageteil mit zwei- bisdreizeiligen Bei-
apielsequertzen. Auf dieser theoreti¬
schen Basis wird die Programmierumge¬
bung des ATARI 520/260ST anhand
vieler Beispietprogrämme dargesteJIt
Die Entwicklung dieser Programme De-
fert dem Leser gleichzeitig eine BibRo-
thek mit Rouliner> zur Ansteuerung des
BiLdschInnnteils, der Tonerzeugungs-
schaltung und der Schnittstellen (MIDI,
V24, Tastatur. Maus), Besondere Auf-
merksamkeft wird der Enbindung von
NläschinenspfächTTiüdulen in das Be¬
triebssystem und in höhere Program¬
miersprachen {z. B. BASIC uikJ C) gewid-
meL Die Besprechung eines 6S000-
Assemblers und einige gerätespezifi¬
sche Masctünensprachmodule runden
das Buch ab.
8est.-Nr. MT 90216
ISBN 3^9090-216-2
DM 52,-^3Fr,47.60föS 40S.60
W. Fastenrath
ATARE ST BASlC-Handi)ucEi
1. Quartal 1966^ ca. 250 Seiten
Suchen Sie eine Anleitung zur intensiven Ausnutzung der Fähigkeiten des ATARI 520/260 ST? Dann ist
dieses Buch genau das richtige für Sie! Sie erfahren alles über das BASIC-Syslem des ATARI ST. Jeder
Befehl wird mit Programmbeispielen ausführlich erlSutert Den Schwerpunkt bildet eine Anleitung zur
BASIC-Prograinmierung des ATARI ST sowie zur Program mierung von GEM-Funktionen.
Best.-Nr. AfT 90205, ISBN 3-89090-205-7, DM 52,-^sFr.47,80f6S 405,60
R.7Wmiller
ATARI ST LDGO
1. Quartal 1986, ca* 250 Seiten
Dieses Buch bietet eine gründ^che Einf ührung in die Programmmiersprache LOGO und ihre ArM/ondung
auf dem ATRl 520/260 ST. Schon nach kurzer Zelt ist der Anfängerin der Lage, eigene LOGO-Programtne
zu schreiben. Praktische Anwendungsmüglichkeiterii wiez.B, die Datenvorwattung sind auch für den fort¬
geschrittenen Programmierer von Interesse. Ein eigenes Kapitel ist dem Bereich derküostli&hen Intelligenz
gewidmet
B«st-Nr. MT 90228, ISBN 3-89090-223-5, DM 49HsFr.45,lO/DS 405,60
P, Rosenbeck
C-Pitigramniierung unter TßS/ATARl ST
1. Quartal 1986, Ca. 30<f Seiten
Die Progrannmiersprache C hat sich bei piofessioneöen Pnogrammienem zu einem Renner entwickelt. Sie
emäglichtes, sehr nahe an der Maschine zu arbeiten und doch struKturf ertzu programmieren. Dieses Buch
bietet eine Einführung in die Programmierung C spezielEf ür den ATARI St Am Beispipr eines Diskettenmonä-
tors wird die Systempregrammierung gründlich und umfassend erläutert. Au lierdem erfahren SieaJiesüber
den Einsatz von BlOS-Routinon und Ober das Software-Engineering.
Best.-Nr. MT 90226, ISBN 3^9090-226-X, DM 52,-;sFr.47,30/öS 405,60
In ¥prbereifung:
C-Progr^mmieRing unter 6EM/ATARt ST
2. Quartal 1986, ca. 300 Seiteft
Best.-Nr. MT90203, ISBN 3-89090-203-0, DM 58,-^sFr. S3,40/ÜS 452,40
Markt&lfechnik
iKnetüla^
Peter täte
DosSysIeiti-
Honabudi
A. Steiner/G. Steiner
GEM für den ATARI 520 ST
2. überarbeitere und erweiterte
Auflage 19B6,334 Sehen
Dio Benutterobertiäche des neuen
ATARI ST - GEM genannt - erhebt den
Anspruch, die Bedienung des Compu¬
ters Zum Kinderspiel zu machen. Den¬
noch; Wenn Sie die bisher übliche kom-
mandecrientierte Umgangsweise mit Ih¬
rem Computer pflegten, so vi^rden Sie
eir^e Einführung in die Bedienung von
Maus, Bildsymbolen und Fenster, wieaie
dieses Buch liefert, zu schätzen wissen.
Besonders interessant für den erfahre¬
nen Anwender sind die Kapitel über den
iriternen Aufbau von GEM mit seinen
PuH-Down-MenOs, Fenstern und Sym¬
bolen.
Best.-Nr. MT 90230
ISBN 3-89090-236-8
DM 52WsFr. 47,80/ÖS 405,60
J. Purdum/T. Leelie
Die C-ProgfammbibliotheJc
t. Quartal 1986, cä. 320 Seiten
Dieses Buch erspart dem C-Programh
mierer Stunden mühseliger Kreinaibeit
und hilft, effizientere Programnie zu
schreiben. Es ist in zwei Teile gegliedert
Dererste Teil zeigt, wie man zu universel¬
len Btbliotheksfunktionen kommt und
gibt Tips, wie C noch wirkungsvpHor ein¬
gesetztwerden kann. Der zweite Teil ent¬
hält eine Reihe ausführlich erklärter C-
Funktionen als wertvolle Ergänzung Ih¬
rer Programmfaibtiothek. Dazu gehören
unter anderem ein Terminalmstallations-
programm, mehrereSorf ier-Algorithmen
und ein Satz ISAM-Funktionen.
Best.-Nr. MT 90133
ISBN 369090-1334
DM 69WsFr. 63,50/0© 538,20
T6L1
C&UtlDLAOeü UND AttCkrtEXTUR
Wsn«rf9l -Anton Jtovs«^
** Btf'
W. Hilf/A. Nausth
M6a0Q0-FamiIie:Tei[l
1964« 566 Serfeit
Informative Einführung in die Geschich¬
te und die Entwicklungsphilosophie ei¬
ner detailEierten Darstellung der Hard¬
ware sowie ausführliche Erläuterung der
komfortablen Adressierungsarten.
Besl.-Nf.PWTOS
ISBN 3-921603-164
DM 79,-/sFr. 72,80/öS 616,20
MGSOOO-Faitiiße: Teil 2
1985,400 Seiten
Teil II des umfassenden Lehr- und Nach¬
schlagewerks zum M6S000beschäftigt
sich mit Anwendungen und weiteren Mit¬
gliedern der M68000-Familie.
Best.-Nr. PW 713
ISBN 8-921803^304
D« 6S,-^sFf. 68.50/ÖS 538,20
Markt&Technik-Fachböcher
erhaHen Sie bei Ihrem Buchhändler
Bestellkarten bitte an Ihren Buchhändler
oder an einen unserer Depot-Händler.
Adtessenverzeichnis am Ende des Heftes.
Bestellungen im Ausland bitte an untenstehende Adressen«
Schweiz: lU^i1rf8:Technik Veftrrebs AG,
Kolterstrasse 3, CK-630D Zug, ^ 042/415656
Österreich: Rudoff Lech mar & Sohn,
HeizwerfcstiaBe 10, A-1262 Wien, S 0222/677526
MarW&Technik
BUCHVERIAG
Irrtümer und Änderungen Vorbehalten*
Hans 4 ^insel^traBe 2 , 8013 Haar bei München
TURBO-BASIC
Der große Türbo-Basic-TeU
TurboBasic XL ist extrem
schnell, komfortabel und erlaubt
Programmstrukturen wie Pascal.
Der Turbo-BasioCompiler, der
sich nun zur Turbo-Serie hinzu-
gesellt hat, steigert das Pro¬
grammiervergnügen und die
Geschwindigkeit noch einmal.
7 p urbo-Basic XL werden manche
Leser bereits kennen (der Inter¬
preter wurde in Happy-Computer,
Ausgabe 12/85 abgedruckt). Eventuell
haben Sie auch schon erste Erfahrun¬
gen mit diesem leistungsfähigen Inter¬
preter gesammelt. Dann werden Sie
bestimmt nicht mehr allzuhäufig mit
dem normten Atari-Basic arbeiten und
lieber auf das Turbo-Basic XL zurück¬
greifen. Aus diesem Grund veröffentli¬
chen wir den Interpreter noch einmal in
diesem Sonderheft. Wir sind nämlich
der Meinung, daß sich Turbo-Basic XL
unter möglichst vielen Atari-Fans ver¬
breiten sollte
Wenn Sie den Interpreter allerdings
noch nicht kennen, schenken Sie den
nächsten Seiten Ihre Aufmerksamkeit.
Dort finden Sie eine ausführliche Erklä¬
rung zu allen Turbo-BaSic-XL-spezifi-
schen Befehlen. Hinzu kommen einige
neue Fehlermeldungen und die Mög¬
lichkeit, verschiedene Disketten-Be-
fehle direkt von Basic auszuführen. Las¬
sen Sie sich aber nicht von dem um¬
fangreichen Listing abschrecken. Denn
haben Sie das Programm erst einmal
abgetippt, werden Sie es nicht
bereuen. Dessen sind wir ganz sicher.
Gleich im Anschluß an den Turbo-
Basic-XL-Interpreter finden Sie einen
weiteren Leckerbissen; Den Turbo-
Basic-Compiler, ebenfalls zum Abtip¬
pen. Einen superschnellen Compiler,
der selbst in AtEffi-Basic geschriebene
Programme verarbeitet. Das Compilat
zählt mit zu den schnellsten. Überzeu¬
gen Sie sich selbst von den Ergebnis¬
sen. Auf der Seite 32 sind die erzielten
Rechenzeiten aufgelistet. Unser Com¬
piler hat selbst kommerzielle Compiler
um Längen geschlagen.
Damit sich die beiden »Wunderkin¬
der« auch gleich bewähren können,
sind einige Turbo-Basic-XL-Programme
hier abgedruckt. Beachten Sie aber
bitte: Diese Beispielprogramme laufen
nicht unter Atari-Basic! Es kommen
nämlich spezielle Turbo-Basic XL-
Befehle zur Anwendung, die Atari-
Basic nicht verarbeiten kann. So ist bei¬
spielsweise im Programm »Grafikspiele¬
reien« der »MOVE«-Befehl eingebaut,
der ein sehr schnelles Verlagern des
Bllschirmspeichers bewirkt. So wird ein
Grafikbild mal auf den Kopf gestellt oder
über die Mittelachse hinweg gespie¬
gelt. Aber lassen Sie sich überraschen!
Das Programm bietet viele wirkungs¬
volle Effekte, die sich ansonsten in
Atari-Basic nur durch spezielle
Maschinensprach-Routinen realisieren
lassen.
Oder werfen Sie einen Blick auf das
Programm »Apfelmännchen«. Dieses
Programm erzeugt die tollsten Grafiken.
Ein farbiges Beispiel finden Sie im
Inhaltsverzeichnis am Anfang des Hef¬
tes. Hier kommt ein weiterer Vorzug von
Turbo-Basic XL voll zur Geltung, näm¬
lich der, strukturiert zu programmieren.
Es wurde vor allem der Befehl »EXEC
Prozedur« eingesetzt. So lassen sich
selbst Prozeduren unter Turbo-Basic
XL definieren. Beim genaueren
Studium des »Apfetmännchen«-Pro¬
gramms wird Ihnen sicherlich auffallen,
daß in dem Programm kein einziger
GOTO- oder GOSUB-Befehl auftaucht.
Dies ist eine der wichtigsten Vorausset¬
zungen der strukturierten Programmie¬
rung.
Es spricht also einiges zugunsten
unseres Interpreters und Compilers.
Um noch mehr Atari-Besitzer in den
Genuß des Turbo-Basic XL-Interpreters
zu bringen, ist eine Umsetzung der bei¬
den Programme auch für den Atari 260
ST/520 ST-f in Vorbereitung. Natürlich
ist in dieser Version auch die Befehls-
Kompatibilität zwischen dem 800XL
und den ST-Computern gewährleistet.
Allerdings benötigen die Programme
noch einige Zeit bis zur Vollendung. Wir
halten Sie aber auf dem laufenden.
(wb)
24
TURBO-BASIC
So funktioniert der
Tdrbo-Basic-Compiier
Soll ein Basio-Programm schnel¬
ler werden, dann greift man ein¬
fach zum BasioCompiier. Aber
wie funictioniert ein solches
Beschleunigungswunder?
anche Anwendungen erfor¬
dern mehr Tempo, als reine
Basic-Programme zu bieten
haben. Dann schreibt man zeitkritische
Routinen entweder in Maschinenspra¬
che oder setzt einen Compiler ein, der
ein Basic-Programm in Maschinenspra¬
che umwandelt. Ljetzteres ist natürlich
viel einfacher und bequemer, da es
lediglich den Umgang mit dem Compiler
vorraussetzt. Außerdem benötigt die
Compilierung nicht viel Zeit Das Com-
pilat kann übrigens nicht mehr von
Basic aus bearbeitet werden, Wenden
wir uns nun der Funktionsweise des
Turbo-Basic-Compilers zu.
Wenn Sie ein Basic-Programm eintip¬
pen, zum Beispiel die Programmzeile
5&100 ?3^4«, faßt der Computer diese
Zeile zunächst nur als eine Folge von
Zeichen im ATASCII-Format auf. Unter
dem Begriff ATASCII versteht man die
spezielle Atari-Version des ASCII-
Zeichensatzes (ASCII ist die Abkürzung
für: American Standard Code for Infor¬
mation fnterchange). Der Interpreter
wandelt den eingegebenen Text in
Token um. Gleichzeitig überprüft er
noch die Syntax, also ob die Befehls¬
folge auch zulässig ist Diese Aufgabe
muß meistens auch ein Compiler über¬
nehmen. Bild 1 zeigt, wie die Pro¬
grammzeile 3^100 ?3*4<c in Token über¬
setzt aussieht
Die Programmzeile wird dann anhand
ihrer Nummer einsortiert. Durch diese
Umwandlung in Token und gleichzeiti¬
ger Syntaxprüfung wird die Aufgabe
des Compilers etwas einfacher. Spei¬
chert man ein Basic-Programm mit dem
SAVE-Befehl, werden auch die Token
gespeichert. Mit LIST hingegen liegt es
in der Textform vor. Der Turbo-Basic-
Compiler kann nur die :&SAVE-Ausfüh-
rung« übersetzen. Ein Transfer der Text-
Form wäre prinzipiell auch möglich,
allerdings würde der Compiler hierfür
mehr Zeit benötigen. Schließlich muß er
die Befehlsnamen kennen und die
Variablennamen speichern. Dies würde
weiterhin die maximale Länge der zu
compilierenden Programme vermin¬
dern. Oder es müßten Zwischenfiles
auf Diskette angelegt werden, was bei
den relativ langsamen Atari-Disketten¬
laufwerken sehr zeitaufwendig ist.
Keine Variable
ohne Nummer
Bevor Sie ein Basic- oder Turbo-Basic
XL-Programm compilieren, sollten Sie
sicherstellen, daß es fehlerfrei läuft.
Zwar ist dann immer noch nicht gewähr¬
leistet, daß das Programm anschlie¬
ßend auf Anhieb ordnungsgemäß com-
piiiert und ausgeführt werden kann.
Zumindest entfallen aber Syntax-
Fehler, die zur Fblge hätten, daß Sie Ihr
Basic-Programm korrigieren müßten,
um es anschließend nochmals zu com¬
pilieren. Auch muß die Struktur Ihrer
Basic-Programme stimmen. Dazu bie¬
tet sich der LIST-Befehl unter Turbo-
Basic XL an, der bekanntlich FOR-
NEXT-Schleifen und IFELSE-ENDIF-
Abfragen einrückt.
Atari-Basic und Turbo-Basic XL-
SAVE-Files bestehen aus einem Vor¬
spann mit den Variablennamen und eini¬
gen anderen Informationen für den
Interpreter. Diese werden deshalb vor
dem Einlesen entweder überlesen {wie
die Variablennamen) oder, in einer
angepaßten Form, gespeichert. Dies
betrifft in erster Linie die Variablenty¬
pen. Der Variablentyp kann aber nicht
nur aus der Variablennummer, die im
Programm gespeichert ist, definiert
werden. Das Dollarzeichen ($) bei¬
spielsweise, welches die Stringvaria¬
blen kennzeichnet, wird vom Interpre¬
ter nicht im eigentlichen Programm
gespeichert.
Bei langen Programmen mit vielen
Variablen kann man diese Phase der
Compilation deutlich erkennen. In der
Info-Zeile (der dritten Bildzeile des
Turbo-Basic-Compilers) steht dann nur
das Wort Zeile ohne Zeilennummer.
Sobald die erste Zeile übersetzt wird,
erscheint auch die Anzeige der ent¬
sprechenden Zeilennummer.
Jetzt beginnt die eigentliche Compi¬
lierung. Sie setzt sich aus zwei Durch¬
gängen zusammen, im ersten Durch¬
gang (Paß 1) wird das Programm Zeile
für Zeile und Befehl für Befehl eingele¬
sen und in Maschinencode übersetzt.
Im zweiten Durchgang (Paß 2) werden
dann noch die offenen Sprungadressen
eingesetzt. Dazu werden im Paß 1
GOTO-Sprünge im Code durch einen
ungültigen Maschinenbefehl mit ange¬
hängter Zeilennummer gekennzeich¬
net. Im zweiten Durchgang schließlich
ersetzen dann 6502-J MP-Befehle
(Code $4C) die ungültigen Maschinen¬
befehle.
Ähnliches gilt für Zahlen und Textkon¬
stanten. Sie werden in einem Block hin¬
ter dem eigentlichen Basic-Programm
gespeichert. Die endgültigen Adressen
stehen dann erst nach der Übersetzung
fest. Im Anschluß an den zweiten
Compilier-Durchgang folgt dann noch
eine Kontrolle, ob offene Schleifen vor¬
liegen. Also ob ein NEXT zu einem FOR
fehlt oder ein WEND zu einem WHILE
eta Trifft dies zu, erscheint eine Mel¬
dung auf dem Bildschirm, Dann folgt
noch die Überprüfung nach fehlenden
EN Dl Fs. Durch diese Aufteilung der
Fehierprüfung (die meisten Fehler wer¬
den bereits im ersten Durchgang fest¬
gestellt) werden die fehlerhaften Zei¬
lennummern nicht komplett sortiert
ausgegeben, sondern gegebenenfalls
in vier einzelnen Gruppen.
Nach der Umwandlung in Token Sieht die Frogrammzeiie »100 ? 3*^4« folgendermaßen
aus:
OA 00 15 15 2S OE 40 03 00 00 00 00 24 OE 40 04 00 00 00 00 16
Dabei bedeuten:
OA 00
= Zeilennummer (100)
15
= Zeilenlänge
15
= Abstand vom Zeilenanfang zum Ende der ersten
Programmzeile
28
= Token für ^7^
OE 40 03 00 00 00 00
= Zahl 3
24
= Token für
OE 40 04 00 00 00 00
= Zahl 4
16
= Token für Zeilenende
Bild 1. Eine Basic^rogrammzeile, umgesetzt in Token
TURBO-BASIC
Die meiste Arbeit wird im ersten
Durchgang geleistet, der Rest dauert
nur wenige Sekunden. Das Einlesen
des Programms erfolgt Zeile für Zeile.
Zuerst zur Zeilennummer: Wenn die
Zeilennummer größer als 32767 ist,
dann ist Paß 1 beendet (der Interpreter
verwendet die Zellennummer 32768
übrigens als Endekennzeichen). Dann
schließt der zweite Durchgang an.
Ansonsten wird die Zeilennummer
angezeigt und die Zeile Befehl für
Befehl eingelesen und übersetzt.
Sollte der Compiler auf einen LIST-
oder ENTER-Befehl stoßen, wird ein¬
fach eine Fehlermeldung mit Zeilen¬
nummer ausgegeben, und der nächste
Befehl kommt an die Reihe
Keinerlei Probleme bereiten REM-
oder»- -«-Zeilen. Diese Befehle werden
einfach überlesen und ignoriert, da sie
den Programmablauf nicht beeinflus¬
sen.
Befehle ohne Parameter (wie END,
POP oder CLR) werden einfach zu
einem entsprechenden Unterpro¬
grammaufruf compiliert.
Bei einem DATA-Befehl wird der Text
mit Zeilennummer und Länge in einer
Tabelle im Anschluß an das Programm
eingetragen. Sie nimmt noch folgende
Informationen auf:
- eine weitere Tabelle mit konstanten
Zahlen
- konstanten Strings
- die Anfangsadressen aller Pro¬
grammzeilen
- den wahrend der Compilation benö¬
tigten Stapelspeicher (der
6502-Stape! ist viel zu klein)
Diese Informationen werden gegebe-
nenfsdls auch im Speicher verschoben,
wenn das zu compilierende Programm
oder eine der Tabellen anwächst. Des¬
halb nimmt auch die Compilierungsge¬
schwindigkeit bei langen Programmen
gegen Ende ab; vor allem wenn viele
DATAs am Anfang des Programms ste¬
hen. Diese Verlangsamung betrifft
lediglich die eigentliche Compilierung
und nicht den Programmablauf.
Alle Befehle, die Parameter erfordern,
sind wesentlich schwieriger zu über¬
setzen. Bild 2 zeigt nur einen Befehl mit
einem einzigen Parameter.
Die Umwandlung des Befehls von
Schritt 1 nach Schritt 2 hat der Interpre¬
ter schon erledigt. Der Compiler liest
das Befehlstoken $03 für COLOR und
verzweigt in die entsprechende Compi¬
lationsroutine. Diese ruft wiederum die
Rouöne für die Übersetzung eines Aus¬
drucks auf, die eine Integerzahl zurück¬
liefern soll. Dann wird nur noch »STA
$C8« angehängt, und damit ist die
Compilierung des Befehls schon erle¬
digt. Beim Befehl GRAPHICS würde
»JSR ©Graphics« angehängt werden.
Der Klammeraffe {©) kennzeichnet
übrigens eine RouHne in der Runtime
Bibliothek.
Ein großer Fortschritt wurde bis jetzt
noch nicht verzeichnet. Zwar sind die
Befehle jetzt prinzipiell compiliert. das
ändert aber leider nichts daran, daß mit
dem entsprechenden Parameter, wie in
unserem Beispiel die 1, noch nichts
passiert ist.
Compilieren
Zeile für Zeile
Die dafür benötigte Routine gliedert
sich in mehrere Abschnitte:
- P-Code-Erzeugung
- P-Code-Optimierung
- Maschinencode-Erzeugung
P-Code (Pseudo-Code) ähnelt der
Maschinensprache eines hypotheti¬
schen (gedachten) Prozessors. Man¬
che Compiler erzeugen nur einen P-
Code, der dann von einem kleinen Inter¬
preter ausgeführt wird. Die Abarbei¬
tungsgeschwindigkeit eines solchen
Codes ist zwar schneller als ein her¬
kömmliches Basic-Programm, aller¬
dings von der Geschwindigkeit einer
»richtigen« Maschinensprache noch
weit entfernt. Aber platzsparender ist
P-Code im Vergleich zu voll compilier-
tem Basic. Echte Maschinensprache ist
jedoch von keinem Compiler zu über¬
treffen.
Bild 3 zeigt ein komplizierteres Bei¬
spiel. »03« entspricht wieder dem
Token für COLOR, »46« steht für PEEK,
»3A« für die offene Klammer, »2C« für
die schließende Klammer, »35« steht
für die Addition (-I-), »16« bedeutet Zei¬
lenende oder auch einen Doppelpunkt,
der Basic-Befehle in einer Zeile trennt.
Der Wert »OE« kennzeichnet schließlich
noch eine Zahl in der internen Darstel¬
lung (entspricht sechs Byte).
Das Token »03« ist in unserem Bei¬
spiel bereits identifiziert. Es beginnt
jetzt der Test, in welcher Reihenfolge
die Operationen ablaufen müssen. Der
Interpreter hat dabei fast die gleichen
Tests durchzuführen, und zwar jedes¬
mal, wenn er diese Zeile erreicht, Der
Compiler übersetzt jede Zeile nur ein¬
mal bei der Compilierung. Dadurch lau¬
fen die Programme schneller ab.
Bei der Übersetzung in P-Code
bedient sich der Compiler einer Tabelle,
in der die Prioritäten aller Operatoren
vermerkt sind. Übrigens handelt es sich
hierbei fast um die gleiche Tabelle, die
auch der Interpreter benutzt. Daraus
ergibt sich dann folgender P-Code In
Bild 4 sind die einzelnen Werte lediglich
in Kurzform dargestellt. Der Compiler
betrachtet sie natürlich als Zahlen.
Jetzt könnte theoretisch schon die
Routine aufgerufen werden, die den
Maschinencode erzeugt. Allerdings
würden dann im compilierten Programm
die gleichen Berechnungen ablaufen,
die der Interpreter normalerweise auch
durchführt. Schließlich steht jetzt viel
Zeit zur Optimierung des P-Codes zur
Verfügung, da die Programmzeilen nur
ein einziges Mal in Maschinencode
umgesetzt werden.
Hier nochmals der P-Code:
Zahl 41 02 00 00 00 00
fp->intpeek int->fp push
Zahl 40 01 00 00 00 00
movepull add fp->int
Im ersten Schritt faßt der Optimierer
die Zahl »41 02 OO OO OO OO fp- > int«
zusammen, indem er den Wert in die
Integer-Darstellung umwandeit. Daraus
entsteht:
Izahl 200 peek int->fp push
Zahl 40 01 00 00 00 00
movepull add fp->iiit
Anmerkung: Es gibt zwei Fp-Accus,
$D4 bis $D9 und $EO bis $E5. Integer-
zahlen stehen dabei im Prozessorregi¬
ster A und Y. Dabei enthält Y das höher¬
wertige und A das niederwertige Byte.
Der Optimierer faßt jetzt »Izahl 200
peek« zu »Ipeek 200« zusammen.
Das erste Beispiel würde »LDA
# <200:LDY # >200:JSR PEEK« als
Code erzeugen und das zweite Beispiel
»LDA 200:L0Y #0«. Jetzt haben wir
also:
Ipeek 200 int->fp push
Zahl 40 0100 00 00 00
movepull add fp->int
Jetzt wird »push Zahl ... movepull
add« zu »add# ...« zusammengefaßt.
Daraus ergibt sich:
1) COLOR 1
;so siehfs aus
2) 03 OE 40 Ol 00 00 00 00
;so spetchert's der Interpreter
3) A9 Ol 85 C8
;das soll daraus werden (LDA #1:STA $C8)
;$C8 = 2O0 ist die Speicherzelle, in der sowohl
;Interpreter als auch Compiler die Zeichenfarbe
;fijr Plot abtegen
Bild 2. So wird der Befehl »COLOR« compiliert
03 46 3A OE 41 02 00 00 00 00 2C 35 40 01 00 00 00 00 16
Bild 3. So sieht der Basic-Befeht »COLOR PEEK(200)-l-1a in Token umgesetzt aus
26
TURBO-BASIC
Ipeek 200 add
# 40 01 00 00 00 00 fp->int
Als nächstes bemerkt der Optimierer
die Folge »int->fp Add# ... fp->int«
und versucht diese Befehlsfolge zu ver¬
einfachen. So spart man sich später
eine Umwandlung. Da die Zahl kleiner
als 256 Ist, gelingt dies auch.
Ipeek 200 ladd# 1
Jetzt hat der Optimierer seine Arbeit
geleistet. Anschließend wird richtiger
Maschinencode erzeugt.
Aus »ipeek 200« entsteht »LDA
200:LDY #0«,
»ladd # 1« wird zu »LDX # 1:JSR lADD«
(dieser Unterprogrammaufruf ist nötig,
da sonst auch ein Overflow stattfinden
könnte; Integerwert größer als 65535!)
Das war auch schon alles. An den
Befehl COLOR wird noch »STA $C8«
angehängt, Insgesamt ergibt sich also:
LDA 200:LDY # 0:LDX # 1:JSR
IADD:STA $08
Ohne Optimierung würde wesentlich
mehr Programmcode erzeugt werden,
der noch dazu viel langsamer ist:
LDA #< 2200 :LDY #>Z200:JSR
LD0IA:JSR FPI?:JSR PEEK:JSR
IFP:JSR PUSH
LDA # <21;LDY # > ZltJSR
MOTEPULL: JSR ADDiJSR FPI?:SIA $08
Außerdem noch im Konstantenbe¬
reich:
2200 .BYTE $4l,$02,$00,$00,$00,
$00
21 .BYTE $40,$01,$00,$00,$00,
$00
Durch Optimierung läßt sich also viel
Programmcode sparen. Gegenüber
einem echten Maschinencode sieht
das Ergebnis allerdings immer noch
recht umfangreich aus. In Maschinen¬
sprachewürde nämlich »INC $C8«, was
nur 2 Byte benötigt, das gleiche bewir¬
ken. Hexadezimal $C8 entspricht dabei
dem Dezimalwert 200. In unserem Bei¬
spiel codiert der Compiler den Basic-
befehl COLOR 1 Jedoch optimal, näm¬
lich »LDA #1:STÄ $C8«.
Optimal compiliert
Allerdings kann der Compiler nur in
den seltensten Fällen optimalen Code
erzeugen. Schließlich erübrigt sich nur
die Umwandlung von FP nach INT und
umgekehrt und dies auch nur bei Ver¬
wendung von Konstanten. Bel Varia¬
blen ist diese Art der Optimierung nicht
zulässig. In den meisten Fällen reicht
schon die Einsparung einiger Bytes,
weil zum Beispiel das Laden einer Varia¬
blen und die Umwandlung in einen statt
zwei Integerwerte durch einen einzigen
Unterprogrammaufruf erledigt wird.
Auch wird nicht alles, was möglich
wäre, optimiert. Zum Beispiel berechnet
sich »A=10/3« nicht im voraus, obwohl
es durchaus sinnvoll wäre. Aber solche
Optimierungen kann der Programmie¬
rer gegebenenfalls selbst vorwegneh¬
men. Allerdings sind solche Fälle viel zu
seiten, als daß sich dies hier lohnen
würde. Je länger nämlich der Compiler,
desto kürzer die entsprechenden
Basic-Programme Es gibt jedoch
einige Berechnungen, deren Optimie¬
rung sich besonders lohnt: »"2« erhält,
eine eigene, schnelle Routine Im Com¬
piler benötigt »A=ß"2« die gleiche Zeit
wie »A=B*B«. Es existiert ebenfalls
eine schnelle Exponential-Routine, die
bereits im Mathematik-Teil der Runtime-
Bibtiothek vorhanden ist. So oder ähn¬
lich werden alle Befehle mit Parametern
behandelt. Sind mehrere Parameter
vorhanden, werden diese natürlich zwi¬
schengespeichert.
Ein weiterer lohnenswerter Befehl ist
ur für Euch 9)^*^
Snnt Ihr gegen programm-
ietrags Besteltnummer bitte
MaiW&Technik
RI irHVERl^
80 ia Haar bei München
27
TURBO-BASIC
Zahl 41 02 00 OO 00 00
dse 200
fp->int peek int-> 1p
der PEEK-Befehl benötigt einen Integer als Adresse,
deshalb muß die 200 zuerst umgewandelt werden.
Dann folgt der eigentliche PEEK-Belehl und dann
die Umwandlung des Ergebnisses in eine
Floaüng-Point-Zahl (fp). Diese
Umwandlungen muß der Interpreter auch immer
^Jurchtühren.
push
retten des Ergebnisses auf den Rechen Stapel
Zahl 40 01 00 00 00 00
Zahl 1
Movepull
Schiebt die Zahl 1 aus dem FP-Accu 1 in den
FP'Accu 2 und holt das Ergebnis des PEEKs
in den FP-Accu 1
Add
die Addition
fp->int
dies wird von der Compilatlonsroutine für Color
angehängt, es wird ja ein Integer benötigt
Bild 4. Der P-Code, der sich aus »COLOR PEEK<200)+1« ergibt
der POKE-Befehl. Beispielsweise wird
»POKE 16,64« durch »LDA #64;STA
16« übersetzt.
Beim PRINT-Befehl sind noch die
Kommata zu beachten. Auch INPUT,
READ, GET und IjOCATE beinhalten
noch einige Probleme. Eine ausführli¬
che Erläuterung würde den Rahmen
dieses Artikels jedoch sprengen.
Gesondert zu behandeln sind alle
Befehle, die den linearen Programm¬
ablauf beeinflussen. Der GOTO-Befehl
läßt sich vergleichsweise einfach über¬
setzen. Zuerst wird die Routine aufge¬
rufen, die einen Integer-Ausdruck über¬
setzt und optimiert (wie oben); aller¬
dings generiert sie ihn noch nicht in den
endgültigen Maschinencode. Zunächst
wird nur der P-Code erzeugt. Dann wird
anhand des P-Codes überprüft, ob eine
Zahl folgt. Wenn ja, wird ein JMP-Befehl
compiliert. Zunächst nur »07 Zeile«,
woraus sich nach Paß 2 »4C Adresse«
ergibt. Wenn nein, wird die Routine für
die Erzeugung von Maschinencode
aufgerufen und »JSR GOTOX« ange¬
hängt. Bei einem berechneten GOSUB
wird beispielsweise entweder »JSR
GOSUBX« oder vor dem »JMP-($07)«-
Befehl derGOTO-Anweisung ein Unter¬
programmaufruf compiliert. Dieser ent¬
hält dann, auf dem Basic-StacK die um
drei Werte erhöhte Rücksprungadres¬
se des Befehls. Es wird aber nicht ein¬
fach ein JSR compiliert, da sonst die
Anzahl der Unterprograanmebenen
durch den zu kleinen 6502-Stack
begrenzt wäre Außerdem müssen die
Parameter für die FOR-NEXT-Schieifen
ebenfalls auf diesem Stapel abgelegt
werden. Sie belegen jeweils 16 Byte, so
daß sehr schnell ein Overflow des
6502-Stack drohen würde Dies
könnte katastrophale Folgen haben und
die Kompatibilität zum Interpreter-Basic
stark einschränken. Zumindest ist die
untere Hälfte der Seite 1 frei, und es
gibt Programme, die mehr als 10 ge¬
schachtelte Schleifen verwenden. Der
Zeitverlust durch diesen simulierten
Stack hält sich jedoch in Grenzen.
Einen ähnlichen Stack verwendet der
Compiler auch zur Übersetzung von
DO-LOOP, REPEAT-UNTIL. WHILE-
WEND und FOR-NEXT-Schleifen sowie
des EXIT-Befehls.
Bei DO wird die aktuelle Adresse auf
diesem Stapel abgelegt. Sie erhält
außerdem noch die DO-Befehlsken-
nung. Bei Übersetzung des zugehöri¬
gen LOOP wird die Kennung daraufhin
überprüft, ob ein DO fehlt und dann ein
JMP-Befehl auf die zuvor festgestellte
Adresse compiliert. Sollte zwischen DO
und LOOP ein EXIT gestanden haben,
so hat dieser Befehl seine eigene Ken¬
nung auf dem Stack hinterlassen und
einen JMP-Befehl mit »Dummy«-
Adresse erzeugt. LOOP ersetzt diese
Adresse durch die auf den eigenen
JMP-Befehl folgende
Geschwindigkeit
ist Trumpf
Bei REPEAT ist der Vorgang ähnlich
wie bei DO. Es unterscheidet sich ledig¬
lich die Kennung. Wenn UNTIL auf eine
REPEAT-Anweisung folgt, wird zuerst
der folgende Ausdruck übersetzt. Erst
dann wird ein bedingter Sprung ange¬
hängt. Da der 6502 nur relativ kurze,
bedingte Sprünge kennt, wird mit »BNE
*-+-5:JMP ad« gearbeitet. Natürlich
muß auch UNTIL eventuelle EXIT-
Befehle berücksichtigen.
WHILE-WEND entspricht dem eben
Besprochenen, nur steht hier die
Bedingung am Schieifenanfang.
Bei FOR-NEXT-Schleifen ist noch zu
beachten, daß zusätzlich der Basic-
Stack benutzt wird. Deshalb wird auto¬
matisch ein POP-Befehl in den EXIT-
Befehl eingeschlossen.
Damit ist die Wirkungsweise des
Compilers erklärt. Vielleicht ist Ihnen
aber noch nicht ganz klar, wie der Inter¬
preter und der Compiler die Reihen¬
folge der Berechnungen feststellen.
Der Interpreter führt die Berechnungen
aus, der Compiler erzeugt einen P-
Code. Trotzdem funktionieren beide
nach dem gleichen Prinzip. Zur Zwi¬
schenspeicherung der Operatoren
dient jeweils ein Stack (Stapel). Dazu
ein einfaches Beispiel;
8*Siti(A)+l6
Der Compiler liest die Ziffer 8. Als
Zahl wird sie sofort compiliert. (Der
Interpreter würde sie auf dem Zahlen¬
stapel ablegen.) Dann wird das Token
für Multiplikation (’) mit der Priorität 5
gelesen. Da der Stapel für Operatoren
noch leer ist (Priorität 0), wird das Token
dort abgelegt. Als nächstes folgt SIN
mit der höchstmöglichen Priorität (9).
Weil diese größer ist als die auf dem Sta¬
pel (5), wird auch SIN auf den Stapel
gelegt. Dann folgt die geöffnete Klam¬
mer. Als Spezialfunktion ruft die Klam¬
mer dieselbe Routine noch einmal,
allerdings rekursiv auf. Es wird also der
Wert in Klammern entsprechend über¬
setzt oder berechnet. Dann kommt die
Variable A an die Reihe. Variablen wer¬
den, genauso wie Zahlen, sofort compi¬
liert. Dann schließt eJs Endekennzei¬
chen die Klammer ab. Weiter geht es mit
der ursprünglichen Übersetzung. Es
folgt nun das Token für Addition {-!-),
dessen Priorität (4) kleiner als die auf
dem Stapel ist. Deshalb wird jetzt der
SIN-Befehl compiliert. Anschließend
wird noch die vorliegende Priorität mit
der des »* «-Tokens (5) verglichen. Da
sie wieder kleiner ist, wird jetzt die Mul¬
tiplikation compiliert.
Der leere Stack hat die Priorität 0,
also wird das Token für Addition auf dem
Stack abgelegt. Dann folgt die Zahl 16
und schließlich das Endekennzeichen
mit der Priorität 0. Der Stapel ist
anschließend leer, die Addition wird
compiliert, und der Vorgang ist been¬
det. Der entstandene P-Code lautet
»Zahl 8 Var A Sin Mult Zahl 16 Add«.
So einfach wie hier beschrieben, ist
das Compilieren von Basic-Program-
men jedoch nicht. Es sollte an dieser
Stelle vielmehr gezeigt werden, wie der
Turbo-Compiler prinzipiell funktioniert.
Sollten alte Vorgänge beim Compilieren
beschrieben werden, würde dies ein
Buch füllen. Noch ein Tip: Das
Standard-Atari-Basic ist wegen eines
Betriebssystem-Fehlers nicht in der
Lage, »A=NOT NOT A« zu berechnen.
Dies hängt mit der Stapelverarbeitung
zusammen. Probieren Sie diese Be¬
fehlsfolge doch einfach einmal auf
Ihrem Atari 800XL aus. Aufgrund der
Syntaxkontroile Ist der Befehl nicht
zulässig. Die alten Atari-Computer rea¬
gierten auf »A=NOT NOT A« mit einem
Systemabsturz. Geben Sie die Pro¬
grammzeile doch einfach einmal unter
Turbo-Basic-XL ein. Sie werden sehen,
daß auch solche komplexen, logischen
Verknüpfungen ordnungsgemäß funk¬
tionieren. (Frank Ostrowski/wb)
Bücher zum
ATAM 6SXE/800XL/130XE
L M. Schreiber
Das Atari-Pitigraminierhandbuch
Marx 1f ^90 Seltefi
BASIC lernen, seinen Atari - einschtießlrch
Maschinensprache - bE ins Detait kennen¬
lernen und am Schluß eine iMenge Programme
haben^ mit denen man vor seinen Freunden so
fichtig angeben kann {wessen Computer kann
schon eine dreistifnmige Fuge von J. S. Bach
spielen?) ■ Wenn Sie das wollen^ dann ist dieses
Buch für Sie gerade richtig, auch oder gerade
wenn Sie Anfänger sind. Wach vollendieter Lek¬
türe wind man das Buch aber nicht 2 ur Seite
legen; Es enthält eine solche Fülle an tnforma-
ttonen, da0 es auch als Nachschlagewerk
bestens geeignet ist.
• BASIC- und Atari-Einführung für don Anfän¬
ger. Nachschlagewerk für den Fortge¬
schrittenen.
Bost-Kr. MT 75i
ISBN 3-^9090-0^2-3
DM SZWsFr. 47.30/ÖS 40S,60
CCMPUTER
O^Sdilüssdzum
ÄEyö^W^atoo^Kiler
A
LonA^iole^ Sr^eveaCook
imJ
L. Poolc/M. McNiff/S. Cook
Mein Atari'Coinputer
1933, 500 Seiten
Ein Handbuch, das für jeden Atari-Besitzer
wertvolte InfofmatkJriCfi er^thält Ob Sie einen
Atari 400, eoo. ©00 XL, 800 XL oder 1450
XLD besitzen, das Handbuch gibt Ihnen Aus¬
kunft zu allen Fragen der Bedienung und
BASIC-Prog Jam mierung, zum Umgang mit Kas¬
setten, Drucker und DisJ<ettenstatlon, zum Er¬
zeugen von Büd und Ton. Es ist rgich bebikfert
und enthält eine Vielzahi der für den ernsthaft
Interessierten so wichtigen Tabellen. Beson¬
ders im Anhang findet sich so mancher Lecker¬
bissen für den echten Freak. z.B. eine Erklärung
der wichtigsten Speicheradressen für PEEKs
und POKEs,
• Ein Handbuch zur Losung aller Atari-
ProblemeL
Best.-^r. PW 5S4
tSBN 3-921303-18-7
DM SOHsFr. S4,30töS 400,20
H. L Schneider/R, Bichler
Das Atari-Bucli
Dand 1: Drundlegeiide
Programmier-
mögBchkeiten
Oktober 1984,158 Seiten
Auch wer BASIC kann und
sein Atari’Handbuch durch-
gearbeitot hat, wird ohne zu¬
sätzliche Anregungen seinen
Atsdi-Computer nicht völlig
ausschbpfen können.
Best.-Nr. MT 703
ISBN 3^9O9tF039-9
DM SZr^sFr. 29,50/5S 249,80
Band 2: Speziell
Programmier
mögBchkdlen und
Maschinenpragramme
Oktober 1984,197 Seiten
Das ideale Buch für die
Atarf-Pjz>grammierung in Ma¬
schinensprache.
ßest.-Nr MT 704
ISBN 3-B9090-072-0
DM 32,-^sFr. 29,50/ÖS 249,60
E. H. Carteon
Lerne BASIC
auf dem Ataii
November 1984,820 Seiten
Zu einem Computer für junge
Leute gehört auch ein Lehr-
Ltnd Lernbuch für junge Leute
Da tut es nicht irgendein ßA-
SIC-Btich; der Aufbau, die
verwendeten Beispiele, das
Lerntempo und nicht zuletzt
der Ton müssen stimmen.
Nichts schreckt mehr ab als
schauderhafter Oberlehrer-
Schulbuchstil! So drehen sich
auch die Beispiele vorzugs¬
weise um Spiele (Action-,
Brett- und Wortlisten), denn
auch an ihnen läßt sich Pro¬
grammieren ertemen. Die
Lehfiünen Sind nicht ZU lang,
mit ^afiken aufgelcckert und
mit Übungsbeispielcn. verse¬
hen (selbstverständlich inklu¬
sive Lösungen),
8est,-Nr. MT 692
ISBN 3-S9<t9<M)07-0
DM 38WsFr, 3SWÖS 296,40
Markt äTechnik-Fachbücher
erhalten Sie bei Ihrem Buchhändler
Bestellkarten bitte an Ihren Buchhändler
oder an einen unserer Depot-Händler.
Adressenverzeichnis am Ende des Heftes.
Bestellungen im Ausland bitte an untenstehende Adressen.
Schweiz: Markt 8cTechnik Vertriebs AG,
Koilerstrasse 3, CH-6300 Zug, 'S? 042/415656
Österreich: Rudolf Lechaer & Sohn,
Heizwerkstraße 10, A-1232 Wien, 'S 0222/677526
H. Kohl/T. Kahn/
L Lindsay/P GJeland
S^l und Spa0
mit dem Alari
1984, 338 Saiten
Den Umgang mit dem Compu¬
ter lernt man am besten durch
Ausprobfceren; deshalb scitte
ein Einführungsbuch mög¬
lichst viele Beispiele enthaJ-
ten. In diesem Buch finden
Sie daher über 100 Pro-
grammbausleine, die zusam¬
men mit 20 fertigen und voli-
ständlgen Programmen ein
solides Fundament für den
Umgang mit BASIC und Ihrem
Computer legen. So können
Sie besser die interessanten
Ton- und Grafikmöglichkeiten
des Atari nutzen.
• Ein Lehr- und Arbeitsbuch
für Anfänger, die BASIC und ih¬
ren Atari kennenlernen wollen.
8est.-Nr. MT 672
ISSN 3r8909(H)02-X
DM42,-/sFr. 38,6(WöS 327,60
A. Z. Lamothe jr.
AusgesuchlB Atart-
Programme mit LIstmgs
Oktober 1984,171 Seiten
Es gibt drei Möglichkeiten, mit
einem Computer zu arbeiten!;
man kann fertige Programme
kaufen, man lernt selber pro¬
grammieren oder tippt Pro-
gr^meab und macht sich so
mit der Funktion seines Com¬
puters vertraut.
□ie^s Buch ist für diejenigen
gedacht, die es mit der dritten
Methode versuchen woUen.
Durch das Abschreiben der
Programme lernen Sie leich¬
ter den Umgang mit Ihrem
Computer und werden an die
Grundbegriffe des Pregram-
mierens herangeföhrt
Alle Programme lauten mit der
Atari-SAStC-Version, die mit
fast alen Atari-Computern
ausgeliefert wird.
Best.-Nr. MT 759
ISBN 3-89090-07fM
DM 32,-^sFr.29,50fÖS 249,60
T. Rowley
Spriihentle kle«n
mit Atari-Grafik
Januar 1985, 224 Seiten
Ein eigenes Such nur für Gra¬
fik? Bei den umwerfenden
Grafik-Möglichkeiten des Ata¬
ri ist es das sehen wert.
Schließlich vioWon Sie ja nicht
nur in die Grundlagen der Bild¬
erzeugung eingefOhrt wer¬
den: Es sol schon auch bunt,
bewegt und dreidimensional
zugehen. Wie man Zeiehen-
sätze verändert, erfahren Sie
selbstversiändJich auch. Ein
biOchen BASIC sollten Sie
aber schon können, um mög¬
lichst viel von diesem Buch zu
haben,
• Grafikprogrammierung für
BASIC-Erfahrene auf dem
Atari 400 oder 800.
Besi.-Nr. PW 716
ISBN 3-921803-39-X
DM 49,-^sFr. 45,10/öS 382,20
H. Glieksman
Der Atäri ats Kusiiebax
November 1964,194 Seiten
Die Soundmöglichkeiten des
Atari sind schon beinahe le¬
gendär; sie nutzen Ihnen Je¬
doch wenig, wenn Sie über
die Prinzipien der Klanger¬
zeugung und Muaikprogram-
mierung nacht Bescheid wis¬
sen. Deshalb bringt dieses
Buch eine Fülle einfacher und
lehrreicher Prognammbei-
sptele, die auch dem in BASIC
nicht so Versierten das Ver-
stäridnäs der wichtigsten
Techniken erlauben. Und so
können Sk? zuletzt nicht nur
beliebige Klänge erzeugen
oder den Computer in einen
Synthesizer verwandeln. Sie
, besitzen auch eine eigene
»Diskothek^ von beliebten
und bekannten Melodien, die
Ihr Atari auf Knopfdruck vier¬
stimmig spielen kann.
Best.-Nr. MT 797
ISBN 3-6909(M)75'5
OM 29,80/sFr. 27.50ÄS232.40
Markt SJechnik
BUCHVERIAG
Hans-PinseFStraße 2, 8013 Haar bei München
kostenlose"®,
Verzeichnis m
ZOOaMOo"®"
terbüchernui
viareprogfani
l direWb®""
TURBO-BASiC
Der Unterschied liegt
im Detail
Läuft ihr Programm nicht unter
Turbo-Basic XL? Einige Ände¬
rungen lassen auch Ihr norma¬
les Afari-Basic-Progiamm zum
Renner werden.
7 W urbo-Basic XL ist wesentlich
schneller als das eingebaute
Atari-Basic (siehe hierzu auch den
Geschwindigkeitsvergleich zwischen
den derzeit erhätlichen Basic-Versio-
nen für den Atari 800XL und 130XE
in diesem Sonderheft). Die hohe
Geschwindigkeit ist in den meisten
Anwendungsfällen sicher erwünscht.
Allerdings ergeben sich daraus auch
manchmal Probleme. Oft sind nämlich in
Atari-Basic geschriebene Spielpro¬
gramme unter Turbo-Basic XL kaum
mehr spielbar, da die enorme
Geschwindigkeit dem Spieler nicht
mehr genügend Reaktionszeit erlaubt.
Abhilfe; Verzögerungen in Form von
Warteschleifen einbauen oder den spe¬
ziellen PAUSE-Befehl verwenden. Oder
bauen Sie doch einfach zusätzliche
Geräusch-Effekte ein.
In Atari-Basic wird eine kurze Verzö¬
gerung auch mit »0=1'^« realisiert, in
Turbo-Basic XL wird diese Berechnung
aber wesentlich schneller als in Atari-
Basic ausgeführt. Potenzierung mit
ganzzahligem Exponenten (<100)
wird durch wiederholte Multiplikation
berechnet, und nicht, wie in Atari-Basic,
nach der Formel »a'b=exp(b*log(a))«.
Am einfachsten ist es, »Q=1'1« durch
»PAUSE 9« zu ersetzen. Dies nimmt
etwa die gleiche Zeit in Anspruch und
spart sogar etwas Speicherplatz.
Verzögerungsschleifen mit FOR..
NEXT. sind in Atari-Basic sehr langsam
- besonders wenn sie sich am Pro¬
grammende befinden. Am besten
ersetzen Sie solche Schleifen auch
durch entsprechende PAUSE-Befehle.
Verbotene Befehle
Turbo-Basic XL beinhaltet wesentlich
mehr Befehle als Atari-Basic. Deshalb
können Probleme mit Variablennamen
auftreten. Namen wie ERR, HEX$ oder
DEL(ta) sind nämlich in Atari-Basic
erlaubt, in Turbo-Basic XL jedoch nicht
(es handelt sich hierbei um reservierte
Worte). Beim Laden und Starten eines
Atari-Basic-Programms macht sich
dieser Unterschied noch nicht bemerk¬
bar. Erst wenn Sie versuchen, ein Pro¬
gramm mit diesen Variabiennamen zu
editieren, ergeben sich Fehlermeldun¬
gen oder falsch übersetzte Programm¬
zeilen. Bei »LET ERR = 100« wird die
Variable ERR benutzt, bei »A=ERR«
Jedoch die Turbo-Basic XL-Funktion
»ERR«. Dann bleibt als einzige Alterna¬
tive. die Variabiennamen manuell zu
ändern. Dabei hilft übrigens der DUMP-
Befehl, mit dem man sich die im Pro¬
gramm verwendeten Variablen auflisten
lassen kann.
Nach dem Laden des betreffenden
Programms mit LOAD geben Sie ein¬
fach DUMP ein, und alle Variablen wer¬
den auf dem Bildschirm ausgegeben.
Falls Sie einen Drucker besitzen, erfolgt
die Ausgabe nach »DUMP "P:"« auf
dem Drucker. Schreiben Sie sich dann
alle Variablennamen auf, die geändert
werden müssen. Dabei bleibt es Ihnen
nicht erspart, jede einzelne Progrgmtim-
zeile zu kontrollieren und gegebenen¬
falls zu ändern. Speichern Sie das
Programm anschließend mit »LIST
"D.xxx.xxx"« auf Diskette, geben Sie
NEW und dann »ENTER "Dixxx-xxx"«
ein. Diese Befehlsfolge bewirkt, daß die
Variabfennamentabelle neu geschrie¬
ben wird. Nicht benutzte Variablen bele¬
gen dann auch keinen Speicherplatz
mehr. Mit DUMP können Sie nochmeds
kontrollieren, ob Sie irgendwelche
Variablen übersehen haben. Wenn Sie
alle Korrekturen vorgenommen haben,
sichern Sie das Programm mit SAVE auf
Diskette und führen Sie einen Probelauf
durch.
Turbo-Basic XL liegt nicht im ROM
vor, sondern wird von Diskette geladen.
Da es noch wesentlich umfangreicher
als Atari-Basic ist (etwa 18 KByte statt
8 KByte), wurde ein Großteil des Inter¬
preters unter den OS-ROMs versteckt
(12 KByte). Die restlichen 6 KByte
befinden sich an der Speicherunter¬
grenze direkt über dem DOS.
Ursprünglich wurde Turbo-Basic XL
auf einem Atari 400 mit 48 KByte RAM
geschrieben. Bei dieser Version befand
sich der gesamte Interpreter über dem
DOS. Allerdings blieben so nur etwa 20
KByte für Basic-Programme übrig. Der
800XL besitzt dagegen insgesamt 64
KByte RAM, die Turbo-Basic XL auch
voll nutzt. Von den zusätzlichen 14
KByte werden aber noch 2 KByte von
Kopien der beiden ROM-Zeichengene-
ratoren belegt. Eine Maßnahme; die
Bildstörungen bei Textdarstellung -
sobald das ROM abgeschaltet wird -
verhindert. Turbo-Basic XL ist nun aber
viel zu umfangreich, um in die verblei¬
benden 12 KByte hineinzupassen.
Deshalb ließ es sich nicht umgehen,
auch einige Programmteile in Berei¬
chen abzulegen, die normalerweise für
Basic-Programme reserviert sind. Auf
diese Art und Weise lassen sich Unter¬
programme der ROMS benutzen. Wei¬
terhin erlaubt dies noch die Durchfüh¬
rung der Interrupts.
Der im Basic-Bereich untergebrachte
Teil von Turbo-Basic XL belegt die
Adressen von $2080 bis $3629 (hexa¬
dezimal). Es handelt sich also um den
Bereich direkt oberhalb von DOS 2.5
bei fünf- installierten Diskettenlaufwer¬
ken (01: bis D4: und der RAM-Disk D8:
auf dem 130 XE) und 7 Filepuffern. Ein
POKE in diesen Bereich dürfte meist
zum Absturz des Computers führen,
oder - was weitaus schlimmer wäre - zu
einem Fehlverhalten des Interpreters.
Denn daraus können sich sogar falsche
Rechenergebnisse ableiten.
Während der Ausführung der Befehle
POKE, DPOKE, MOVE und -MOVE
wird jeweils der ROM-Bereich einge¬
schaltet. So können diese Befehle im
»ROM«-Teil von Turbo-Basic XL keinen
Schaden anrichten. Außerdem ist der
ROM-Bereich noch bei den Befehlen
PEEK, DPEEK, allen l/O-Befehlen wie
PRINT, INPUT, BGET, BPUT et& akti¬
viert, jedoch nicht bei PAINT, sowie der
Ausführung einiger Arithmetik-Routi¬
nen (es werden einige Werte aus den
Floating-Point-Routinen sowie die
STR$- und VAL-Routinen verwendet).
Vorsicht, Interrupt!
Tritt ein Interrupt auf, während die
ROMS eingeschaltet sind, wird er wie
gewohnt ausgeführt. Wenn die ROMs
allerdings ausgeschaltet sind, ver¬
zweigt der Interrupt zuerst in den
unteren RAM-Teil des Interpretera Dort
werden zuerst die ROMs eingeschaltet.
Nachdem ein Interrupt für die ROM-
Routinen simuliert wird, werden die
ROMs wieder stillgelegt. Aus diesem
Grund dauern die Interrupt-Routinen
einige Mikrosekunden länger. Dies gilt
allerdings nicht für den Display-List-
Interrupt (DLI), da dieser parallel zum
Bildaufbau ablaufen muß. Der Interrupt
wird hier schon vom Interpreter er¬
kannt, so daß er sofort ausgeführt wer¬
den kann. Er muß also auch bei abge-
schaiteten ROMs ablaufen.
Der Speicherplatz für Basic-Pro¬
gramme, Daten und den Stack reicht
30
TURBO-BASIC
unter Atari-Basic bis $AOOO (40960),
unter Turbo-Basic XL aber bis $C000
(49152). Das Basic-ROM wird hierbei
nämlich nicht benutzt und kann deshalb
immer abgeschaltet bleiben. Reine
Basic-Programme, also ohne USR-
Aufrufe und POKEs, sind von dieser
Verschiebung nicht betroffen. Kritisch
sind POKEs und USR-Aufrufe in Adres¬
sen im Bereich zwischen 30000 und
40960. Wenn Sie also ein Programm
verwenden, das einen Befehl wie bei¬
spielsweise »POKE 39994,4« enthält,
dürfte das Programm unter Turbo-Basic
XL nur mit einigen Anpassungen laufen.
Dieser POKE-Befehl verändert übri¬
gens die Display-List. Hierbei handelt
es sich um die Maschinensprache des
Videoprozessors, der Antic genannt
wird.
Da es auch noch den 600 XL mit 16
KByte und den Atari 400 und 800 mit
16,32 und 48 KByte RAM gibt, existie¬
ren auch Programme, die sich an ver¬
schiedene Speichermengen anpas¬
sen. Dazu benutzt das OS (Operating
System) des Atari verschiedene Pointer
(Zeiger), auf die auch Basic zurück¬
greift. Der wichtigste davon ist RAM-
TOP, also die Speicherzelle 106 {$6A}.
Sie enthält das MSB (Most Significant
Byte) der ersten nicht mehr benutzba¬
ren Speicherzellen für Programme Das
heißt, nach »PEEK(106)*256« erhält
man einen Wert, der um eins höher ist
als die höchste RAM-Adresse. In Atari-
Basic ergibt »PEEK(106)« also 160
(•$ AO), in Turbo-Basic XL entsprechend
192 ($00). Durch »POKE 106,PEEK
{106)-16« lassen sich so 4096 Bytes
(16*256) vor dem Zugriff durch das OS
und Basic schützen.
Anschließend ist noch ein GRA-
PHICS-Befehl nötig, um die anderen
Pointer anzupassen und um den Bild¬
schirmspeicher zu verschieben. Durch
»POKE 106,160;GRAPHICS 0« am
Anfang eines Programms wird also die
Atari-Basic-Speicheranordnung simu¬
liert. Dann bleiben allerdings wieder 8
KByte weniger Speicherplatz für das
Basic-Programm übrig. Dafür beginnt
aber der Bildschirmspeicher schon ab
Adresse 40000 statt 48192. Für kurze
Programme reicht diese Minimalanpas¬
sung vollkommen aus. Sollte ein Pro¬
gramm aber länger sein, wie zum Bei¬
spiel »Magic-Painter« (Listing des
Monats, Happy-Computer, Ausgabe
3/85), gibt es zwei Möglichkeiten:
1) Alte POKE- und USR-Adressen um
8192 erhöhen. Dies klappt aber nur bei
retokatiblen, das heißt, bei verschieb¬
baren Daten und Maschinenprogram¬
men. Leidersind diese recht selten; und
wenn sie autreten, dann hat der Pro¬
grammierer das Maschinenprogramm
meist in einem String untergebracht
(das Kennzeichen dafür ist stets;
»USR(ADR(X$),...))«. Dieser Aufruf
bereitet aber keine Schwierigkeiten.
Sie können natürlich die Maschinenpro¬
gramme relozieren, also an die andere
Adreßlage anpassen. Dies erfordert
aber Assemblerkenntnisse und viel
Zeit- und Arbeitsaufwand. Einfacher ist
es, wenn der Quelltext des Programms
zur Verfügung steht.
Verbotene Adressen
Auf Probleme stößt man auch bei den
Daten für Player/Missile-Grafiken oder
bei veränderten Zeichensätzen. Hier
sind die POKE-Befehle, die deren
Adressen dem Operating System oder
der Hardware mitteilen, anzupassen.
Dabei handelt es sich meist um POKEs
auf die Adressen 756, 54279, 561
und 89 (und 513 etc). Der gePOKEte
Wert ist dann jeweils um 32 zu erhöhen.
Manchmal werden diese Adressen
auch innerhalb von Maschinenpro¬
grammen angesprochen.
Sie sehen also, daß diese Anpassung
ohne genaue Kenntnisse des Pro¬
gramms und der Hardware fast unmög¬
lich ist.
2) Das Programm um 8 KByte kürzen.
Dies ist bei großzügig (gut) kommentier¬
ten Programmen manchmal allein durch
Streichen der REM-Zeilen zu errei¬
chen. Oft hilft auch das Auslagern von
DATAs in ein Vorprogramm, das in einer
READ-Schleife Daten einPOKEt, und
dann das gekürzte Hauptprogramm mit
»Run "Dixxx.xxx"« startet. Schneller
ist aber ein entsprechender BLOAD-
oder BGET-Befehl, wenn die Daten im
entsprechenden Format auf Diskette
vorliegen. Dies spart übrigens auch
wertvollen Platz auf der Diskette. Wei¬
terhin läßt sich auch durch geschickten
Einsatz der erweiterten Turbo-Basic XL-
Befehle viel Speicherplatz sparen.
Durch einen kombinierten Einsatz
dieser Mittel wurde auch das Programm
»Magic-Painter« angepaßt. Besonders
hilfreich waren dabei die Befehle
BLOAD, CIRCLE und TEXT. Noch ein
Tip: Wäre »Magic-Painter« in Turbo-
Basic XL geschrieben worden, könnte
es ohne weiteres in der höchstauflö-
senden Farbgrafikstufe 15+16 arbei¬
ten, statt in Grafikstufe 7+16. Schlie߬
lich stehen unter Turbo-Basic XL
8 KByte RAM mehr zur Verfügung.
(Frank Ostrowski/wb)
Adresse Alari-Basic
Adresse Turbo-Basic XL
FPFP
FFFF
V
D800
DOOO
OS-ROM
D800
DOOO
OS-ROM / Interpreter
l/O-Chips
I/O-Chips
cooo
OS-ROM
cooo
OS-ROM / interpreter
Grafik-RAM
AOOO
Basic-ROM
---- — --
Grafik-RAM
Basic-Stack
Basic-Stack
Arrays
- —
Programm
^rays
3629
2080
Programm
2080
Interpreter
0700
0000
DOS 2.5
0700
0000
DOS 2.5
OS-Variabien
OS-Variabfen
Die Speicheraufteiiung von Turbo-Basic XL im Vergleich zum normalen Atari-BasiCL
31
TURBO-BASIC
Auf die Taste,
fertig, ios!
Ü r m Aussagen über die Geschwin¬
digkeit eines Computers oder
einer Programmiersprache
machen zu können, bedient man sich
üblicherweise sogenannter Bench¬
mark-Programme. Hierbei handelt es
sich um kurze Algorithmen, die mög¬
lichst ohne Änderung auf allen zu
testenden Versionen laufen sollten, ln
diesem Fall wurden alle Benchmarks in
Standard-Atari-Basic geschrieben und,
soweit dies durchführbar war, direkt in
die anderen Sprachen übernommen.
Neun unterschiedliche Benchmarks
Wie schnell Turbo-Basic-XL und
der TurbO'BasiC'Compiler wirk¬
lich sind, soll ein Vergleich mit
anderen Programmiersprachen
und Compilern zeigen.
werden erweisen, wie schnell Turbo-
Basic XL und der Turbo-Compiler im
Vergleich mit anderen Programmier¬
sprachen für den Atari sind. Zur Zeit¬
messung wurden die Speicherstellen
19 und 20 herangezogen. Die Spei¬
cherstelle 20 wird durch einen Inter¬
ruptimpuls 50mal pro Sekunde inkre-
mentiert.
Ist der Wert 256 erreicht, erhöht sich
der Wert in Speicherstelle 19 um 1 und
Adresse 20 wird auf 0 zurückgesetzt.
Liest man diesen Zwei-Byte-Wert und
teilt ihn durch den Faktor 50, so erhält
man eine ZeitEungabe in Sekunden. Um
die Unterschiede der Rechenzeiten
deutlicher zu machen, wird jeder
Benchmark lOOOmal durchlaufen.
Als erste Vergleichssprache diente
natürlich das normale Atari-Basic Wie
man der Tabelle entnehmen kann, ist
10 DIM M<5)tAS(1000)
<CC>
610
K==0
<FT>
20 7 "ATARI^BENCHMARKS“
<CH>
620
K=K+1
<RH>
99 REM Bench 1
<PA>
630
A=K/2*3+4-5
<ZK>
100
POKE 20,0:POKE 19,0
<XGl>
640
SOBUB 2000
<RG>
110
FDR 1=1 TO 1000
<S9>
650
FOR L=t TO 5
<FD>
120
NEXT I
<FV>
660
NEXT L
<HM>
130
T1 =FEEK C 20) 1-PEEK C 19) ^^256
<CE>
670
IF K<1000 THEN 620
<TU>
190
? "Tl^=*“';Tl/50
<GZ>
680
T6=PEEK(20)+PEEK(19)*256
<DX>
199
REM ßench 2
<OZ>
690
? "T6*=^";T6/50
<LZ >
200
POKE 20,0:POKE 19,0
<XR.>
699
REM **■* Bench 7 ***
<sv>
210
K=0
<FF>
700
POKE 20,0:POKE 19,0
<X14>
220
K=K+1
<RD>
710
K=0
<FÜ>
230
IF K<1000 THEN 220
<QG>
720
K=K+1
<RX>
240
T2=PEEK C20> +PEEK <19)*256
<CN>
730
A=K/2*3-t'4-5
<ZL>
290
7 "T2-=^";T2/50
<HZ>
740
60SUB 2000
<RH> ’
299
REM *** Bench 3 ***
<PT>
750
FOR L=1 TO 5
<PE>
300
POKE 20,0:POKE 19,0
<XB>
75S
M(L)-A
310
K=0
<FQ>
760
NEXT L
<HN>
320
K=K+1
<RE>
770
IF K<1000 THEN 720
UF' c''
330
A^K/K*K+K-K
<QH>
780
T7=PEEK(20)+PEEK(19)*256
<EE>
340
IF K<1000 THEN 320
<RD>
790
7 '»T7^=^";T7/50
< M7 >
350
T3=PEEK C20> +PEEK < 19)*256
<CW.>
799
REM *** Bench 8 ***
390
7 "T3*=*":T3/50
<I2>
B00
POKE 20,8:POKE 19,0
< X X >
399
REM *** Bench 4 ***
<QN>
810
K=0
:F9>
400
POKE 20,0:POKE 19,0
<XT>
S20
K=K+1
<RJ>
410
K=0
<FR>
830
A^K'^2
<F0>
420
K=K+1
<RF>
840
B=LG6CK>
<WU>
430
A=K/2*3+4-5
<ZI>
850
C=S1N<K>
<ZN>
440
IF K<100O THEN 420
<RY>
860
IF K<1000 THEN 820
<VI >
450
T4=PEEK C20> +PEEK<19)*256
<DD>
870
TS=FE£K(20)+PEEK(19)*256
<EJ>
490
? '‘T4*=^"5T4/50
<J2>
390
7 ”Te*=*";T8/50
<NZ>
499
R£rt *** Bench 5 ***
<RH>
899
REM ***BENCH 9 ***
<Ke>
500
POKE 20,0:POKE 19,0
<XU>
900
POKE 20,0:POKE 19,0
<XY>
510
K=0
<FS>
910
FÜR 1=^1 TO 1000
<HD>
520
K=K+1
<Re>
920
CI ,I) = ''A"
<WZ>
530
A=K/2*3+4-5
<ZJ>
930
NEXT I
<GF>
540
0OSÜB 2000
<RF>
940
T9=PEEK C 20 > +FEEK(19)*256
<EK>
550
IF K<1000 THEN 52Ö
<SV>
950
7 •■T9*=-^”;T9/50
<0R>
560
T5=PEEK(20> +PEEK C19)*256
<DM>
1000 TS=Tl+T2+T3+T4+T5+T6-i-T7+TS+T9
<MU>
590
7 ■■T5^=*";T5/50
<KZ>
1010 7 :7 TB/50
<HA>
599
REM *** Bench 6 ***
<B&>
1020 END
<PV >
600
POKE 20,0:POKE 19,0
<XV>
2008 RETURN
<GÜ>
üstiRg zu »Benchmarks«
32
TURBO-BASIC
0C90? A5
DS
E5
E4
05
DS
AS
D7<:F4>
0F80:A6
FO
F0
11
EE
01
03
BO<D3>
1270:BD
CD
33
65
04
85
04
BO<6A>
0C98:i:5
E3
8S
07
A5
D6
ES
E2<ZA>
0FSB!09
DE
95
EZ
CA
10
F8
CE<E0>
1278:07
33
65
D5
SS
05
93
29<90>
0CA0= Q5
06
A5
05
E5
El
85
D5<5B>
0F9O:Z1
03
4C
00
28
18
60
3B<07>
12S0=F0
FZ
12
4A
4A
4A
AA
A5<EB>
0CA8:B0
27
AS
04
49
80
85
D4<7B>
0F98:60
A9
04
24
04
10
06
A9<;67>
1208:04
70
B9
33
83
04
AS
DS<CO>
0Cß0s38
98
ES
D9
85
09
98
E5<92>
0FA0502
00
02
A9
01
ÖS
F0
A5<2D>
1290:70
BA
33
85
DS
60
cz
07<43>
0CB8= DB
05
DG
98
E5
07
85
07<B6>
0FAS:04
29
7F
85
04
A6
F8
&D<FB>
1298:B0
FB
AS
07
29
F0
4A
85<77>
0CC0:9S
ES
D6
85
06
90
E5
D5<94>
ZFB0:36
31
85
EZ
80
37
31
85<6E>
12A0:D4
4A
4A
65
04
85
04
A5<9S>
0CCBi05
05
4C
B8
20
A6
OA
D0<D1>
0FBa:El
ED
38
31
85
E2
BO
39<2Ö>
12A8:D7
29
0F
A6
08
E0
50
65<D2>
0CD0= 02
A2
0Z
DS
A4
04
F0
6D<99>
0FC0=31
B5
E3
BD
3A
31
SS
E4<44>
12BZ:04
S5
04
B9
AD
33
65
D4<B2>
0CD8!A5
05
00
5C
SB
A5
06
D0<CE>
0FC8:80
3B
31
05
£5
20
00
28<52>
12BS:S5
04
B9
B4
33
65
05
85<C0>
0CE:0!47
08
A3
07
DZ
30
88
A5<3E>
0FD0:BO
C5
AS
04
29
7F
38
E9<A6>
12C0:D5
A4
06
D0
A7
60
00
10<FE>
0CES:08
DZ
lE
88
A5
09
00
0aC7C>
0RD8:40
30
24
C9
04
10
88
AA<2B>
12C8:20
30
40
50
60
00
27
4E<6D>
0CF0:a9
8A
F0
51
85
05
DZ
40<S1>
0FE0:BS
DS
85
Fl
29
IZ
F0
02<B9>
1200:75
9C
G3
EA
ES
03
D0
07<Z0>
0CFS:B5
05
86
06
A9
00
es
D9<S0>
0FEa:A9
02
10
65
Fl
29
03
65<3B>
12D8:08
ze
A0
0F
SB
13
70
17<FS>
OD00:B5
00
85
07
F0
32
85
D5<F7>
0FF0;F0
B5
F0
66
Fl
A9
m
95<90>
12E0:58
IB
40
IF
28
23
00
64<12>
0DO8:A5
09
85
D6
86
07
A9
00<1A>
0FF8:OS
CA
10
FB
20
BB
20
46<65>
12E8:CS
2C
9Z
F4
58
EC
20
04<22>
0D103B5
09
B5
DB
F0
22
05
D5<37>
1000:F0
90
09
20
9C
2E
20
BB<FZ>
12F0:Z0
0O
00
01
01
01
02
02<36>
0D18:A5
D0
85
06
A5
D9
SS
D7<19>
1008:2F
20
97
2C
20
04
2£
20<09>
12F8:03
03
4C
2B
E5
20
lE
F4<20> 1
0D20:86
D8
A9
00
B5
09
FZ
10<09>
1010:9B
26
B0
83
A9
06
AZ
1S<3E>
130Z=20
05
ES
B5
A2
S4
A3
05<D5>
0D28i: Q5
05
AS
07
35
06
AS
DS<9C>
1010:AZ
31
20
31
2E
20
23
2F<D2>
1308:A3
F0
EF
90
05
9A
05
9C<a7>
0D30:EJ5
07
A5
D9
85
08
86
09<EE>
1020=20
9E
26
46
F0
90
09
1S<FC>
1310:30
E8
A5
99
05
A0
AS
9A<0C>
QD3S=S4
D4
98
29
7F
C9
71
B0<56>
1028:AS
04
F0
04
49
ez
85
D4<F1>
1318:05
Al
20
62
C9
A5
SA
a5<77>
0040108
C9
ZF
BZ
03
20
9C
2B<7A>
1030:60
BD
03
55
14
99
39
3E<CS>
1320:E2
AS
8B
85
E3
A9
00
05<6B>
0D4Os18
6Z
86
FC
84
FD
85
EF<E0>
1038:01
60
44
27
52
BE
46
B1<81>
1328=05
ZA
05
04
20
0E
35
3O<0C>
0050:20
B5
2E
20
7C
2E
C6
EF<7C>
1040;75
43
55
3F
07
96
92
62<IF>
1330:C9
A5
89
85
8B
AS
88
S5<EA>
0050:20
9G
26
BZ
37
AS
FC
69<16>
1048:39
BF
64
59
64
00
67
40<BE>
1338 s BA
A0
01
Bl
8A
30
44
C8<93>
0060=06
85
FC
90
02
E6
FD
20<DS>
1050:0t
57
07
96
32
4Z
90
0Z<72>
134Z:B1
BA
85
9F
CÖ
Bl
BA
S5<66>
0068:7C
2E
20
90
2C
BZ
25
C6C5A>
1OS0:O0
00
00
3F
Ol
74
53
29<15>
1348:A7
C8
B4
Ae
Bi
8A
C9
0A<3A>
0070;EF
FZ
21
AO
EZ
05
85
E0<1B>
1068:25
A9
00
85
FO
BS
Fl
AS<E2>
13SZ:F0
ZA
C9
0B
F0
06
C9
0C<F1>
0078:AD
El
05
85
El
AD
E2
05<1O>
1060= 04
29
7F
C9
40
30
IB
A5<33>
1358:F0
02
C9
ZO
F0
69
C9
1E<S7>
0080:85
E2
AO
E3
05
85
£3
AD<4A>
1070:04
29
Ö0
es
FZ
E6
Fl
A9<0F>
1360=FZ
6B
C9
23
FZ
5A
C9
07<66>
0088sE4
05
85
E4
AD
E5
05
85<2C>
1078:7F
25
04
S5
04
A2
EA
A0<1O>
1368:F0
40
C9
04
FZ
6B
C9
56<45>
0D9ß:E5
4C
3F
2E
60
AZ
05
Bl<37>
1080:OF
EE
01
03
20
CD
2F
CE<39>
1370s FZ
67
A4
A7
C4
9F
90
CD<EE>
0090:FC
85
E5
B8
Bl
FC
ÖS
E4<4B>
1080:01
03
20
04
2E
20
9&
26<54>
1378: 18
AS
BA
65
9F
90
BB
E6<ES>
0DAO:88
Bl
FC
05
E3
SS
01
FC<a7>
1090:B0
47
A9
0B
A2
AE
AO
DF<FE>
1300:80
BZ
B4
A5
E3
85
es
A3<02>
0DA8:85
E2
8©
Bl
FC
05
El
e8<F9>
1098:EE
01
03
20
31
2E
C£
01<2B>
138B:E2
05
m
A0
01
Bl
SA
30<2F>
0DB0:BJ
FC
85
E0
60
AS
04
85C93>
1OA0=D3
B0
36
20
23
2F
2Z
9E<SE>
1390:20
AS
9C
91
SA
88
AS
9e<0F>
QDBS:E0
AS
05
85
El
AS
D6
85<E9>
10A8:26
B0
2E
A5
Fl
F0
19
A2<F3> 1
1398:91
BA
IB
65
A2
SS
9B
A5<F2>
ODC0:E2
A5
07
BS
E3
A5
08
85<50>
10B0:0S
EE
01
03
BD
FZ
DF
95<14>
13A0:9C
65
A3
85
9C
A0
02
B1<B1>
ßDCB:E4
fi5
09
05
ES
60
AS
04<69>
10B0=E0
CA
10
FB
CE
01
03
20<35>
13AB:aA
65
8A
90
DC
E6
SB
B0<72>
0DDO:SO
E0
05
A5
05
60
El
0S<B3>
10C0;9D
2C
AS
FZ
05
D4
85
04<22>
13B0;DS
20
CS
C9
4C
B5
Fl
20<2F>
0008:A5
06
80
E2
05
A5
07
aD<A0>
10CB:A5
FB
F0
0D
A2
05
BO
42<AD>
1363:66
35
EO
IB
O0
B4
C6
A8<0D>
0OE0:E3
05
A5
08
BO
E4
05
AS<76>
1008=31
95
£0
CA
10
FÖ
20
00<A7>
13C0:A4
AS
CS
C4
A7
B0
AB
20<65>
0DE8:D9
SD
E5
05
60
A5
04
8D<C1>
1008:20
60
38
60
18
60
A9
00<35>
13C0tD5
34
4C
39
34
20
66
35<97>
BDF0:E6
05
A5
05
BO
E7
05
A5<57>
1OEZ:85
Fl
A5
04
30
F4
FO
F4<36>
1300;E0
17
F0
07
EZ
18
DZ
9A<E4>
0DFB:D6
80
E8
05
AS
07
80
E9<92>
10E0:C9
3F
F0
05
le
69
01
85<F4>
1308:2C
E6
AS
AS
A8
C5
A7
B0<AA>
0E00:05
AS
oe
BD
EA
05
AS
D9<21>
10F0:Fl
A9
06
85
EF
A9
3F
e5<29>
13EZ:91
43
20
07
34
68
85
Ae<42>
0EOa:80
EB
Z5
60
A2
00
4C
FF<F0>
10FS:D4
20
04
2€
20
9C
2E
20<4F>
13£8:20
68
35
4C
C2
34
E6
A8<E6>
0E10:2E
A2
06
4C
FF
2G
A2
0C<63>
1100:Eß
2F
E6
05
20
97
2C
20<69>
13F0:A4
AB
84
DC
Bl
BA
FZ
2E<42>
0E1B:BD
E0
05
05
04
BD
£1
05<CB>
1108:23
2F
20
9E
26
AS
IJ4
eD<10>
13Fa=C9
0F
BZ
2A
20
4F
E4
20<21>
Oe20:85
05
BO
£2
05
85
06
ßD<BE>
.1110:£C
05
A5
05
BD
ED
05
A5<3A>
1400:25
33
A5
05
30
20
B0
1E<CS>
0E2S:E3
05
05
07
BO
E4
05
B5<F9>
1118=06
BD
EE
05
AS
07
00
£F<EZ>
14ßB:2Z
ZE
35
0B
B0
04
85
04<S7>
0E3O:DS
SO
E5
05
85
09
60
A2<40>
1120:05
AS
00
80
F0
05
AS
D9<A7>
1410=S4
D5
20
DC
2E
06
04
28<B2>
0E38: 0C
4C
25
2F
A2
06
BO
E0<85>
1128:80
Fl
05
20
9C
2E
20
FB<3D>
1418:66
D4
A4
AB
A2
05
SS
D4<D6>
0E40:05
85
EZ
SO
El
05
B5
E1<ED>
113052E
20
00
28
20
iE
2F
20<EB>
1420:08
91
8A
CA
10
FS
60
AS<14>
0E48:SO
E2
05
05
E2
BO
E3
05<31>
113ß:97
2C
20
4F
32
A5
04
FZ<65>
1428:04
C5
99
A5
05
£5
9A
B0<0E>
0E50:85
E3
BD
E4
05
85
E4
BD<20>
1140:00
20
lE
2F
20
9D
2C
C6<84>
1430:05
AS
D4
A4
05
60
AS
E2<30>
0E5B:E5
05
85
E5
60
A2
05
EE<AO>
114B:EF
10
C2
30
03
20
FD
2E<F1>
1438:85
DA
A5
E3
es
DB
A5
98<S3>
OE60;01
03
BD
89
OE
93
EZ
Cft<A0>
1150:A5
Fl
FZ
0F
4A
IB
65
D4<51>
1440:85
E0
A5
9C
ÖS
El
A0
01<01>
0E68:10
FS
CE
01
03
20
9E
26<CC>
1158=£9
IF
05
04
46
Fl
90
03<9£>
1448:B1
DA
30
20
C5
05
DO
05<5E>
^70: BZ
EA
A9
00
85
Fl
AS
D4<7B>
1160:20
9B
32
le
60
4C
9C
2B<C7>
1450:88
Bl
DA
C5
04
BZ
IF
A0<3B>
0E70:G5
F0
29
7F
85
D4
C9
40<B1>
1160:A5
04
29
7F
C9
ZF
90
F5<06>
1450102
Bl
OA
65
DA
es
DA
90<A4>
0E80:90
lE
00
OB
A5
05
29
F0<9E>
1170:20
9C
2E
F8
A2
0Z
AO
Z4<1F>
1460:02
E6
DB
88
Bl
OA
30
11<57>
OEÖO: 4A
85
Fl
4A
4A
65
Fl
ß5<34>
1178;13
AS
D9
65
G5
B5
09
A5<C5>
1468:10
A5
EO
65
A2
85
E0
A5<A8>
BE9e:Fl
A5
05
29
ZF
6S
Fl
85<EC>
1100:08
65
E4
85
03
AS
D7
6S<22>
1470;El
65
A3
4C
26
35
18
F0<E9>
0E98:Fl
A9
00
85
D5
20
BÖ
2D<73>
110BSE3
ß5
07
A5
06
65
E2
SS<2F>
1478:01
38
A5
EZ
A4
El
60
E6<11 >
0EA0:fl9
ZA
A2
40
A0
DE
EE
0i<ED>
1190:D6
AS
05
65
El
85
05
0A<04>
1480:AS
20
4F
E4
90
Fß
AA
BD<65>
0EA8S 03
20
31
2E
CE
01
03
20<77>
1190:69
00
AA
80
00
DB
DS
SA<5Z>
1483:CC
23
O0
F5
60
A9
00
2C<7A>
0EBO:9B
26
AS
Fl
F0
0F
4A
1B<CF>
11A0:F0
lA
AS
D8
BS
D9
AS
D7<E3>
1490:A9
80
80
16
23
A9
F6
A0<7B>
0EBB: 65
04
30
16
85
D4
46
F1<:7C>
HAB: 05
DB
AS
D6
B5
07
AS
D5<B4>
1490:35
80
E0
02
ÖC
El
02
A9<6F>
0EC0:90
03
20
9B
32
06
FZ
90<2C>
1100:85
D6
86
D5
AS
bs
C9
10<CA>
14A0=04
A0
01
2Z
CS
C2
EE
01<37>
0ECB;OA
20
9C
2E
20
BB
2F
4C<DE>
11B8:90
31
E6
04
A5
D5
C9
10<0A>
14A8:D3
20
07
36
C9
FF
00
60<8e>
0EO0:00
28
38
60
A9
40
85
D4<19>
11C0:90
27
4A
66
06
66
D7
66<6C>
14E0:Cö
D0
50
A9
F6
A0
35
SD<0C>
0ED8:A0
01
84
D5
88
84
06
84<64>
llC8:Da
66
09
4A
66
06
66
D7<4£>
14B8:E2
02
8C
E3
02
20
07
36<C6>
0EEO;D7
84
D8
84
09
60
86
FC<D9>
1100:66
DS
66
09
4A
66
06
66<CB>
14C0:C9
FF
00
04
C0
.FF
FZ
EB<0C>
0EE8:Q4
FD
20
B5
2E
20
7C
2E<EO>
1108:07
66
OB
66
09
4A
66
06<E2>
14Ca:9D
44
03
98
90
45
03
20<20>
0EF0:20
9D
2C
20
04
2£
20
F3<55>
11E0:66
07
66
DB
66
09
Ö5
D5<A5>
1400:07
36
38
FD
44
03
9D
48<5Z>
OEFB:2e
20
7C
2E
20
97
2C
20<59>
1lES:60
C6
04
A9
00
06
09
2ö<A0>
1408:03
98
FD
45
03
90
49
ß3<BB>
0F00;23
2F
4C
00
28
3B
60
A9<7ß>
11F0:OS
26
07
26
06
26
05
2A<10>
14E0;FE
4Ö
03
D0
03
FE
49
05<1C>
0F08:05
DZ
02
A9
00
85
FZ
A5CFE>
IIFO:06
D9
26
08
26
07
26
D6<44>
14E8-.2Z
56
E4
98
30
24
20
01<0D>
0F10:D4
3B
F2
FZ
FZ
0A
49
80<1B>
1200:26
05
2A
06
09
26
08
26<47>
14FZ:36
AO
S3
03
C9
03
D0
BB<SD>
0F18:85
Fl
A9
40
85
04
AS
D5<£0>
1208:07
26
06
26
05
2A
06
D9<92>
14F8;A2
10
A9
ZC
90
42
03
20<5F>
0F20:29
Fß
F0
05
E6
El
20
A3<F3.>
1210:26
DS
26
07
26
D6
26
D5<41>
1500:56
£4
2C
16
23
10
03
20<B4>
0F20£32
A2
66
AZ
DF
EE
01
D3<22>
12ia:2A
60
C9
FF
90
02
C0
50<Ce>
1500:04
36
A9
FE
8D
01
03
60<04>
0F30:20
CD
2F
20
04
2E
20
9B<AC>
1220:SA
69
00
05
04
60
98
29<34>
1510:A9
01
AS
20
24
23
98
4C<EE>
0F3e: 26
A9
0A
A2
72
A0
DF
20<E6>
122B:F0
4A
35
D4
4A
4A
65
04<BA>
l5iaiE4
DC
6C
E2
02
6C
EZ
02<56>
0F40:S1
2E
CE
01
03
20
23
2F<B8>
1230:85
04
98
29
0F
A6
06
E0<BO>
1520=A9
07
A2
10
90
42
03
A9<52>
0F48:20
9E
26
A9
3F
SS
EZ
A9<91>
1238:50
65
04
85
04
60
A2
00<89>
1528:00
90
48
03
90
49
03
20<06>
ÖF50150
85
El
A9
00
B5
E2
05<S9>
1240:A4
DS
A5
04
36
05
3B
E9<26>
1530:56
E4
30
DF
48
A9
Z0
9D<97>
0F58:E3
05
E4
85
E5
20
90
2C<EA>
1248:40
90
CF
FZ
09
C9
CCZ
F0<E£>
1538:48
03
20
56
£4
30
04
A8<55>
0F60:2a
9C
2E
AS
Fl
10
05
18<2F>
1250=45
B0
42
AS
06
29
Fß
4A<SE>
1540:68
60
00
60
7ß
61
AE
24<14>
0F68;49
FF
69
01
85
04
A9
00<F8>
1258:85
04
4A
4A
65
04
85
D4<EB>
0F70:a5
05
20
OC
2B
A5
Fl
29<3F>
1260:AS
06
29
ZF
A6
07
E0
50<7F>
ßF78:00
05
D4
85
04
20
90
2C<71>
1260:65
04
35
04
9B
29
0F
AA<33>
Listtng »^Turbo-Bdsic
XL
M (Fortsetzung)
41
TURBO-BASIC
15431^4
AC
23
E4
EB
D0
01
C8<7A>
1838:91
90
4C
48
CI
68
05
BF<04>
1B2S:20
98
C2
A4
AB
CB
C4
A7<5S>
L55CI p 3E
FB
24
ec
F9
24
A9
00<56>
1840:68
85
BE
68
85
BE
68
Ö5<3D>
1B30;90
Fl
60
Bl
SA
C9
IC
Fß<21>
1558:8D
BE
D4
78
A9
FE
SD
01<2©>
1B48:8A
4C
10
CI
FF
FF
A5
a6<F3>
1B38:OE
20
OD
C6
20
20
C5
A4<2A>
1560:D3
A9
AB
3D
FA
FF
A9
24<0F>
1850:35
A0
A5
87
85
Al
AS
A0<14>
1B40:A8
CS
C4
A7
90
F3
6©
20<96>
IS^BjÖD
FB
FF
A9
D0
8D
FE
FF<32>
1SSÖ5 C5
88
A5
Al
E5
89
BO
19<BD>
lS4a;A6
C4
20
AB
C4
20
04
C6<65>
15705A9
24
BD
FF
FF
A9
CC
20<4C>
1860=AO
00
Bl
AO
29
C0
C9
C0<AA>
1B50:AA
98
20
BF
C4
SA
20
20<5C>
1578:DB
6©
A9
E0
20
DB
60
A9<33>
1S6B.-D0
02
91
A0
18
A5
AO
69<3A>
lB5e:C5
A4
AB
CS
C4
A7
90
EA<BF>
15öß:4E
SD
0£
D4
58
A9
FF
BD<1D>
1870:09
85
A0
90
El
E6
Al
B0<62>
1B60:6O
20
IB
C2
A2
6©
DO
E5<6D>
1588:01
D3
20
01
61
A9
00
ÖS<2E>
1B7S:DD
60
20
05
E5
29
OF
06<73>
1868:Bl
ÖA
C9
IC
FO
04
A9
ßO<97>
1590:09
A5
0C
A4
0D
SD
SE
20<FF>
1880:93
06
9B
06
9B
06
9E
05<DC>
1B70:F0
03
20
78
DD
85
CI
A5<Ee>
159318C
SF
20
A9
80
A0
20
B5<52V
1888:98
A6
9A
DO
15
A6
99
£0<3C>
lB7a:Cl
OA
DA
OA
0A
AA
10
E0<6A>
ISftß:0C
84
0D
A9
FE
SD
01
D3<25>
1890:05
B0
0F
9D
C4
02
60
A2<B2>
1B80:A9
14
4C
DC
FS
20
AB
C4<B0>
15A3:05
CA
A2
01
8E
FS
03
86<C4>
1898:07
A9
00
9D
00
D2
CA
10<6F>
1&SS:BD
43
03
10
D3
A0
©0
8C<Fß>
15BB:ß9
CA
8E
44
02
20
04
E6<42>
1SA0:FA
60
4C
28
E5
85
A2
C8<2A>
I&90:FE
02
C9
80
DO
09
Ö4
11<34>
15B8:A9
00
85
AB
35
Al
20
5F<0F>
1SA8:C4
A7
BO
EB
20
23
E5
A0<20>
1B9S:A6
CA
FO
C4
4C
SD
E6
A4<9F>
15C0SC9
A0
IF
A2
SA
20
86
25<74>
1800:00
24
A2
10
03
OA
AO
7B<36>
lEAO=Cl
'C9
SB
F0
OF
85
B9
C0<37>
1500:A0
lE
B9
A7
60
91
97
8S<D6>
l©Ba;C9
04
BD
E6
OA
48
8C
08<31>
1BAG:07
D0
03
20
FB
C4
20
D1<9C>
1500510
Fe
20
CS
C9
A9
FF
48<07>
18C0=D2
A9
03
SD
0F
D2
20
05<42>
1BB0;F5
4C
DE
F8
CO
07
D©
ED<66>
15DS5A9
AE
48
20
C6
60
CE
ßl<95>
1QC8:E5
68
AA
A5
99
9D
00
D2<EE>
IBBS:A2
5D
E4
C2
D0
E7
20
F8<D1>
15E0;D3
A9
00
A8
99
00
00
SB<4C>
18D0:24
A2
10
07
£8
ES
A5
9A<F1>
1BC0:C4
4C
6e
E6
20
AB
C4
F0<3F>
15E0:10
FA
4C
3A
F5
00
00
19<66>
18D8:9D
00
D2
AS
9B
0A
0A
0A<B6>
1BC8;97
A9
OC
4C
lA
CS
AO
FF<1D>
1SFB:07
0D
67
14
19
25
0F
aD<93>
ISEßrDA
05
D4
9D
01
D2
60
20<DB>
1BD0:A9
00
9D
49
03
98
9D
48<EA>
15F8:44
3A
41
55
54
4F
52
55<15>
1BE8:13
E5
85
55
84
56
20
23<91 >
lBDS=ß3
AS
F4
A4
F3
9D
45
03<4B>
l 600:4E
2E
42
41
53
16
01
00<10>
IBFOsES
85
54
60
20
13
E5
S5<10>
tBE0j98
9D
44
03
A5
C0
9D
42<EB>
16005 06
06
16
16
A9
FF
SD
01<3A>
iaFS:CS
60
20
13
E5
ÖD
FD
02<B2V
1BE8:03
4C
90
24
A0
©0
48
98<0D>
1610:D5
A9
C0
©5
6A
4A
85
0F<A2>
1900:60
A9
12
2C
A9
11
48
20<:C3>
1BF0:4B
2©
00
E4
68
85
D5
63<F7>
161Ö:AD
01
E4
48
AD
00
E4
4S<51>
1908=IB
C2
A5
CO
BD
FB
02
A2<B7>
1EF8:85
D4
20
DC
2B
4C
CO
E5<9a>
1620:60
85
D5
A0
00
B4
04
A2<8©>
1910:60
A9
OC
90
4A
03
A9
00<91>
1C00:A9
00
A2
07
9D
©0
D2
CA<aD>
1628504
A9
FF
ÖD
Dl
D3
El
D4<C3>
1918:9D
4B
03
68
4C
FE
C5
A2<CS>
1C08:10
FA
AO
07
84
CI
20
F8<AA>
1630:99
00
21
C8
D0
FS
CE
01<4C>
1920:06
B6
CI
20
FS
C4
20
13<25>
1C10:C4
C6
CI
D0
F9
60
ce
C4<4D>
163S:D3
B9
00
21
91
D4
C8
D0<S3>
1920:E5
A2
0D
A0
23
86
F3
Ö4<AA>
lCie:A7
BO
ES
A9
OC
85
Cß
20<C8>
1640;F8
E6
D5
CA
Ü0
E3
60
A2<AC> '
1930:F4
A2
06
29
F0
49
ic
A8<A0>
1C20:A6
C4
20
18
CS
4C
B9
C4<12>
1648;10
A9
D6
9D
44
03
A9
0O<eA>
1938:A5
D4
20
B4
C3
4C
B9
C4<73>
lC2a=A2
06
86
F2
BD
6C
C5
2ß<C5>
1650:9D
45
03
9D
49
03
A9
04<EB>
1940:20
lE
C2
A4
CÖ
A2
60
4C<1C>
1C30:96
C2
A6
F2
CA
10
F3
60<6C>
1658:9D
43
03
A9
07
9D
42
03<86>
1948:9C
C2
A6
B4
DO
05
AS
C2<SE>
1C3Q;9B
59
44
41
4S
52
9B
20<29>
1660:20
56
E4
30
59
A9
7C
ß50F>
1950:20
96
C2
A6
E4
A9
05
20<49>
1C40:DC
E4
A5
D4
85
F3
A5
D5<47>
1668:DA
9D
44
03
A9
61
85
0B<56>
1958;AD
C2
20
02
C5
4C
B9
C4<82>
1848:85
F4
A4
D6
A6
D7
FO
02<A4>
i670:9D
45
03
A5
D8
E5
D6
85<EA>
1960:A9
9E
A6
B5
AS
20
AF
C2<FB>
1C50:Aß
FF
Bl
F3
85
97
84
98<FD>
167GzDC
AS
D9
E5
D7
85
DD
E6<D3>
1968:BD
4A
03
85
2A
BD
4B
03<52>
1C58:A9
9B
91
F3
85
92
60
A4<3E>
1630:DC
D0
02
E6
DD
AS
DC
9D<FF>
1970:85
2B
20
DE
24
98
4C
BF<E7>
1C60;9S
A3
97
91
F3
A9
©0
e5<B9>
1688540
03
A5
DD
9D
49
03
20<2C>
1978:C4
85
C0
86
CI
4C
AB
C4<9e>
1C68;92
4C
AB
2B
A9
©6
20
C6<6Ö>
1690=56
E4
30
2B
CE
Dl
D3
AO<33>
1980:A9
04
20
C6
C2
85
B4
4C<45>
1C705 C2
A2
70
20
04
C6
30
ß7<C0>
1690=00
A6
DD
F0
DE
Bl
DA
91<;82>
1988:7E
E6
A9
09
20
C6
C2
85<29>
lC7a:A2
©0
20
98
C2
10
F2
98<D9>
16A0:D6
C8
D0
F9
E6
D7
E6
DB<64>
1990:05
60
A0
07
84
CI
48
20<71>
1CQ0= 48
A2
70
20
FD
C4
68
C9<E6>
16A8:CA
D0
F2
A6
DC
F0
08
B1<A5>
1998:AB
C4
20
FD
C4
A0
03
S4<0B>
1C88:88
F0
03
4C
DC
FS
60
A9<CE>
1680=DA
91
D6
C8
CA
DD
FS
A9<SB>
19Aa;CD
68
A0
00
20
DG
C3
A9<1F>
lC9ß:20
2C
A9
23
2C
A9
24
2C<C7>
16B3'-FF
8D
01
D3
30
89
60
6C<A5>
19Ae:07
60
A9
FF
2C
A9
00
4S<CB>
1C98:A9
21
85
CO
A9
07
85
C1<4D>
16C0:BA
00
E2
02
E3
02
00
60<CD>
19B0:A9
04
20
C6
C2
68
48
A9<S5>
lCAa:A9
00
AB
4C
DC
C3
A9
0B<2D>
16C8:00
C0
F7
CB
20
le
F4
20<F1>
19B8:07
85
CO
85
CA
20
AB
C4<;C8>
1CA9:2C
A9
07
48
20
A6
C4
20<C7>
16D0:CB
C0
20
FB
E4
Ö5
A0
B4<FE>
19C0:AO
OE
20
04
C5
20
B9
C4<66>
1CB0:0C
ES
20
AB
C4
A5
9B
9D<:5D>
16DS:Al
20
FB
E4
20
5F
C9
A0<26>
19C8;AD
B0
05
0D
81
05
DO
38<DA>
1CB8:44
03
A5
9C
9D
45
03
A5<4E>
16E0S 01
Bl
SA
CS
D5
D0
05
SB<EE>
19D0:A2
BC
le
A5
80
7D
00
05<BE>
1CC0:D4
9D
48
03
A5
D5
9D
49<41>
I 6 E 81 BI
8A
C5
D4
90
02
DO
16<5F>
19DS:AS
A5
81
7D
01
05
CD
E6<2B>
:CCB;03
68
2©
lA
CS
4C
A9
C2<A1>
16Fa;A0
02
18
Bl
8A
A8
65
QA<40>
19E0;02
90
0A
D0
05
CC
E5
02s9Q>
lCDO:A9
07
85
CO
AO
00
4C
04<C4>
16F8:B5
ÖA
90
02
£6
BB
A2
8A<A2>
19EB:90
03
4C
D4
F3
95
01
94<94>
1C08:C5
20
F4
24
CO
80
BO
01<1C>
1700:20
20
26
4C
13
C0
20
26<89>
19F0:00
CA
CA
EO
82
B0
DB
20<74>
1CE0:60
4C
A9
C2
A9
0B
2C
A9<©F>
1708:81
4C
B5
Fl
C3
C4
A7
B0<AB>
19F8;6E
C3
20
5B
F5
A9
00
S5<9B>
1CE3:07
85
CO
20
9C
C4
20
6B<76>
1710:03
20
BE
C2
A9
00
85
B9<e4>
1A00:CA
68
FO
01
60
4C
6B
E6<30>
iCFß:E5
2©
AB
C4
A9
D4
85
F3<E6>
1710:20
94
C2
A5
11
F0
34
A5<63>
lA0a5A9
00
85
CA
4C
Dl
F8
A9<0B>
1CFB:A9
©0
85
F4
A0
06
20
04<CD>
1720:B9
20
B3
E4
AS
9D
C5
88<F4>
1A10:08
C6
C2
A9
0B
85
C0<6i>
1D0O=C5
20
AB
2B
20
B9
C4
A5<DD>
172SeA5
9E
ES
89
B0
27
A5
B9<51>
1A18:A2
80
38
B5
00
ES
SO
9D<AF>
IDOBsCO
C9
07
D0
03
20
C0
E5<2F>
1730:20
6B
C0
e6
B9
D8
El
20<56^
lA2ß:00
05
ES
B5
00
E5
81
9Ü<1F>
1D10;A4
AB
CS
C4
A7
90
D7
60<E©>
173S:B1
F3
20
02
F2
A5
D2
C9<2E>
1A2B:00
05
EB
E0
8E
90
EB
20<45>
IDIS:A4
A9
DO
32
C6
AA
A6
AA<37>
1740SD3
B0
lE
C9
80
B0
3©
C9<C6>
1A30;AB
C4
AO
OE
20
04
C5
20<52>
1D20=C6
AA
BD
20
21
20
ED
E5<99>
1748:40
B0
34
A9
3D
20
96
C2<6A>
1A3S:B9
C4
20
AB
C4
AS
82
B5<£9>
1D28:A0
02
BD
41
21
91
9D
CS<AA>
17S0:4C
59
F9
C6
11
A5
B5
F0<6A>
1A40:F3
A5
83
85
F4
AC
ÖD
05<2E>
lD30:eD
61
21
91
9D
C8
BD
B1<S£>
1758:07
20
F8
C4
A9
D0
85
&5<62>
1A48:8B
98
AC
8C
05
20
06
C5<2E>
1D38:21
91
9D
C8
BD
Al
21
91<56>
1760:60
A0
4F
4A
E0
DA
AO
5D<77>
1A50:20
B9
C4
4C
FS
C4
A9
0S<4Ö>
1D40=9D
CÖ
BD
CI
21
91
9D
CS<FB>
1768:4A
e©
05
A9
3F
4C
96
C2<EB>
1ASB:20
9C
C3
4C
48
C3
A9
04<53>
1D4S:BD
El
21
91
9D
60
A9
S0<FA>
1770:73
20
4B
F3
A0
00
Bl
D4<SF>
1A6D:20
9C
C3
A9
00
4C
EA
C2<4S>
1D50:85
Bl
60
E6
BO
A4
A9
68<CB>
1778:AA
C8
Bl
D4
4C
52
F9
A5<7F>
1A6S:4S
A2
10
86
F3
A2
23
86<AC>
1058:68
4C
31
E4
A9
40
85
Bl<3C>
17S0;D9
48
A5
D8
48
A5
D7
A6<71>
1A70:F4
A2
07
68
AS
A9
S0
20<6F>
1D60:24
Bl
10
06
A5
AA
85
AF<C3>
1788:06
20
S2
F9
A9
2C
20
96<4F>
1A7S:B4
C3
20
B9
C4
A9
07
60<39>
1D6B;C6
AA
A5
B0
AS
FO
07
C6<A©>
1790sC2
68
AA
68
4C
52
F9
SA<SB>
1AS0:4B
A9
03
20
AD
C2
68
9D<3D>
1D70SBO
20
16
E5
30
19
84
9S<20>
1798:48
A5
90
40
A5
91
48
A5<;2D>
1A88=4B
03
98
9D
4A
03
20
OD<AB>
1D70:35
97
20
16
E5
30
10
a5<oi>
17A0;B2
48
A5
A0
48
A5
Al
4S<A6>
1A90:C5
4C
AB
28
20
13
ES
2C<75>
lDSO:F5
84
F6
20
6E
E3
24
B1<CD>
17AS;20
D3
F7
B0
2F
A4
Al
D0<SE>
1A9S:A9
03
85
C0
20
A6
C4
20<DF>
1DSB:50
08
A9
0©
35
Bi
60
4C<F0>
17B0:ta0
A9
80
85
A0
A9
CI
B5<0ß>
lAAß:13
E5
48
20
13
E5
A8
68<67>
lD90t2B
E5
46
D2
90
F9
A5
F5<©E>
1788:Al
A8
30
0E
A0
00
Bl
A0<0E>
1AAQ:48
98
48
A4
AB
C8
C4
A7<7E>
1D9Ö:C5
D6
A5
F6
E5
D7
BO
EF<BF>
17C0:C8
91
90
El
A0
CS
91
90<O3>
1AB0:B0
lA
20
00
E4
20
73
C5<52>
IDAO;A5
97
CS
De
A5
98
E5
D9<17>
17CÖ:90
DE
A0
00
Bl
A0
A0
13<8A>
1ABS:20
AB
C4
68
9D
4B
03
6©<22>
IDA8:B0
ES
A5
D9
DO
10
A4
D9<F5>
1700:91
90
A0
01
El
AD
AO
14<EA>
1AC0:9D
4A
03
20
02
C5
20
93<32>
IDBO:SS
D0
OB
AS
F5
85
F7
A5<AB>
17DS:91
90
90
CC
68
85
Al
68<A4>
1AC8:C5
4C
B9
C4
A9
07
A2
23<SD>
1D88:F6
85
F8
4C
14
C7
AO
ß0<BF>
17E0:S5
A0
68
85
B2
68
85
91<03>
1AD0:A0
05
20
71
DA
4C
E9
C3<39>
1DC0;34
F7
84
FS
AO
1©
46
D9<13>
1788:85
0F
63
85
90
85
DE
68<EC>
1AD8:20
A6
C4
A9
0D
20
lA
C5C8A>
1DC8:66
DS
90
0D
18
A5
F7
65<B4>
17F0:AA
60
48
A5
90
48
AS
91<24>
iAEO:93
4C
20
C5
A9
26
20
51<32>
1DD0:F5
85
F7
A5
FB
65
F6
85<E1>
i7F8s48
A5
B2
48
A5
A0
48
A5<47>
1AE0:C5
BD
4C
03
BC
4D
03
20<21>
IDD 81 FB
06
F5
26
F6
BS
DO
E6<D9>
1B0B:A1
48
A5
SA
4S
AS
8B
48<FB>
1AFD:22
C5
20
AB
C4
BD
4E
0S<C5>
IDEO:18
AS
97
65
F7
SS
FS
A5<D5>
1808:A5
BE
40
A5
BF
4B
20
©2<52>
lAFSs 4C
20
X5
20
A6
C4
20
13<B4>
1DES;98
65
F8
06
F5
2A
85
F6<36>
1810:CI
20
C5
C9
20
D3
F7
B0<C8>
1000:E5
20
AB
C4
A5
D4
9D
4C<45>
1DF0:AQ
A5
F5
OA
26
F6
65
F5<A9>
1813:24
43
A4
Al
C8
FD
05
20<23>
1808:03
A5
D5
9D
4D
03
20
13<25>
IDFS:AA
98
65
F6
AS
SA
65
D4<43>
1820:62
C9
90
06
A9
00
85
8A<9E>
IBlßiES
20
AB
C4
A5
D4
9D
4E<37>
1E00:AA
98
65
D5
AS
8A
65
SC<D3>
1023=85
8&
A0
01
68
10
02
A0<A9>
1B18SD3
A9
25
85
Cß
4C
56
C5<C0>
1EOS;85
FS
98
65
BD
85
F6
24<B7>
1830:13
A5
8A
91
90
CB
A5
SE<CD>
1B20:20
9C
C4
20
13
E5
A6
CKFO
1E10:B1
10
2E
A6
AF
86
AA
C6<77>
42
TURBO-BASIC
lElQ:AA
A0
00
84
Bl
BD
40
21<79>
2108=C8
C4
A7
B0
lA
C9
IC
DC^FB>
23F8:E4
20
9C
2E
20
DC
E4
A0<66>
IE20;91
F5
CS
EO
60
21
91
F5<5£>
2110:lA
E6
AB
20
4F
E4
A5
D2<ED>
2400:00
A5
D6
D0
06
AS
D7
F0<CB>
1E2S=C8
BD
80
21
91
FS
CS
BD<68>
21ie:C9
C2
D0
E5
AO
00
Bl
D4<AB>
2408:05
C6
D7
C6
D6
AA
OS
A5<A6>
1E30:A0
21
91
F5
CB
BD
C0
21<9a>
2120:AA
CS
Bl
D4
A8
SA
60
A9<69>
24i0:E2
D0
06
A5
E3
F0
20
C6<6D>
lE38s91
F5
CS
SD
E0
21
91
FS<;6A>
2128:00
AS
60
4C
13
E5
20
3A<AB>
24ie:E3
C6
£2
28
F0
16
Bl
D4<1F>
1E40:60
E6
AA
A6
AA
A0
05
B1<DC>
2130-CA
C0
00
30
09
85
E7
S4<96>
2420:Dl
E0
D0
OE
E6
D4
DO
02<C5>
1E40:FS
9D
E0
21
88
Bl
F5
9D<:3E>
213S:B8
A9
00
85
B6
60
4C
28<CC>
2428:E6
DS
E6
E0
DO
D3
E6
E1<C9>
lE5ß=C0
21
88
Bl
F5
9D
A0
21<AF>
2140:ES
A5
B7
8 S
A0
A5
BS
S5CS1>
2430:D0
CF
BO
02
CS
18
60
28<E1>
1E53:B8
Bl
F5
9D
80
21
SB
B1<BE>
2148:Al
20
62
C9
AS
8 A
85
F3<S7>
2438:38
60
20
DC
E4
A5
D6
A4<79>
1E60=F5
9D
60
21
88
Bl
F5
9D<06>
2150:A5
SB
85
F4
A5
BE
SS
BA<A9>
2440;D7
SS
D4
84
DS
20
DC
2S<6A>
1E68:40
21
5E
00
21
60
AS
B0<5C>
2158:A5
BF
SS
SB
A0
0 O
Bl
F3<:A7>
2448:A9
00
es
D2
S5
D3
4C
3A<7D>
1E70:F0
07
20
0F
C8
84
98
95<5F>
2160:85
B7
C8
Bl
F3
85
BS
CB<FS>
2450:ES
20
16
E5
A0
00
Bl
D4<56>
1E78:97
20
OF
CB
38
E9
01
e5<4E>
216B:B1
F3
SS
F5
84
F2
A4
F2<11>
2458=48
79
D9
C6
AA
39
AD
E5<19>
lES0tF5
98
E9
00
85
F6
20
6 E<EC>
2170;CS
Bl
F3
85
F6
CS
84
F2<43>
2460:02
E5
90
AA
AD
E6
02
E5<85>
1ES8:E5
A5
Bl
10
0B
05
BO
Ö5CE6>
2170:Bl
F3
C9
01
F0
23
A4
F6<42>
2468:91
AB
eA
4C
79
D9
20
73<3B>
1E90^ Bl
A4
D9
A5
DQ
4C
D0
C7<CA>
2180:C4
F5
B0
03
88
90
E9
8 S<ß8>
2470;C5
A9
00
85
F2
20
ca
2B<6S>
1E98:A5
D6
A4
07
A6
B0
F0
10<6A>
2188:84
F2
A0
01
Bl
F3
30
42<20>
2478:20
93
C5
90
CB
4C
D7
F8<74>
1EA0:C6.
B0
C4
98
90
3D
D0
04<G2>
2190:38
AS
F2
65
F3
85
F3
A9^E9>
2480:20
DC
E4
AO
00
Bl
D4
4C<FC>
1EAB:C5
97
90
37
A4
98
AS
97<0e>
2198:00
85
86
65
F4
85
F4
9ßC76>
2488:79
D9
20
73
CS
A0
00
a4<AB>
lEBß=3S
E5
F5
85
D6
AA
93
ES<2C>
21A0:BB
A9
00
85
F5
A5
F5
C5<DC>
2490:F2
84
D4
84
D5
20
68
EA<S7>
IGBQ:F6
85
D7
90
26
A8
D0
03<57>
21AB:B6
BO
12
E6
F2
A4
F2
Bl<45>
2498:90
FB
20
93
CS
4C
7D
D9<BD>
1EC0:BA
F0
20
20
DF
E4
18
A5<3F>
21B0:F3
C9
9B
F0
D5
C9
2C
D0<EB>
24A0= 20
DC
E4
4C
7D
D9
A9
00<C3>
1EC8:D4
65
F5
35
D4
A5
DS
65<C2>
21B8:F2
E6
FS
00
E8
A9
40
85<F4>
24Ae:F0
0A
A9
08
D0
06
A9
0C<FC>
1ED0;F6
85
D5
24
Bl
10
01
60<6D>
21C0:A6
E6
F2
4C
42
CB
A4
F2<3B>
24B01D0
02
A9
14
85
EC
20
16<01>
1EDS;4C
3A
E5
20
16
E5
D0
F7<02>
21CS:B1
F3
C9
2C
IS
FO
02
C9<CB>
24B8= £5
D0
0F
C9
08
BO
0 B
65<CF>
lEEß:AA
D0
F4
A9
05
4C
DC
FS<S7>
21DO:9B
60
A9
06
4C
DC
Fß
A9<DS>
24C0-. EC
AA
BD
70
02
A0
0 ß
4C<62>
1EE8:20
DC
E4
AS
D4
85
99
A5<7E>
21D8;3F
85
C2
Bl
QA
C9
0F
D0<aB>
24C8:79
D9
4C
28
ES
20
AB
2B<37>
1EF0:D5
9A
A5
D6
es
A2
A4<23>
21E0:12
20
86
E4
20
DD
CB
A4<Dß>
24D0:A0
OO
AS
D5
F0
03
20
13<47>
lEF8rD7
84
A3
A4
A9
Fß
OF
A9<;0B>
ZlEBiA8
E6
AS
Bl
8 A
C9
12
O0<5F>
2408= DA
A5
D4
48
4A
4A
4A
4A<CB>
IF00:8Q
B5
Bl
20
31
E4
A5
D7<E9>
21F0:02
66
B4
20
4F
E4
C6
f^<42>
24Eß:20
1 £
DA
68
29
OF
09
30<39>
1F08:A4
D6
26
Bl
BO
07
20
DC<23>
21FS=90
05
20
78
DD
85
B4
20<53>
24ES:C9
3A
90
02
69
06
91
F3<C6>
1F10:E4
A5
D9
A4
D8
CS
A3
9B<B6>
2200:AB
2 ß
20
7E
C2
20
SB
CB<5ß>
24F0ECS
60
20
16
ES
20
05
DA<25>
1FIS:06
D0
08
C4
A2
B0
04
S5<EB>
2208:A0
00
84
A6
84
F2
20
4F<5A>
24F8:A9
00
D0
3B
20
6 £
E5
20<F2>
1F20:A3
84
A2
18
A5
D4
es
9B<60>
2210:E4
E6
AB
AS
D2
30
23
20<04>
25003 BE
2 E
A0
FF
CS
Bl
F3
10<CE>
1F2B:65
A2
A8
A5
D5
B5
9C
65<eo>
2210:CS
2 E
B0
15
20
FA
CA
D0<9E>
2508:FS
29
7F
91
F3
C8
A5
F3<E5>
1F30:A3
AA
38
98
ES
8 C
85
F9<14>
2220:10
20
CO
E5
4C
AC
Cß
A5<0A>
2510:D0
25
AD
FC
02
AO
00
C9<3C>
1F3B:SA
E5
8 D
85
FA
20
SD
26<aF>
2228:11
F0
Ot
60
C6
11
4C
A4<C4>
2518=C0
D0
lA
A2
OE
DD
93
DC<C4>
iF4ß:AS
D3
20
B3
E4
30
AS
F9<F4>
2230:FS
A9
00
SS
B4
A9
08
4C<0S>
2520:F0
13
CA
10
FS
20
0D
C6<B1>
XF48:E5
D4
AS
A5
FA
E5
D5
AA<7i>
2238:DC
F8
A0
00
A9
11
SD
A2<C3>
2S2S:4C
68
DA
20
16
E5
AS
D4<CC>
1F50:A9
02
25
Bl
F0
0 F
A9
00<A0>
2240=20
84
A9
S4
B0
84
AA
S4<6B>
2530=80
C0
05
AQ
01
A9
C0
A2<69>
IFSSiBS
81
E4
D7
90
06
DO
05<B6>
2248:Bl
20
3A
ES
C6
F2
A5
F2<34>
2538:05
36
D5
85
D4
84
06
A9<AO>
1F60:C4
D6
80
01
60
S4
D6
86<7E>
2250:85
F5
A2
FF
£8
G6
F2
A4<1F>
2540:00
es
D7
85
D3
A9
83
85<E4>
IF6S:D7
4C
C0
E5
A4
AS
C4
A7<79>
2253=F2
Bl
F3
C9
9B
FO
08
C9<2A>
254B3D2
4C
3A
ES
C6
AA
A9
3r<C9>
1F7O:90
01
60
20
00
E4
46
D2<13>
2260:2C
D0
Fl
24
A6
50
ED
A4<FB>
2550:es
D4
A2
05
AD
OA
D2
29<31>
1F7S-.B0
67
38
26
D2
30
65
A5<80>
2268:F5
A5
A8
48
8 A
A2
F3
20<AA>
2558:FO
C9
A0
B0
F7
SS
E0
AD<02>
lFSO:F5
69
01
85
F5
85
D6
A5<D6>
2270= SB
E4
68
ÖS
AS
20
IF
C8<S4>
2560iOA
D2
29
0 F
C9
0A
BO
F7<FF>
IFB85F6
69
00
30
54
85
D7
85<02>
2278:24
A6
50
11
E6
B6
A6
Aa<6C>
2568:05
E0
95
D4
CA
D0
ES
20<94>
1F90:F6
A5
97
69
01
85
DS
A5<ßF >
2280= ES
E4
A7
ß0
0F
20
FA
CA<38>
2570sBS
2D
4C
BO
D9
20
86
DA<91>
lF9a:90
69
00
05
D9
30
42
ao<;fi>
2288:90
lA
4C
BE
CA
A6
AB
E8<84>
2578:20
26
DB
4C
FF
DA
A6
AA<74>
1 FA0:O0
84
F7
84
F8
A0
10
A5<1A>
2290:£4
A7
90
08
20
Aß
2 B
A9<D2>
2580:BD
40
21
29
7F
9D
40
21<F7>
1FA8;F5
4A
90
OF
18
A5
F7
65<7D>
2298:00
05
B4
60
20
FA
CA
90<C7>
2588:60
20
6 E
es
AS
D4
29
7F<EC>
1FB0:DB
85
r7
A5
FS
65
D9
85<F1>
22A0:03
4C
33
CE
E6
F2
4C
42<5C>
2590;38
E9
40
90
14
AA
A9
00<CA>
lFBB:Fa
30
26
66
F8
66
F7
66<87>
22A8=CE
A2
00
A5
D4
9D
44
03<E1>
2598sEß
05
90
02
A2
04
95
D5<41>
1FC0:F6
66
F5
88
D0
El
06
F5<7D>
22B0:A5
DS
9D
45
03
A5
D6
9D<9B>
25A03 CA
10
FB
20
BS
2D
4C
3A<78>
IFCS:26
F6
30
15
A6
F6
AS
F5<31>
22B8;4S
03
AS
D7
9D
49
03
A9<3C>
25AS:ES
E6
AA
60
20
2F
DS
20<A7>
1FD0:0A
26
F6
30
0C
65
FS
85<BF>
22C0:ßB
4C
FE
CS
00
D8
F9
DF<DA>
25B0:6E
ES
A5
D4
29
7F
38
E9<79>
1FD8:F5
AB
SA
65
F6
es
F6
10<;F3>
22Ce:20
05.
E5
85
A2
S4
A3
4C<F6>
25B8:40
90
49
AA
A9
OO
£0
04<DA>
1FE0:17
4C
2B
E5
A9
00
85
D6<7C>
2200: 5D
26'
20
OS
E5
85
A2
S4<A9>
25C0:Bß
3D
95
D6
EB
90
F7
20<31>
1FE8:05
D7
A4
F5
84
DS
A5
F6<25>
22 DS:A3
4C
DE
2S
20
9B
E5
20<44>
25CS:6E
E5
AS
D4
29
7F
38
E9<13>
lFF0:e5
D9
DO
04
Cß
00
F0
£9<30>
22E0:9D
2C
4C
36
ES
20
9B
E5<SE>
25DO;40
90
2 F
AA
E0
04
D0
D1<CD>
IFFBsA2
SE
20
88
25
38
A5
97<09>
22E8:20
97
2C
4C
36
ES
20
9B<4C>
25DB:A9
00
A3
15
D6
94
D6
ES<CF>
2000:E5
ec
85
D4
A5
98
E5
SD<41>
22F0:E5
20
9E
26
4C
36
ES
20<E9>
25£ßsE0
04
D0
F7
24
D4
10
17<2C>
2008=85
D5
20
C0
ES
A9
00
AB<61>
22F8:9B
ES
20
00
28
4C
36
ESC82>
25F.S:A8
F0
14
A9
CO
35
E0
A0<92>
2010 :A6
F6
Fß
0A
91
97
ce
Ö0<9F>
2300;A6
AA
BD
40
21
F0
05
49<53>
25F0:01
84
£1
88
84
E2
34
E3<C9>
2018:Fß
E6
9B
CA
D0
F6
A6
F5<85>
2308:00
9D
40
21
60
20
DC
DS<9A>
25FB:84
E4
34
ES
20
9D
2C
4C<17>
2020 ;F0
06
91
97
C8
CA
D0
FA<54>
2310:90
62
Fß
60
Bb
50
20
DC<95>
2600:3A
E5
06
D4
20
9C
2B
90<F6>
2028:4C
A0
CS
20
C5
C9
AS
8A<47>
2318=D8
F0
4B
DO
57
20
DC
DSC77>
2608:F6
BO
E0
20
6 E
ES
20
8O<40>
2030:85
BE
A5
8 B
85
BF
AS
A1<9A>
2320:90
52
B0
42
20
DC
DQ
90<6C>
2610:30
4C
38
ES
20
6 E
ES
20<41>
2038:AA
0A
A8
Bl
80
B5
SB
C8<C8>
2328:3D
FO
3B
B0
47
20
DC
D8<35>
2618:8A
30
4C
38
E5
20
6 E
£S<99>
2040:Bl
80
85
SA
A0
01
BA
Dl<eF>
2330:90
34
BO
40
20
DC
DS
F0<15>
2620:20
48
31
4C
38
E5
20
6e<3C>
2048:QA
D0
13
es
Bl
8 A
C5
A0<83>
2338s3B
D0
2 B
C6
AA
A6
AA
C6C^>
2628:E5
20
EE
2F
4C
38
E5
20<C4>
2050:80
13
A0
02
Bl
SA
65
8 A<C8>
2340s AA
BD
40
21
3D
41
21
0A<SC>
2630:6E
E5
20
F2
2F
4C
38
E5<97>
2058:90
E8
E6
88
B0
E4
90
ß3<77>
2348:F0
IC
D0
28
C6
AA
A6
AA<D8>
2638:20
6 E
ES
20
44
2F
4C
38C74>
2060:18
90
EF
38
60
D0
FC
13<34>
2350;C6
AA
BD
40
21
ID
41
21<2F>
2640:ES
20
6 £
ES
20
C5
31
4C<29>
2068= 60
A9
CI
2 C
A9
C2
AA
C8<67>
2358=0A
F0
OB
DO
17
A6
AA
C6<56>
2648:38
E5
4C
9E
DQ
4C
AC
D8<7C>
2070;Bl
99
m
03
CS
Bl
99
49<1E>
2360:AA
BD
40
21
F0
OE
A9
00C4E>
2650:AS
E0
10
F6
4C
28
ES
20<B5>
2078:80
20
ED
ES
8 A
Dl
9D
F0<S7>
2368: A8
FO
0D
A0
03
2C
A0
02<54>
2658= 9B
ES
AS
EO
Fß
EF
A5
D4<A6>
2080:33
91
9D
A5
99
A0
02
91<8S>
2570:A9
40
D0
04
A9
40
A0
01<DB>
2660;F0
EE
10
26
29
7F
85
D4<A8>
2088:98
CS
A5
9A
91
9D
4C
ES<CE>
2378=E6
AA
A6
AA
9D
40
21
98<3B>
2668:A5
EO
29
7F
38
E9
40
90<B0>
2090:C9
A5
99
48
A5
9A
43
A9<B9>
2380:9D
60
21
A9
00
9D
00
21<7F>
2670:E3
A2
04
C9
04
F0
0E
B0<4F>
2098= 00
A8
91
00
CS
ca
D0
FA<:F5>
2388:9D
80
21
9D
A0
21
9D
C0<97>
2678:11
AA
A8
E9
E2
00
D0
D4<03>
20A0;A5
89
S5
9A
A5
88
S5
99<7A>
2390:21
9D
EO
21
60
A6
AA
C6C51>
2680s ca
Cß
04
Dß
F6
BS
El
4A<BC>
20A83 A0
04
Bl
99
C9
4F
Fß
B9<79>
2398= AA
BD
40
21
0A
F0
C7
A9<43>
2638;B0
01
18
A9
00
6 A
48
A5<5S>
20B0;C9
SD
F0
ES
A0
01
Bl
99<21>
23A0:B0
6 A
DO
D2
A4
A9
B9
A3<16>
2690:E0
C9
40
D0
4D
AS
E2
05<e9>
20B3;0A
80
18
A8
Bl
80
D0
09<F7>
23AS:20
C9
2F
90
03
4C
2E
D9<SE>
2698=E3
05
E4
05
E5
DO
43
A5<F6>
20C0:A5
9A
91
80
C8
A5
99
91<13>
23B0:A4
AA
C6
AA
A6
AA
C6
AA<D0>
26A0;E1
29
F0
4A
65
FC
4A
4A<44>
20CB:Q0
18
A0
02
Bl
99
65
99<B6>
23B8:BD
40
21
D9
40
21
DO
2CC79>
26AÖ:65
FC
es
FC
A5
El
29
0F<A0>
20D0:90
D4
E6
9A
B0
DO
A5
8S<33>
23C0:0A
90
02
ES
88
BD
60
21<FE>
26Bß:65
FC
85
FC
20
B5
2E
46<14>
20D8=85
99
AS
B9
05
9A
A0
0O<1S>
23CS:D9
60
21
D0
lE
BD
80
21<FB> *
2658;FC
BO
03
20
BB
2F
20
D4<2F>
20E0=B1
80
D0
0C
A5
9A
91
B0<C4>
23D0tD9
80
21
DO
16
ED
AO
21<CB>
26C0:2E
AS
RC
FO
50
20
F3
2E<E1>
20E8:ca
A5
99
91
80
4C
2B
CA<E7^
23Des D9
A0
21
D0
0E
BD
C0
21<DB>
26C8:20
9B
26
B0
OF
46
FC
90<A0>
20F0:85
9A
CB
Bl
SO
35
99
CS<7B>
23E0:D9'
C0
21
DO
06
ED
E0
21<A7>
20F8:D0
E6
68
85
9A
68
85
99<EB>
23EB:D9
E0
21
60
19
40
21
10<D8>
2100:60
A9
lE
4C
DC
FS
Bl
SA^AF>
23Fß;FA
6 A
49
80
2A
60
20
DC<A5>
Listing »Turbi>Basic XL« (Fortsetzung
43
TURBO-BASIC
26D0:F7
20
B5
2E
20
23
2F
20<25>
29C0=S5
EB
AS
EA
65
E5
85
EA<74>
2CBß=91
90
60
0A
2A
2A
2A
A8CBB>
26D8z 9E
26
90
E2
4C
2E
E5
4C<3B>
29CB:90
©2
86
E9
38
A2
02
B5<4B>
2CBas6A
29
F8
18
65
86
85
9D<E7>
26E0=2a
E5
A5
E5
48
A5
E4
48<S1>
29DO:E2
FS
E9
95
E2
CA
10
F7<04>
2CC019Q
29
07
65
67
85
9E
AO<F9>
26EQ= A5
E3
48
AS
E2
48
A5
E1<0D>
2908:30
C3
A5
E0
F0
2f
C6
E0<6F>
2CCSs 00
60
A9
0©
85
92
85
CA<8E>
26F0:48
A5
E0
48
20
F2
2F
&©<ei>
29E0I3S
AS
DC
ES
ES
85
DC
A5<35>
2CD0;AD
E7
02
AC
ES
02
85
80<Ö4>
26P8zE6
68
85
E0
68
85
El
68<26>
29E8:DB
E5
E7
85
DB
BO
02
C6<Ö9>
2CDB-_B4
Öl
ca
85
S2
84
83
S5<7F>
2700:85
E2
68
85
E3
68
85
£4<14>
29F©:DA
18
A2
02
B5
E2
75
DA<e3>
2CE0:e4
84
85
18
69
©1
90
01<D6>
2708--68
85
ES
20
9E
26
30
CC<:C2>
29F8:95
E2
CA
10
F7
30
9E
18<12>
2CE8=CS
85
86
84
87
85
88
S4<39>
2710:20
59
2F
B0
C7
6Ö
10
04<SO>
2A00:AS
99
65
E0
95
55
A5
9A<D0>
2CF0;89
85
8A
84
SB
IQ
69
03CFD>
27IS;05
D4
85
D4
4C
3A
E5
A9<69>
2A08:69
00
85
56
60
A2
00
06<SE>
2CF8:90
01
C8
85
ac
84
SD
S5<BC>
2720:06
2C
A9
00
85
FB
60
20<SB>
2A10:54
86
55
86
56
60
38
A5<FC>
2D0©:SE
84
8F
85
90
84
91
S5<8Z>
2728:16
E5
85
EÖ
04
El
4C
16<5F>
2AIB:99
E5
E0
85
55
A5
9A
E9<8B>
2D0e:OE
84
0F
A9
00
AS
91
S4<FA>
27 : 3 : 0 : ES
20
SF
DC
98
25
El
AÖ^ 45>
2A2©= ©0
85
56
60
18
AS
9B
65<33>
2D10:9l
SA
CB
A9
8©
91
SA
CSC BF >
2738:AS
E0
25
04
4C
79
D9
20<4I>>
2A28:E1
85
54
AS
9C
69
0©
FO<59>
2D18:A9
03
91
8A
A9
©A
BS
C9<99>
2740= 5F
DC
98
05
El
A3
A5
E0<51>
2A30;0E
60
38
A5
9B
ES
Ei
e5<A4>
2D20:4C
66
FF
A2
FF
9A
DS
A5<6S>
2740:05
04
4C
79
09
20
SF
DC<11>
2A3a=54
A5
9C
E9
00
D©
F2
A4<A9>
2028:CA
FO
03
20
04
£6
20
E7C23>
2750:98
45
El
AO
A5
E0
45
D4<DC>
2A40;CS
A2
6©
20
DE
24
CO
e0<EE> '
2D30:F6
20
34
C5
2©
Dl
FS
A5C33>
2758;4C
79
09
9A
9B
9D
9E
B3<0B>
2A48:D0
E7
4C
A9
C2
84
96
A2<61>
2038:92
F0
03
20
93
CS
20
5C<S4>
2760;ßS
80
B2
A6
3C
7C
ßC
27<34>
2A5©:00
86
AF
85
95
A6
F2
AO<07>
2D40:C5
2©
CB
C0
A5
CA
D0
E3C91>
2768:67
A7
20
13
ES
A5
14
A4<D3>
2AS8:00
Bl
95
Fß
27
BD
8©
05<9C>
2D4B:A2
FF
9A
DB
20
AB
2B
A9<0F>
2770:11
F0
1 1
CS
14
F0
FS
A5<A7>
2A60:29
7F
£8
51
95
DO
03
CS<F5>
1 2050:50
05
C2
20
87
C2
AS
IICSO
2778:04
00
04
C6
05
3©
05
C6<Be>
2A6a:DO
F3
©A
Fa
15
B0
06
CSCDD>
2058:D0
04
C6
11
00
E6
A©
©ß<BA>
2780:04
4C
AS
DC
60
A6
AA
CA<A0>
2A70iBl
95
10
FB
38
E6
AF
F0C9A>
2060:84
FZ
S4
9F
84
94
84
A6CF5>
2788:E6
AA
E6
AA
10
DD
00
21<e4>
2A78:©0
98
65
95
90
DS
E6
96<90>
2D68:84
B3
B4
8©
64
Bl
AS
B4<9D>
2790:9D
02
21
BD
01
21
90
03<7B>
2A80:B0
Dl
IS
60
38
60
A9
04<7E>
2070:85
AD
A5
85
BS
AE
2©
1D<8D>
2798=21
BA
69
20
AA
90
EE
60<BS>
2A8e:4C
DC
F8
A2
0©
86
AF
04<CA>
2078:EB
2©
FB
E7
20
F7
EB
A5<6F>
. 27A0:20
BO
OC
20
E4
DA
20
26<98>
2A90:96
85
95
A6
F2
AO
01
Bl<92>
2DS01D5
1©
02
85
A6
20
ID
EBCAO
27Ae:08
4C
10
08
A5
C3
4C
FO<EO>
2A9a:95
F0
E9
BD
8©
05
29
7FC©D>
, 2088:84
AS
Bl
F3
C9
9B
D0
©7<28>
27B0;D9
AS
3A
A4
SB
4C
79
D9^04>
2AAO;E8
C9
2E
F©
DD
51
95
D0<F5>
2090:24
A6
3©
B0
4C
EB
£7
AS<B4>
27B8 :£6
C9
AS
C9
F0
FA
85
AF<FE>
2AAe:©3
C8
D0
EF
0A
FO
D3
B0CBF>
2098:94
85
A7
20
F7
ES
20
1D<69>
27C0:A9
00
05
94
A4
A8
Bl
eA<85>
2AB0;05
C8
Bl
95
1©
FS
E6
Ar<FF>
2DA0: EE^
A©
EB
A9
5A
20
C3
DF<F8>
27C8:C9
12
F0
4C
C9
16
F0
7A<2A>
2ABÖ:38
98
65
95
90
03
E6
96C31>
20AB:66
EC
30
OB
A5
AF
C9
15<3D>
27D0S C9
14
F0
76
C9
15
F0
60<D4>
2AC0=B0
CF
©©
E4
Fl
FF
A©
00<31>
2DB0:D0
23
86
DA
A0
EC
A9
0©C 11 >
27D8:C9
IC
F0
SA
20
0©
E4
C6<B5>
2ACa:A9
11
8D
A2
20
84
A9
B4<C9>
2OBS:20
C3
DF
A9
36
B0
06
65<1A>
27EO;A8
A6
AA
BD
0©
21
30
03<A4>
2AD©:B©
84
AA
84
Bl
20
4F
E4<63>
2OC0S AF
69
02
9©
1©
24
EC
30<5£>
27EB:20
34
DA
2©
DC
E4
A6
ß5<F7>
2A08:E0
06
20
3A
ES
4C
0F
E4<Q7>
2DC8;0C
A9
BF
85
95
A9
EB
85<1C>
27F0:20
AF
C2
AS
D4
9D
44
03<67>
2AE0:S5
AE
AA
BO
CG
23
85
AC<62>
2DD©:96
A9
15
A6
DA
86
F2
20 c75>
27Fa:ft5
DS
90
45
03
A5
D6
90<A9>
2AE8:A4
A9
BE
A2
20
BD
2A
24CC6>
2008:F7
ES
20
Ef4
2B
20
21
Ee<E2>
2800:48
03
IS
65
94
95
94
A5<09>
2AF0:C5
AC
90
0E
AA
F0
16
B9C56>
2DE0:9ß
35
A4
9F
Bl
F3
C9
9ßC3B>
2800:07
90
49
03
05
06
F©
B4<99>
2AF8:A2
20
C6
A9
20
48
E4
4C<Be>
2DEe:D0
06
CS
91
■F3
88
A9
20<Ee>
2S10:A9
0E
20
FE
C5
4C
FC
DC<S6>
2S©0:22
E4
AS
AB
CS
99
A2
20<DS>
2DF0;©9
80
91
F3
A9
40
05
A6C2£>
2818:A4
94
CS
C4
AF
90
09
10<32>
2B0S:84
A9
4C
OF
E4
6©
0A
SDC02>
2DF6;a5
A6
A4
AO
84
F2
A2
©3C67>
2820;AS
C9
65
AF
SS
AF
90
F0<AE>
2BlO:40
£4
6C
2F
23
A4
A8
E6<E2>
ZEO©:86
A7
E8
86
94
A9
37
20<FB>
2828:A4
94
C4
AF
BO
17
2©
02<EE>
ZßlS:AS
Bl
8A
30
5A
F0
53
C9<F3>
2E0S:F7
EÖ
A4
F2
Bl
F3
E6
F2<7C>
2830:F2
E6
94
4C
60
DD
20
78<D9>
2320:0F
90
03
F0
27
6©
CS
B1<3C>
2E10:C9
9B
00
F3
20
F7
es
A5<32>
2838:DD
05
35
C6
A8
4C
FC
DC<CD>
2B2Bi8A
85
04
C8
Bl
8A
05
DSC49>
2E18!94
A4
A7
99
©0
21
A4
F2C65>
2340s E6
AS
4C
13
ES
E6
AB
4C<CA>
2B30:CS
Bl
SA
85
06
CS
Bl
SA<53>
ZEZßzSS
Bl
F3
C9
9B
F0
03
4CC7E>
2048:FC
OC
A4
AS
88
Bl
eA
C9<6B>
2B38:Ö5
07
C8
Bl
8A
85
DS
C8<F9>
2£28:D1
E6
A©
02
AS
94
99
0O<C5>
2350:15
F0
07
C9
12
Fß
03
20<©A;^
2B40SB1
8A
85
09
ca
84
AB
A9<46>
2E30:21
20
SF
C9
A9
©©
B0
04<56>
2858:94
C2
A9
0©
85
35
60
A9<03>
2B4ß:00
BS
02
60
CB
Bl
0A
A2CEE>
2E33:A0
02
Bl
ÖA
38
E5
94
F0<Aa>
2860:13
85
F3
A9
23
85
F4
C6<21>
2E50:8A
85
06
85
DS
C8
98.
18<30>
2E40=24
B0
13
49
FF
AS
CS
A2<4B>
2868:00
A2
07
86
E5
A9
00
A©<30>
2B58;75
00
85
D4
A9
00
85
D7C7E>
2848:SA
2©
86
25
AS
97
85
8A<09>
2870;08
20
B4
C3
20
39
C4
2©<©6>
ZB60:85
D9
75
©1
as
DS
98
6S<7A>
2E5©:A5
98
85
SB
00
0F
A8
18<F©>
2870;F2
DC
4C
FS
C4
A9
5F
2C<91>
2B68:D6
AB
A9
83
85
02
84
A8CF5>
ZE5Ö:65
BA
85
QA
90
02
E6
SB<F6>
2830: A9
FF
ÖS
DF
A4
B©
88
9e<OA>
2B70iIB
6©
ca
E6
AB
Bl
8A
49CA8>
ZE60;A2
SA
2©
20
26
A4
94
ee<A5>
2888:F0
03
20
16
E5
85
DA
84<69>
2B7S:80
05
D3
20
ED
£5
Bl
9DC4S>
2868= B9
Q©
21
91
SA
98
D©
F7C9F>
2890s DB
20
DC
E4
20
9C
2E
20<FF>
208©: 85
02
A©
02
Bl
9D
85
D4<7E>
2E70:24
A6
50
2A
A5
Bl
0A
0ACFA>
2898:DC
E4
18
AS
04
65
DA
85<96>
2B88:C8
Bl
9D
85
ÖS
C8
Bl
9D<DF>
2E7B:0A
AB
A2
88
2©
20
26
3SC96>
2QA0:O4
A5
D5
6S
DB
B5
D5
B0<47>
2B90:S5
06
C8
Bl
9D
85
D7
CSC17>
2EÖ0:A5
84
ES
AD
AS
A5
85
E5<39>
28A8:22
38
A5
06
E5
DA
85
D6<F9>
2B9a:Bl
9D
85
08
CS
Bl
9D
a5C9C>
2888:AE
A2
84
20
22
26
24
A6C4A>
2BB0:A5
07
E5
DB
85
D7
90
13<BE>
2BA0:D9
6©
2©
6E
E5
A9
02
24C4B>
2E90:'l©
06
20
31
F2
4C
7E
E6C31>
28&0:05
06
F0
0F
38
A5
06
E5<F0>
2BA8:02
00
15
05
D2
85
D2
4A<61>
2E98;20
07
F2
4C
7E
E6
10
FBCEF>
28C0:E2
05
DC
AS
07
ES
E3
e5<E5>
2BB©:90
3F
18
AS
04
65
8C
S5<2B>
2EA©:20
26
CI
4C
AF
FF
20
5F<F3>
28Ca;D0
30
03
4C
9E
DS
E6
DA<CB>
2308:04
AS
AS
D5
65
BD
85
D5<9F>
2EAe:C9
B0
Fß
AQ
02
Bl
8A
Aa<6E>
2000:D0
02
E6
m
A0
00
El
€0<39>
2BC0: 6©
20
13
E5
1©
FA
A9
07<CF>
2EBß=18
65
8A
85
BA
90
02
E6<77>
2808=51
04
25
DF
D0
30
AS
D4<BC>
2BC8:4C
DC
FS
20
13
ES
85
99<4C>
2EB8:8B
A2
SA
20
20
26
4C
7EC45>
2SE0:85
08
A5
D5
85
09
A5
E©<AS>
2300:34
9A
20
13
ES
85
9B
e4<F6>
2EC0:E6
20
CS
2E
90
08
A9
0©<BO>
2SE8:35
E4
AS
El
85
E5
A5
E3<7C>
2BDB:9C
2©
00
E4
20
6E
E5
20<23>
2£CS:e5
F2
Aß
80
30
0B
2©
25<BA>
2OF0:85
DE
A6
E2
ES
CA
DO
04<1B>
2BE0;25
33
B0
0A
A3
04
A4
DS<BE>
2EDa:33
B©
F3
A4
05
3©
£F
A5<86>
2 BF 81 C 6
OE
30
25
Bl
08
51
E4<68>
2BE8:60
20
13
ES
F0
02
A9
03C42>
2EDQ:D4
04
Al
85
A©
2©
F7
ESCFF>
2980;25
DF
00
0A
C8
D0
EE
E6<76>
2ßF0:2C
A9
09
2C
A9
0B
2C
A9<E3>
2EE0:AS
Al
85
D5
4C
F7
ES
A0C82>
2908: 09
E6
E5
4C
20
DE
E6
D4<32>
2BFS:©A
4C
DC
FB
B©
F6
BO
EEC0C>
ZEESiO©
84
A9
Bl
95
0A
AO
e9C7C>
2910:00
02
E6
05
A5
OC
00
04<0D>
2C©0:E6
AA
A4
AA
CO
20
B0
EFCDl>
2EF0=39
F©
85
90
BO
82
04
B9<9A>
2918:C6
DD
30
AF
C6
DC
4C
ß6<Bl>
2C08:A5
D9
99
£0
21
A5
D8
99<FE>
2EF8;3A
F0
85
9E
80
83
04
A5C17>
2920:DE
A5
DA
A4
DB
4C
79
D9<D7>
2C10:C0
21
A5
Ü7
99
A0
21
A5CC3>
2F00:94
BD
81
04
AS
F2
SD
£^C43>
2928=85
06
85
07
A0
08
16
E6<67>
2C18:D6
99
80
21
A5
D5
99
60<AF>
2F08: 04
E6
90
00
02
E6
9e
A2<19>
2930:36
ES
26
06
90
03
18
B5<8E>
2C20:21'
■ A5
04
99
40
21
AS
D3<96>
2F 1 0: ©0
Al
90
30
©C
C9
05
90C4A>
2938:E6
65
07
95
E6
90
02
F6<B2>
2C2a:99
20
21
AS
02
99
00
2i<D5>
2F1S;4F
2©
E6
E8
90
EB
4C
BCC65>
2940:E5
88
00
EA
60
4C
28
E5<;2F>
2C30:60
20
©0
E4
A4
AA
C6
AA<C8>
2 F 2 a;es
0A
AS
B9
3A
F0
48
B9<5©>
2948:20
05
ES
D0
Fe
48
A4
A8<57>
2C38:B9
EO
21
85
09
B9
C0
21<1F>
2F28:39
F0
40
C0
■ 12
B©
©F
6B<DD>
2950:ca
C4
A7
ß©
05
20
13
ES<37>
2C4©= 95
08
B9
A©
21
85
D7
B9CE4>
2F30:A8
68
20
74
£3
9©
02
4CC90>
2958:00
EB
68
D0
02
A9
01
S5<91>
2843:80
21
85
06
B9
60
21
S5<45>
2F38;BC
EB
48
98
48
60
A6
A9<25>
2960=05
A2
16
A9
0©
95
06
CA<9A>
2C50= 05
89
40
21
85
D4
B9
20<6S>
2F40:E8
E8
E8
EB
F0
IF
86
A9<BE>
2968:10
FB
A5
05
85
E0
E8
20<; 1E>
2C58S21
85
D3
B9
©0
21
85
D2C©8>
2F4asA5
F2
9D
80
©4
A5
94
9DCFA>
2970:60
OE
A5
04
A2
02
2©
60<11>
2C60:6©
C6
AA
A4
AA
B9
El
21<e6>
ZFS©:81
04
AS
90
9D
82
©4
A5<76>
2978:DE
AS
05
85
06
A0
08
06<2D>
2C6S:85
E5
89
CI
21
85
E4
B9<47>
2F5S:9E
90
83
04
68
SS
90
68<90>
2980sDC
26
DB
26
DA
06
06
9©<32>
2C70;Al
21
85
E3
89
81
21
85CD7>
2F60:a5
9E
4C
43
EB
4C
00
E9CBF>
2908:11
18
A5
DC
65
Ee
es
DC<8D>
2C7B;E2
09
61
21
85
El
B9
41<CA>
2r6e:A6
A9
00
01
6©
BD
82
04<E6>
2990:A5
DE
65
E7
85
DE
90
02<B9>
2080:21
85
E©
4C
70
E5
AS
O3<a0>
2F70:BS
90
BD
83
04
ÖS
9E
CACS5>
2998:E6
DA
es
D0
E2
20
37
DF<10>
2C88i2©
EO
ES
A5
02
91
9D
C8C£9>
2F7a=CA
CA
CA
86
A9
B©
03
4C<29>
29A0:20
5C
DF
20
37
DF
2©
6A<4E>
2C90:AS
03
91
90
ca
A5
04
9Ke5>
2F30:43
ES
E6
9D
00
02
E6
9ECß9'^
29AB:DF
20
4E
DF
20
SC
OF
2CK76>
2C98:9D
CB
A5
05
91
9D
CS
A5<4S>
ZFOO:A2
00
Al
90
30
F4
C9
03<7B>
29B0S4E
OF
20
6A
DF
24
E2
30<06>
2CA0:D6
91
90
ce
A5
07
91
9D<B0>
2F90:FO
D6
ea
EE
AS
F2
C5
9FC5©>
29BB:21
E6
El
18
A5
EB
65
E6<3B>
2CAS3 CQ
AS
08
91
90
CS
A5
D9CBF>
2F9e:90
©2
85
9F
A6
A9
BD
80<aE>
44
TURBO-BASIC
2FAÖ:0^
85
F2
BO
Bl
04
es
94<AF>
3290:43
CE
96
4C
4F
41
C4
96<AF>
3580:02
48
0F
63
03
3F
D0
I>3<SD>
2FAQ!4C
43
EÖ
60
C9
OF
D®
41<63>
3298;53
41
56
C5
A2
53
54
41<BF>
3588:2C
03
D0
SC
2C
03
Dß
B5<CE>
2FBB:E6
9D
D0
02
86
9E
A2
00<6D>
32A0:54
55
03
A3
4E
4F
54
C5<FB>
3590s 2C
03
85
BB
BS
03
59
02<F9>
2FB8=Al
9D
10
C6
94
A4
94
99<6A>
32A8;CF
50
4F
49
4E
D4
Al
58<9B>
3590;SF
02
B6
02
07
02
83
03<0S>
2FC0:0e
21
E6
94
DO
ES
A9
0E<DF>
32B0:49
CF
A4
4F
ce
92
50
4F<7E>
35A0:02
B2
03
S5
B9
03
2B
ZF<B7>
2FCS;4G
DC
Fe
A2
FF
9A
AS
94<ac:>
32BS:4B
C5
AS
50
52
49
4E
D4<Fi>
35ASS37
ec
8F
2C
02
03
ID
0F<8A>
2FDß:A4
A7
99
OO
4C
Dl
E6<DF>
32C0:90
52
41
C4
99
52
45
41<FE>
35B0;2F
02
lE
0F
30
02
IF
0F<B5>
2FDB;A2
FF
9A
A0
04
69
00
21 <30
32Ca:C4
A8
52
45
33
54
4F
52<8B>
35BB:31
02
20
0F
32
02
21
0F<eA>
2FE0iC9
54
DO
0A
A4
F2
□8
A9<F7-v
32D0SC5
90
32
45
54
SS
52
CE<9F>
-^-vjCOs
02
22
0F
34
03
C0
C6<6C>
2FEÖ;9B
91
F3
4C
51
E7
4C
44<1D>
3208:A9
52
55
CE
90
53
54
4F<6E>
35Ca:90
03
BC
90
03
SD
22
OF<45>
2FF0ze7
20
ID
EB
C4
B3
FO
l4<Fe>
32E0:00
90
50
4F
00
A5
BF
98<37>
3500:2D
8C
90
02
B7
22
0F
2E<8C>
2FFSt84
B3
AO
ED
A9
71
20
B5<77 >
32EB:47
43
04
AB
50
55
04
91<50>
35DS;B5
90
03
82
22
0F
2D
ac<3C>
3000:DF
BO
2C
Ö6
B2
IS
AS
AF<E8>
32FO:47
52
41
50
48
49
43
D3<36>
35E0S19
ec
BC
90
03
lA
SC
02<14>
3O0Q;69
10
85
B0
AO
00
Bl
9D<57>
32F8:92
50
4C
4F
D4
92
50
4F<6C>
3588:03
C4
12
97
03
C4
12
AF<6E>
3B10=C5
B0
F0
12
C9
44
D0
0A<1F >
3300:53
49
54
49
4F
CE
90
44<07>
35F0:9O
03
BE
DB
62
90
03
90<;24>
301Ö:A5
B0
C9
56
B0
04
C9
44<D8>
3308:4F
03
92
44
52
41
57
54<67>
35F8:02
91
02
IC
B8
03
D9
BF<CC>
3020:SS
02
38
60
A5
E0
20
F7<61>
3310:CF
93
53
43
54
43
4F
4C<C7>
3600:06
90
03
14
02
16
03
BE<49>
302S:E8
A6
B2
86
F2
18
60
A9<6E>
3318:4F
02
AC
4C
4F
43
41
54<AO>
360S:90
02
C0
CB
90
03
IC
8C<B4>
30305 00
85
BO
3S
60
A9
CO
D0<6O>
3320;C5
94
S3
4F
55
48
C4
A6<e7>
3610=03
32
02
B5
03
BF
D6
02<A7>
3038:06
A9
0O
F0
02
A9
80
B5<FF>
3328:4C
50
52
49
4E
D4
90
43<a3>
3618:03
12
05
02
03
8C
12
BE<71>
304®:D2
20
10
EB
e4
AC
20
53<45>
3330:53
41
56
C5
90
43
4C
4F<18>
3620:12
C4
12
es
90
03
BE
90<AB>
3048;EA
B0
28
20
2E
E9
A5
E0<76>
3338:41
C4
9A
0O
80
00
45
52<43>
3628:02
90
03
96
02
90
03
BE<85>
3050:F0
08
A4
B2
Bl
F3
C9
30<75>
3340:52
4F
52
2D
20
A0
92
44<99>
3630:OS
02
03
BE
De
02
83
D8<EB>
3050=90
19
E6
F2
20
53
EA
90<5ß>
3348:50
4F
46
C3
93
4D
4F
56<26>
3638:02
03
Cl
91
02
Cl
92
02<E1>
' 3060:F9
C9
30
90
04
C9
3A
90<C4>
3350:C5
93
20
40
4F
56
C5
AA<50>
3640:CI
SC
12
90
02
96
02
90<75>
3068=Fl
C9
24
Fe
OB
24
D2
lO<B9>
3358:2A
C6
90
52
45
50
45
41<B1>
3648;03
B5
12
02
03
BE
12
S2<7A>
3070:0D
70
18
38
60
24
D2
10<41>
3360:D4
91
55
4E
54
49
CC
91<42>
3650:12
97
03
ac
12
SC
03
90<1D>
3078:FA
70
FS
C8
DO
OD
Bl
F3<02>
3368:57
48
49
4C
C5
90
57
45<96>
3653:02
SC
12
OC
12
C4
90
03<A9>
3030 s C9
2B
00
07
C8
A9
40
05<23>
3370;4E
C4
90
45
4C
53
C5
90<FA>
3660:CQ
07
90
03
8C
C5
90
03<44>
3033: Ü2
85
D2
A5
AC
85
F2
e4<93>
3378:45
4E
44
49
C6
CF
42
50<E7>
3668:86
C3
03
12
C2
02
03
17<04>
3090:AC
A4
83
A5
82
2®
85
DF<17>
3380;55
D4
CF
42
47
45
D4
92<9D>
3670:C6
02
18
C6
02
62
C2
02<8A>
3098:Bß
OA
E4
AC
F0
41
20
AC<FB>
3388:46
49
4C
4C
54
CF
90
44<65>
3678:6A
C2
03
ec
C7
03
12
C6<4F>
30A0:DF
4C
02
E9
38
AS
AC
E5<3E>
3390:CF
90
4C
4F
4F
DO
AS
45<00>
3680:02
03
02
2B
0F
39
ec
SF<A5>
3ßAa=F2
B5
F2
A8
A2
B4
20
e6<10>
3398= SB
49
D4
DA
44
49
D2
96<93>
3680:2C
02
85
2B
OF
3B
8C
2C<16>
30B0:25
A5
AF
85
D3
A4
F2
8a<8F>
33A0:4C
4F
43
CB
96
55
4E
4C<0F>
3690:03
C8
07
02
03
12
C9
02<5F>
30B8;A6
AC
CA
BD
80
05
09
O0<05>
33A8S4F
43
CB
96
52
45
4E
41<9A>
3698:03
ac
IB
CA
90
02
ec
90<DC>
3ßC®:91
97
CA
BD
80
05
B8
10<CA>
33B0:4D
C5
96
44
45
4C
45
S4<1A>
36A0:03
81
02
84
AE
02
CD
A0<22>
3033:F7
A0
08
A2
ÖÖ
20
B6
25<93>
33B8:C5
91
50
41
5S
53
C5
96<0A>
36AS:02
03
AE
02
03
AF
CC
03<19>
30DO:£6
Bl
20
9C
2B
A0
07
B9<£EC>
33C0:54
49
40
45
24
BD
A7
50<43>
36E0:8C
02
B5
03
CD
AO
02
03<ED>
30D8:D2
0O
91
97
88
10
Fe
98<01>
33CS;52
4F
C3
BS
45
58
45
C3<EO>
36B3:DB
CE
03
CD
02
03
12
02<F2>
30t0:40
A5
90
40
A6
9E
AS
AF<41>
3300:90
45
4E
44
50
52
4F
C3<C2>
36C0:15
03
40
02
41
02
42
02<2E>
3038:20
ED
E5
Bl
90
45
D2
A8<90>
33DS:91
46
43
4F
4C
4F
D2
AA<3E>
36CS:43
02
5C
03
30
02
3E
02<60>
30FO:86
9E
68
83
9D
C0
SO
6B<4E>
33E0:2A
CC
95
20
AD
93
52
45<4F>
36D0;5B
03
SC
D4
03
12
OF
3C<33>
30F31A8
B0
A3
24
D2
50
04
30<B6>
33Ea:4E
55
CO
92
44
45
CC
DA<F2>
3608:03
02
03
26
0F
3A
03
BE<56>
3100:02
C6
AC
A5
AC
85
F2
AS<öe>
33F0;44
55
4D
00
AA
54
52
41<BS>
36E0:12
92
03
B0
00
B5
12
0F<DA>
3108!AF
10
07
A9
00
20
F7
E3<e7>
33Fe:43
C5
DB
54
45
58
D4
96<86>
36E8:3C
B5
8F
2C
03
07
86
90<07>
3110:A5
AF
49
BO
20
F7
EB
ie<96>
3400:42
4C
4F
41
C4
96
42
52<4a>
36F0:03
26
90
02
25
90
02
90<95>
3118:60
A4
F2
Bl
F3
C9
SF
F0<D9>
3403;55
CE
88
47
4F
A3
A7
A3<70>
36F8:03
0C
12
93
02
93
03
11<A9>
3120:F6
C9
41
90
07
C9
5B
60<C3>
3410:AA
2A
C2
92
50
41
49
4E<9D>
3700:E9
SF
EA
72
E9
07
EA
04<65>
3128:A4
AC
84
F2
38
60
A4
F2<ED>
3418:04
9F
43
4C
03
94
44
33<Q0>
3708:89
76
£9
6E
E9
11
EB
F2<9F>
3130:Bl
F3
38
E9
30
90
F5
C9<30>
3420:4F
35
4E
C4
DC
43
49
52<ie>
3710:F0
6E
EE
78
EE
80
EE
63<e3>
3138 :0A
90
0A
C9
11
90
ED
E9<DC>
3428:43
4C
CS
AB
25
30
55
D4<51>
3718:EE
84
EE
87
EE
8F
EE
3C<CA>
314®;07
C9
10
BO
£7
AO
04
06<JD>
3430:98
25
47
45
D4
9A
00
S2<F2>
3720:EF
03
EF
96
EF
94
EF
90<45>
314Q:D4
26
D5
88
DO
F9
05
D4<79>
3438:00
AC
A4
BA
BB
9B
47
4F<09>
3728:EF
IC
F0
5C
EF
2D
EF
37<19>
3150:85
D4
E6
F2
18
60
20
1D<E1>
3440:54
CF
47
4F
53
55
C2
54<19>
3730:EF
38
EF
06
EF
D2
EF
14<12>
3158:EB
84
AC
Bl
F3
C9
24
F0<Ö4>
3448:CF
53
54
45
D0
54
48
45<6F>
3738=EF
73
EF
99
EF
5F
EF
5S<8D>
3160:07
20
C8
2E
90
20
B0
ce<iE>
3450:C£
A3
3C
BD
3C
BE
3E
BO<AO>
3740:EF
56
EF
2B
EF
86
EF
9D<54>
3168=E6
F2
20
10
EB
20
9C
2e<42>
3458:BC
9E
BD
DE
AA
AB
AD
AF<S7>
3748:EF
40
EF
44
EF
26
F0
30<74>
3170:20
68
EA
00
B3
20
6B
EA< 04 >
3460:4E
4F
04
4F
D2
41
4€
C4<F7>
3750;EF
64
EF
2A
FO
FF
EE
22<08>
3178:B0
06
A5
D5
29
FO
F0
F5<F3>
3468:A8
A9
BD
BD
3C
BD
3C
BE<41>
3750:EF
E3
EF
E6
EF
£9
EF
95<C1>
3180:20
DC
2B
A9
0D
2C
A9
oe<52>
3470;3E
BD
BC
BZ
BD
AB
AD
A8<30>
3760:EE
BB
EE
C3
EE
C7
EE
CB<A0>
3188:20
F7
es
A4
94
A2
00
BS<DC>
3478:60
80
AS
AB
AC
53
54
52<BD>
3768:EE
CF
EE
D9
EE
DC
EE
27<02>
3190:D4
99
00
21
C8
E8
EO
e6<BS>
3430=A4
43
48
52
A4
55
53
D2<6A>
3770:F0
DF
EE
ID
F0
E7
EE
ie<33>
3198:90
F5
84
94
IS
60
20
1D<75>
3408:41
53
C3
56
41
CC
4C
45<CA>
3778:EF
32
EF
47
EF
4A
EF
68<23>
3lA0;eB
Bl
F3
C9
22
FO
02
38<27>
3490= C£
41
44
D2
41
54
CE
43<ßB>
3780:EF
82
EF
Al
EF
A4
EF
sc< 2 e>
31A0:60
A9
0F
20
F7
Ea
AS
94<80>
5498:4F
D3
30
45
4^
CB
53
49<E1>
3788:EF
Aa
EF
B4
EF
B7
EF
BB<6a>
31BO:85
AB
20
F7
ES
E6
F2
A4<71>
34A0:CE
52
4e
C4
46
52
C5
45<OF>
3790:EF
CA
EF
DA
EF
DD
EF
ED<1A>
31BB:F2
Bl
F3
C9
9B
F0
0D
C9<EA>
34A8:58
DO
4C
4F
C7
43
4C
4F<D7>
379B:EF
Fl
EF
F4
EF
18
FO
14<23>
3XCß:Z2
DO
EF
E6
F2
C8
ei
F3<68>
34B0:C7
53
51
D2
53
47
CE
41<64>
37A0=F0
FB
EF
05
F0
0B
F0
0E<8C>
31C8:C9
Z2
F0
E6
18
A5
94
e5<08>
3468:42
03
49
4E
04
50
41
44<D6>
37A8:FO
4£
EF
52
EF
CE
EF
F7<3C>
31D0:Aß
A4
AB
99
O0
21
IS
60<B0>
34C0:44
4C
C5
53
54
49
43
CB<44>
37B0!EF
6C
EF
7E
EF
26
EF
3.2<86>
31D8:AD
01
21
0A
B0
04
A5
94<ß0>
34C8:S0
54
52
49
C7
53
54
52<CS>
37BS:F0
20
2B
E9
A5
B0
C9
1C<B5>
31E0:C9
06
60
A4
F2
Bl
F3
29<DF>
3400;49
C7
44
50
45
45
CB
A6<96>
37C0;90
IC
C9
28
FO
18
C9
2e<B5>
31Ea:7F
C9
20
DO
03
ca
D0
F5<CA>
34D8:Al
49
4E
53
54
D2
49
4E<9E>
37Ca:9®
16
C9
56
FO
12
C9
57<04>
31F0:B4
F2
Bl
F3
C9
9B
FO
25<8F>
34E014B
45
59
A4
45
SS
4F
D2<7C>
3700:F0
0E
C9
5A
F0
0A
C9
5D<14>
31FS:29
7F
91
F3
C9
61
90
0e<D2>
34eSs 48
45
SB
A4
44
45
C3
44<DD>
37DB:F0
06
C9
61
F0
02
38
60<46>
3200:C9
7B
BO
04
29
5F
91
F3<D6>
34F0:49
06
46
52
41
C3
54
49<55>
37E0:4C
60
£9
20
lE
F4
AO
0O<6D>
3208:C8
C9
30
90
10
C9
3A
90<29>
34F8;4D
45
A4
54
49
40
C5
40<D3>
37C8;Ö4
A0
84
Al
84
B9
BB
S4<44>
3210:E1
C9
41
90
08
C9
5B
90<E4>
3500:4F
C4
45
58
45
C3
52
4E<C6> 1
37FO:AD
A9
7F
85
AE
80
FE
02<98>
3218:D9
C9
5F
FO
05
A4
F2
60<63>
3508;C4
52
41
4E
C4
54
52
55<5D>
37Fe:20
94
C2
A4
AS
CS
C4
A7<6A>
3220:95
52
43
CD
95
44
41
54<ED>
3510:4E
C3
25
B0
25
Bl
25
B2<59>
3B00;B0
2E
A5
A3
48
20
00
F4<S9>
3228:CI
98
49
4E
50
55
D4
91<5D>
3518:25
B3
47
4F
A3
SS
49
4E<EA>
3908:60
85
AO
A5
D2
10
06
20<97>
3230:43
4F
4C
4F
D2
9D
4C
49<32>
3520:53
54
02
45
S2
D2
45
52<45>
3810=BE
C2
4C
35
Fl
20
FB
E4<OF>
3238=53
04
96
45
4E
54
45
D2<92>
3528:CC
00
28
ac
2C
8B
02
89<2e>
3810:84
Al
05
A0
A6
AO
E4
A7<0Ö>
3240;9A
4C
45
D4
9B
49
C6
9C<DO>
3530= SC
02
8A
SB
03
25
0F
35<67>
3820:F0
0A
A0
80
ee
E4
A7
F0<23>
3249:46
4F
02
97
4E
45
58
D4<6B>
3538:02
26
OF
36
02
28
03
E0<C9>
3828:03
20
FB
E4
85
AD
84
AE<5D>
3250:91
47
4F
54
CF
91
47
4F<DS>
3540:02
SD
02
81
02
B4
03
a8<S3>
3830:20
62
C9
AO
01
Bl
8A
30<3e>
3258:20
54
CF
91
47
4F
53
55<53>
3548: 8C
02
03
82
BE
03
2B
OF<07>
3838:34
C5
AE
90
00
m
2E
a8<5H>
3260:C2
BD
54
52
41
DO
90
42<1E>
3550:38
8C
SF
2C
02
03
12
aF<DO>
3840:81
8A
CS
AD
90
02
00
2S<6S>
3268:59
CS
90
43
4F
4E
D4
9E<D6>
3558:3C
SC
02
03
58
BA
02
6B<4C>
3848;AD
IF
00
C9
07
F0
06
A5<16>
3270:43
4F
CD
9F
43
4C
4F
53<D6>
3S60:BA
02
60
02
66
02
67
02<5E>
3850:14
29
0F
O0
F3
20
07
F2<08>
3278:C5
90
43
4C
02
90
44
45<E2>
3568:68
02
69
02
6C
02
6D
02<9A>
3280:C7
9E
44
49
CD
90
45
4E<Ö8>
3570;Bl
02
5E
B2
02
64
B2
02<9F>
3288;C4
90
4E
45
D7
A0
4F
50<2C>
3578:65
B2
02
44
B2
02
Dl
B3<F0>
Listtng »Turbo-Basic XL« (Rjiisetzung)
45
TURBO-BASIC
3850:A5
11
F0
ßF
m
02
El
SA<3E>
3B48sA5
BE
85
SA
A5
BF
85
BB<9Q>
3E3e= BB
AO
01
Bl
BA
30
El
C8<34>
3360:IS
65
3A
85
8A
90
CO
E6<CD>
3B50:60
Bl
BA
D0
03
C8
Bl
SA<94>
3E4a= Bl
8A
85
9F
CS
84
A7
4C<1D>
3S6B:SB
80
08
06
11
A5
B5
F0<E5>
3BS8;49
80
85
07
20
D3
F7
B0<5A>
3E4S=IF
F7
20
lE
F4
20
00
E4<F8>
3S70;07
20
F8
04
A9
00
35
B5<AC> ’
3B60:E2
D0
EO
AO
00
Bl
90
C5<F9>
3E50:A6
AA
BD
60
21
00
27
20<5S>
3878s ÖD
FE
02
20
D3
F7
4C
2B^1E>
3B68:C7
D0
Fl
A0
06
Bl
90
4Ö<Fa>
3E5S:D3
F7
A9
3E
A2
3F
4C
0S<9F>
3880:Fö
86
AA
B5
96
S4
95
A4<69>
3B70=85
E0
08
Bl
90
85
El
CS<61>
3E60=F7
20
00
E4
20
D3
F7
Bß<98>
3888:AA
A5
AF
F0
10
06
AF
B1<B6>
3B7e:Bl
90
85
E2
Cö
Bl
90
S5<E3>
3£6S=2a
09
3C
DO
B6
A6
AA
BC<15>
3890:95
30
03
08
m
F9
CS
20<C7>
3BG0:E3
08
Bl
90
S5
E4
CS
Bl<75>
3E70S 60
21
DO
OA
A9
04
20
24<59>
3098:D7
Fl
40
Ol
Fl
18
98
65<4l>
3588=90
85
E5
A5
07
20
B3
E4<1F>
3E7a=F5
A9
30
40
2B
■FS
60
20<DF>
38Aß:95
85
95
90
02
E6
96
60<FA>
3690:20
9D
20
B0
13
20
00
£5<6E>
3ES0:D3
F7
B0
10
09
3E
DO
9B<B5>
3aA8:Aß
FF
84
AF
£6
AF
A4
AF<S3>
3B98:68
20
ES
F4
90
40
A9
11<05>
3E8e:20
2B
F3
A4
E2
BS
84
A7<7D>
33B0:O1
95
48
09
9B
F0
04
29<59>
3BA0:20
24
F5
A9
08
4C
2B
F8<i6>
3E90=60
A9
17
2C
A9
18
40
DC<24>
38BSi7F
F0
03
20
96
02
68
ia<DS>
3BA8:4C
2E
E5
85
EC
A0
00
Bl<47>
3E98:FS
A5
SF
05
91
90
06
A5<OF>
3BC13:EB
60
20
02
F2
20
E2
ri<86>
38B0:90
CS
D4
DO
2A
08
Bi
90<74>
3EA0:8E
05
90
B0
37
38
A5
90<F3>
30C8:A9
20
40
96
02
A0
00
Bt<B5>
3BB8:C5
D5
D0
IC
CS
Bl
90
CS<80>
3EAS:E9
04
85
90
85
m
Bß
04<EA>
38D0:OA
AA
CS
Bl
SA
20
52
F9<1E>
3BC0:D6
D0
15
C8
Bl
90
CS
D7<5C>
3EBß:06
91
06
0F
A0
03
Bl
90<19>
38D8: AE-
91
F3
FO
11
A6
B9
A0<D5>
3B08;DO
OE
CS
Bl
90
05
DS
D0<;CC>
3808:85
B2
88
Bl
90
85
Al
88<ED>
3SEß:04
Bl
8A
20
9A
F3
F0
04<66>
3BD0:07
08
Bl
90
05
D9
FO
06<8A>
3EC0:El
90
S5
AQ
88
Bl
90
D0<3E>
3öEa:C9
40
Ü0
02
CA
CA
86
D4<FD>
3BD8:6A
45
EC
45
D4
OA
60
05<B2>
3eC8:11
AS
38
A5
90
E9
0D
B5<0F>
33F0:20
02
F2
06
D4
10
F9
AO<FC>
3BE0:D4
45
EC
10
F9
6A
49
80<e6>
3ED0:90
85
OE
B@
04
06
91
C6<50>
3SFa;02
Bl
8A
35
9F
08
Bl
SA<22>
3eES:0A
60
18
65
90
85
98
B5<FE>
3ED8:0F
98
18
60
38
60
20
D3<21>
3900:05
A7
C8
B4
AS
20
49
F2<E1>
3BF0S0E
90
04
E6
91
E6
OF
60<D2>
3000:F7
BB
2D
09
0C
F0
0A
C9<F3>
3908:A4
A7
04
9F
90
F0
60
20<BD?^
3BF8:CS
04
A7
B0
03
20
DE
C2<49>
3eeS:lE
F0
06
09
50
DO
EF
F0<SC>
39i0:3A
F3
09
36
F0
32
C9
54<06>
3C00:A5
88
85
SA
A5
89
85
8B<11> '
3EF0:IF
A4
B2
Dl
AO
DO
16
A5<5D>
3918:F0
17
20
46
F3
20
3A
F3<20>
3008:A9
00
BD
07
F7
SD
A3
F5<7B>
3EF8:Al
Ffl
12
85
8B
A5
Aß
B5<10>
3920:C9
37
F0
04
09
02
Bß
20<10>
3010:A0
03
84
A7
SB
Bl
8A
B5<0F>
3F0O:BA
SS
Bl
SA
85
A7
A0
02<38>
3928:20
38
F3
20
96
02
40
62<CF>
3018:9F
88
Bl
SA
30
15
20
E7<0E>
3F03:B1
SA
85
9F
60
A9
0F
2C<5C>
393ß:F2
Aß
lE
AD
91
F3
D0
02<0C>
3020sF6
20
AF
F6
20
9E
F6
A9<DD>
3F10=A9
10
20
A9
lA
40
DC
FB<21>
3938:A0
02
84
D4
A9
2D
20
96<01>
3C2S:00
85
B7
85
Ö8
85
86
60<A4>
3F1S=20
D3
F7
Bß
F6
m
02
A9<D1>
3940:C2
C6
D4
D0
F7
4C
94
C2<6E>
3030=20
04
FS
4C
6B
E6
20
00<5A>
3F20:08
AA
E8
40
08
F7
A9
1E<5A>
3943I20
38
F3
00
04
20
38
F3<38>
3038;E4
A6
AA
BD
'60
21
F0
0A<86>
3F28:D0
C7
20
D3
F7
BO
14
C9<DB>
3950:2C
10
BF
49
80
20
Bl
F3<1C>
3040:A6
A8
E8
E4
A7
BO
19
4C<6B>
3F30:50
F0
B£
C9
51
F0
EF
C9<00>
39SÖ:C9
A8
D0
EO
20
38
F3
40<E5>
3C4a= 9D
FF
A4
A8
OÖ
Bl
SA
C9<AA>
3F3B:iE
FO
08
C9
0C
DO
EB
38<0C>
3960:82
F2
09
0F
F0
2E
B0
55<08>
3C5ß:IB
F0
09
A9
07
A2
41
A0<EF>
3F40:G9
A4
20
A9
10
40
DC
F8<DF>
3968:48
20
60
E4
06
A8
6Q
C9<7D>
3058:40
4C
0A
F7
A5
9F
85
A7<C6>
3F4e:20
lE
F4
A2
01
A4
AB
B1<0F>
39705 OD
D0
12
A9
24
20
96
C2<BS>
3060:60
Bl
8A
49
26
BD
A3
F5<5A>
3F50:8A
DO
03
00
Bl
SA
49
e0<22>
3978:20
25
33
20
05
DA
09
80<90>
3068=60
00
A9
80
85
11
AC
A3<12>
3F5a:20
ED
E5
8A
Dl
9D
00
DF<£F>
3930:99
7F
05
00
03
20
BE
20<BE>
3070= F5
F0
03
40
DC
FS
20
C4<37>
3F60:Aß
03
Bl
9D
85
8B
8Q
81<6D>
3988=20
50
F9
40
82
F2
20
E2<7B>
3078=F5
20
94
C2
A9
DS
ÖS
93<4E>
3F68:9Ö
85
SA
Bl
8A
85
9F
CB<FE>
3990:Fl
4C
82
F2
20
38
F3
85<eA>
3CS0:A9
FS
85
96
20
E2
Fl
4C<4A>
3F7ß:Bl
BA
SS
A7
60
A2
02
D0<DE>
3998:AF
A9
22
20
96
C2
A5
AF<0S>
3088:2E
F9
A0
Ol
Bl
BA
30
07<74>
3F7a:D4
A9
IB
20
A9
19
40
DC<47>
39A01F0
13
20
38
F3
09
22
D0<25>
3090:85
BB
88
Bl
8A
85
BA
A9<32>
3F80SFÖ
20
D3
F7
B0
F6
C9
45<DA>
39A0:05
20
96
02
A9
22
20
96<37>
3C98S 00
85
B4
85
B5
60
55
34<58>
3F88:D0
0A
A9
04
20
24
F5
A9<6A>
39ßO:C2
C6
AF
D0
ED
A9
22
20<F5>
3CA0:4F
50
50
45
44
AO
A0
01<CB>
3F90= 45
40
2B
FS
4C
5D
F7
A9<D3>
3988:96
02
40
82
F2
38
E9
10<D9>
3CA8:B1
8A
10
EB
A3
BA
85
A0<C3>
3F9S:15
20
A9
13
2C
A9
12
2C<44>
39C0:85
AF
A2
00
A9
ED
A0
71<9E>
3CBß:A5
BE
85
Al
20
62
09
A0<20>
3FA0:A9
11
85
B9
A9
00
DÖ
QD<D5>
3908:20
BB
Fl
20
3A
F3
09
5A<E2>
3CB8:B2
BI
8A
85
9F
68
68
4C<;S4>
3FAÖ=FE
02
20
04
FS
A4
BD
30<C7>
39Dß:Fa
23
09
5D
F0
IF
C9
61<B0>
3CC0: D7
FF
20
3A
CA
S5
BO
S4<6A>
3Fßß:ll
A5
BC
A2
80
86
BD
A6<AF>
39D8=Fß
IB
C9
62
FO
17
C9
6A<25>
3008:BD
60
B4
E3
20
6B
es
20<E6>
3FBe:B9
86
03
A2
OO
86
B9
4C<7A>
39E0S F0
13
09
28
Fß
12
C9
3D<4]>
3CD0:25
33
BO
10
A5
D5
D0
1B<B5>
3FCßs AO
FF
A5
B9
09
80
D0
03<eA>
39E8:ß0
A4
A0
00
Bl
95
29
7F<BC>
3CD8:A5
D4
F0
14
85
B9
A4
A8<CD>
3FCB:4C
BO
F5
20
94
02
A9
37<2E>
39Fß:20
57
EA
B0
99
20
02
F2<83>
3CE058Ö
Bl
SA
48
06
B9
FO
09<1C>
3FD0:20
46
F3
A6
B9
A9
00
20<39>
39F8:20
FF
Fl
40
82
F2
E6
Aa<64>
3CE8:20
68
35
EO
12
FO
F5
6a<Al>
3FD8:52
F9
A5
B9
09
IF
90
02<D3>
3Aß0:A4
A8
04
A7
SO
03
Bl
eA<CB>
3CF0S60
68
09
62
F0
19
09
6A<40>
3FE0iE9
62
85
AF
09
40
B0
0C<EB>
3A08:60
68
68
60
4B
20
59
F3<7F>
3GFS;F0
ID
48
20
FB
E4
68
C9<BB>
3FE8=A2
00
A9
F9
AO
67
20
3A10:68
85
AF
A2
01
A9
EB
A0<EA>
3D00S17
F0
05
A9
lE
20
23
F4<6e>
3FF0:F1
20
FC
Fl
A0
01
Bl
eA<6B>
3A1S:5A
20
BB
Fl
40
FF
Fl
C9<11>
3D08= A5
D4
A4
D5
4C
AO
FF
A9<B4>
3FF8:30
15
A9
67
AO
F9
20
60<5F>
3A20:03
F0
IF
C9
30
F0
IB
C9<A5>
3D10:51
20
23
F4
4C
85
FS
4C<8B>
4000;F9
AO
01
Bl
8A
85
D5
e8<2C>
3A2e:3E
F0
17
09
45
F0
13
C9<F0>
3D18:AF
FS
85
A4
18
A5
90
8S<5ß>
4008:Bl
8A
85
D4
20
56
F9
3A30:4F
F0
0F
09
07
F0
12
20<F2>
3D20:04
65
A4
AS
A5
91
85
C5<3C>
4010:94
02
20
66
FF
40
7B
E6<AB>
3A38:9A
F3
D0
0C
06
S9
C6
B9<CF>
3D28:69
00
CD
E6
02
90
09
D0<ÖF>
4018:85
D3
86
D4
20
DC
2B
20<75>
3A40I10
06
E6
89
E6
B9
30
F4<EC>
3030:10
CC
E5
02
90
02
DO
09<97>
4020:Se
2B
A5
F3
A4
F4
85
95<F9>
3A48:60
A5
AS
48
20
66
35
6Ö<F4>
3D3S:85
91
85
OF
84
90
84
0E<92>
4028:84
96
40
E2
Fl
20
41
54<D4:5
3A50:S5
A8
E0
IB
DO
EC
60
01<CE>
3040=60
A9
02
40
DC
FS
A5
D4<F6>
4030:20
40
49
4E
45
A0
3F
42<3A>
3A58:&1
8A
49
26
BD
91
F3
60<07>
3D4S=91
04
08
A5
D5
91
04
C8CCS>
4038;40
4F
41
C4
4D
45
CD
56<7E>
3A60:C9
09
F0
12
09
3D
F0
0E<C3>
3D5ß:AS
D6
91
04
ca
A5
D7
91<FS>
4040:41
4C
55
CS
3E
23
56
41<D5>
3A68= 09
3F
F0
0A
09
46
F0
06<F4>
3D5B:C4
08
A5
DS
91
04
C8
A5<A9>
4048;32
D3
24
40
45
CE
3F
44<OB>
3A70:C9
51
F0
02
09
41
60
85<4C>
3D60:D9
91
04
60
A5
SC
S5
8E<1C>
4050:41
54
01
3E
33
32
37
36<55>
3A7S:AF
A2
00
A5
83
A4
82
20<FC>
3068=85
90
85
OE
A5
BD
85
SF<92>
4058= B7
49
4E
50
55
D4
44
49<G0>
3AS0iBE
Fl
40
E2
Fl
84
B3
B1<E6>
3D7a:S5
91
85
0F
60
A6
86
06<FF>
4060;CD
53
54
41
43
CB
4F
56<06>
3A88:8A
m
03
08
Bl
BA
49
B0<95>
3D78:F5
A4
B7
84
F6
A6
F5
E4<83>
4068;45
52
46
4C
4F
D7
3F
4C<AD>
3A90: 85
C7
20
00
E4
A6
90
86<19>
3DSa:BS
A5
F6
E5
89
B0
23
A0<Eß>
4070:49
4E
05
3F
46
4F
D2
54<9B>
3A98=C4
A6
91
86
CS
20
D3
F7<EJ5>
3Da8:00
Bl
F5
29
FC
91
F5
AO<4B>
4078:4F
4F
20
40
4F
4E
07
3F<3A>
3AAS:E0
0C
m
0A
A0
00
Bl
90<30:-
3D90:02
A2
06
A9
00
91
F5
CS<03>
4080:44
45
CC
3F
47
4F
53
55<3F>
3AA8:C5
07
m
Fl
F0
08
A5
C4<66>
3D985CA
DO
FA
A5
F5
IQ
69
ß8<D7>
4088:02
47
41
52
42
41
47
C5<D1>
3AB0:S5
90
A5
C5
85
91
A9
0D<9A>
3DA0:85
F5
A5
F6
69
OO
85
F6<:50>
4090:3F
43
48
D2
4D
45
CD
A3<1A>
3AB8=2ß
54
F6
20
68
ES
A0
00<F1>
3DAS=D0
D3
40
05
C9
A0
00
S4<FD>
4098:3F
40
4F
41
04
3F
4E
4S<8e>
3ACa= 20
80
F6
20
BB
2F
A6
A8<AB>
3DB0:BA
34
BB
84
B9
84
FB
S4<29>
40A0= 53
D4
3F
57
48
49
4C
C5<FF>
3ACO :ES
E4
A7
B0
03
20
6B
E5<6E>
3DB0:B6
84
B7
84
BÖ
Q0
84
BD<ED>
40A8:3F
52
45
50
45
41
D4
3F<FF>
3ADßzA0
06
20
80
F6
AD
07
F7<FB>
3DC0=S4
11
40
34
05
Bl
BA
49<94>
40B0= 44
CF
3F
45
58
49
D4
5e<lF>
3AD8:DO
20
A5
07
AO
oc
91
C4<5A>
3DC8:26
8D
07
F7
60
00
A0
FF<4C>
40Ba=5O
52
4F
03
3F
45
58
45<0F>
3AE0tA9
m
F0
05
4A
A4
A8
B4<A7>
3DD0:SE
30
F7
8D
34
F7
SC
38<93>
4000:03
3F
50
52
4F
C3
3F
A3<37>
3AE8:B3
48
A9
04
20
54
F6
6S<A3>
3DDa:F7
A9
00
85
D7
A5
8A
a3<69>
4008:49
53
20
4F
50
45
CE
3f<£e;>
3AF01A0
00
91
C4
A5
SA
Cö
91<F6>
3DE0:BE
A5
BB
S5
BF
A4
A7
C4<C3>
40D0:44
45
D6
57
52
20
4F
4E<C3^
3AFSs C4
AS
SB
08
91
04
A6
B3<17>
3DE8;9F
B0
3D
Bl
8A
85
A7
CS<B1 >
40D8:4C
D9
43
4D
04
4E
4F
S4<2B>
3B00:CA
OA
03
91
04
60
A5
90<:80>
3DF0:B1
SA
CS
84
A8
09
0O
F0<;O7>
4000=20
4F
50
45
CE
A3
52
44<37>
3B08:48
A5
91
48
A5
04
SS
90<C9>
3DFS:0D
09
00
FO
12
09
00
D0<AD>
4ßE8=20
4F
4E
40
D9
45
4F
C6^DB>
3B10:A5
C5
85
91
A5
D4
48
A5<EE>
3E0O:E4
A5
D7
D0
EO
60
A5
D7<20>
40F0i54
52
55
4E
C3
54
49
4D<a3>
3BlQiC7
20
B3
E4
68
20
E5
F4<98>
3E08:F0
FB
C6
D7
40
IF
F7
C9<77>
40FO345
4F
55
D4
4E
41
CB
21<7C>
3B2ß:90
08
68
es
91
68
85
90<F3>
3£10:07
D0
09
A4
A7
88
El
8A<E2>
4100:46
52
41
4D
05
43
55
52<46>
3B2S;B0
E0
68
6B
A9
08
A2
09<1S>
3E1Ö:C9
IB
F0
09
E6
D7
DO
C5<99>
4108=53
4F
D2
21
4F
56
45
52<C2>
3E30:20
08
F7
Bl
OA
DO
03
C8<04>
3E20=20
82
F4
A9
16
4C
DC
FS<A7>
4110:52
55
CE
43
48
4B
53
55<21>
3B38:B1
8A
49
80
45
07
F0
CSC05>
3E2S:A0
01
Bl
8A
30
F2
18
A5<B2>
41i8;CD
44
4F
40
05
4D
4F
44<12>
3340=4C
5A
F7
A9
0D
40
DC
F8<36>
3E30S 9F
65
3A
85
SA
90
02
E6<93>
4120= C5
4E
4F
54
20
49
4D
5ß<AE>
46
TURBO-BASIC
0D08r84
05
99
Ö5
05
18
98
69<41>
OFE8:£4
29
7F
20
18
C2
BD
aA<41>
12C8:A5
D5
4C
A9
E9
A6
D4
4C<62>
85
A3
69
7A
08
20
F3<60>
0FF05E4
10
F2
A5
A4
Fß
18
2ß<C9>
12D0:36
EB
68
69
BA
48
88
S8<E2>
0Ü18SE9
28
A9
05
69
00
4C
F3<E4>
OFFS:03
£4
20
6 E
69
63
68
74<95>
1208=20
FC
ES
68
4C
84
E9
A2<EF>
ßD20=e9
A0
48
4C
CF
C7
£6
A0<51 >
1000:20
63
6 F
60
70
69
6 C
69<F0>
12E0:SS
20
FD
E6
E6
D4
D0
D5<A7>
OD2a :m
6 S
A4
9C
4C
6 D
C5
Ö9<E1>
1008:65
72
62
61
72
0 ß
60
A5<B1>
12ES:E6
05
4C
IC
E7
A9
17
20<26>
0030102
DB
99
00
DS
ca
C4
9B<76>
1010:99
A0
00
20
E8
CI
20
03<6C>
12F0:A9
E9
38
A5
86
E5
84
0S<45>
0039:D0
F5
C6
9B
4C
Fl
C8
8 A<2&>
1018:E4
20
2A
2A
2A
20
4D
5S<D9>
12FB:20
A9
E9
A9
A0
20
A9
E9<C5>
0D40199
00
D8
CS
CS
B9
01
D8<2D>
1020:45
4C
4C
20
2 A
2A
2A
0 ß<eF>
1300:28
A5
87
E5
85
20
A9
E9<89>
0D4BS99
00
08
CÖ
C4
9B
D0
F5<47>
1028:4C
90
C0
04
4C
49
53
D4<C7>
1308:CS
B9
00
08
85
E0
ca
&9<BA>
0050:C6
9B
4C
38
C9
20
20
CB<09>
1030:05
45
4E
54
45
D2
0F
43<F5>
1310=00
D8
85
El
98
48
Aß
0O<0C>
0D5Ü:90
23
48
20
00
E4
49
6E<5D>
1038:4F
4E
D4
16
4E
45
07
1S<74>
1318:Bl
E0
18
69
01
85
£2
A2<AC>
0D£»0:74
65
67
65
72
20
3C
30<3D>
1040:4C
4F
41
C4
19
53
41
56<1Q>
1320:86
20
FF
C3
Aß
00
Bl
E0<6D>
0O6S:20
6 F
64
65
72
20
3E
36<07>
1048:C5
34
43
53
41
56
C5
35<73>
1328:91
AB
C8
C4
E2
D0
F7
68<3A>
0D70:35
35
33
35
00
68
A8
A9<C6>
1050:43
4C
4F
41
C4
37
45
52<68>
1330:AS
A9
IS
4C
21
E5
A2
55<B1>
0078:00
83
04
85
05
A9
89
99<AC>
1058=52
4F
D2
53
2A
CC
55
52<D1>
1338:2C
A2
88
2C
A2
SA
2C
A2<BÖ>
0080 = 00
08
A5
04
99
01
D8
A5<87>
1060:45
4e
55
CD
56
44
45
CC<2E>
1340:SC
20
A7
E7
ES
A9
84
2C<SC>
0008:05
99
02
D8
CS
4C
E4
CS<34>
1068:57
44
55
4D
D0
58
54
52<4A>
13481A9
85
4C
36
EB
A2
09
2C<20>
0090: ^^9
O0
20
F3
E9
C6
9B
A0<C6>
1070:41
43
CS
00
54
4F
48
4S<35>
1350=A2
29
2C
A2
49
20
OB
E9<F3>
0090500
B9
00
Da
10
67
C9
SB<:D5>
1078:4E
20
A3
20
15
CI
A5
92<;84>
1358:A9
AA
20
A9
£9
A9
98
20<35>
00A0:90
62
C9
AF
F0
5C
B0
5B<E3>
1080:A4
93
20
ES
CI
A9
3A
2C<67>
1360:A9
E9
20
OS
E9
A9
AS
20<75>
ODA9iC9
96
F0
58
C9
S1
F0
53<:S3>
10BB:A9
20
2C
A9
9B
4C
18
Q2<4D>
1368:A9
£9
A9
8 A
4C
A9
£9
O0<52>
0DE?0: C9
8 C
F0
4F
C9
8 E
F0
4B<AC>
1090:68
85
04
68
SS
05
E6
D4<1E>
1370:01
02
03
FF
FF
FF
FF
FF<D8>
0088:C9
94
F0
47
BE
01
08
C9<F9>
1098:00
02
E6
05
A0
00
Bl
D4<7F>
1378:FF
FF
FF
FF
FF
FF
FF
FF<9E>
0DC0:9A
F0
53
C9
9C
F0
57
C9<51>
10A0:F0
06
20
18
C2
4C
F5
E4<CC>
1380:FF
FF
FF
FF
FF
FF
FF
FF<A6>
0DC8:98
B0
39
C9
80
FO
3C
C9<39>
10A8: A5
DS
48
A5
D4
48
60
9S<BA>
138a:FF
FF
FF
FF
ID
lE
IF
20<7D>
0000:92
F0
4E
C9
83
F0
56
C9<55>
10 B0:48
SA
A0
00
20
£8
CI
20<91>
1390:21
22
23
24
25
26
27
28<AA>
0DD8:84
F0
39
C9
88
F0
5C
C9<£E> j
1088:00
£4
51
4A
53
42
00
68<9S>
1398:29
2A
FF
FF
FF
FF
2F
30<2F>
ODE0:89
F0
63
C9
SA
F0
ID
C9<23>
10C0:AS
60
0A
AA
A9
20
20
A9<1F>
13Aß:3a
32
33
34
FF
36
FF
FF<63>
0DE8:SB
F0
20
C9
SD
F0
15
C9<0D>
10C8!E9
BD
00
DF
20
A9
E9
BD<AE>
13AS:FF
FF
FF
FF
3D
3E
FF
03<8D>
0DF0:a6
F0
lO
C9
93
F0
0C
C9<0D>
1000:01
DF
F0
DB
4C
A9
E9
20<CB>
13B0:41
D0
Dl
44
45
46
47
4S<DF>
ODFBiSy
F0
6 F
C9
85
D0
06
4C<0B>
1008:00
E4
43
6 F
60
70
69
6 C<AÜ>
13BS:49
4A
4B
4C
4D
4E
4F
50<45>
0E08:3B
CA
CS
CS
C8
CB
C4
9B<29>
10E0:65
72
20
46
65
68
6 C
6S<76>
13C0:51
52
53
54
55
56
57
5e<4D>
0E0Q:90
SF
60
B9
03
08
C9
S3<33>
10EQ;72
00
4C
90
C0
A4
9B
C0<16>
13C8:59
5A
5E
5C
5D
5E
5F
35<2A>
0 E10:00
03
4C
F6
CS
4C
CB
CA<SB>
10F0:07
00
25
AD
00
08
C9
S2<6B>
1300:37
FF
PF
33
39
FF
FF
FF<F7>
0E1S:4C
05
CB
A2
A9
2C
A2
AA<02>
1OF8:D0
lE
AO
02
DB
C9
B8
D0<82>
13De:FF
FF
3A
6 B
6 C
FF
FF
FF<70>
0E20:2C
A2
8 A
B9
02
DS
C9
B3<3B>
1100:17
AD
05
D3
C9
A0
D0
10<6F>
13E0:FF
FF
FF
FF
FF
FF
FF
FF<06>
0£28= D0
DA
4C
E0
CS
£0
84
D0<C2>
1108:AO
01
D8
CD
06
08
D0
0S<E1>
13E8:FF
FF
FF
FF
FF
FF
FF
C0<CF>
0£30:D4
4C
D0
CS
E0
83
F0
F9<71>
1110:80
05
D8
A0
02
4C
C6
E5<ED> 1
13F0:C2
86
2C
2 D
2B
C4
00
CD<70>
0E3S:4C
5E
CA
E0
83
F0
04
E0<CC>
1118:A0
00
C4
9B
Fß
41
B9
O0<2E>
13FS:C3
88
CI
C6
87
C7
2E
C9<E9>
0E40:84
D0
C2
4C
E6
CS
B9
03<O1>
1120:08
AA
BD
CE
E7
10
30
C9<BD>
1400:CA
CB
C5
C8
CC
D2
CD
FF<53>
0E4O:D8
C9
46
F0
0B
C9
97
F0<E2>
112S:C0
90
IB
C9
D7
B0
AS
29<FF>
1408:FF
89
BA
BB
ac
FF
8 £
SF<C0>
0E50:0F
C9
55
D0
AE
A9
93
2C<3F>
1130:3F
0A
AA
BD
CE
E8
85
D4<60>
1410:90
91
92
93
94
95
96
97<AS>
0E5©:A9
86
99
O0
08
4C
20
C9<Be>
1138:BD
CF
ES
85
05
B9
00
DS<17>
1418:98
99
04
FF
9C
FF
CF
CE<21>
0E60:A9
96
99
00
OS
C8
C8
4C<46>
1140s20
08
CS
4C
B9
E5
A9
A2<16>
1420:CE
CE
CE
CE
CE
C£
ce
CE<70>
0E68:D0
C8
E0
80
FO
0E
E0
a 2 <cc>
1148:20
A9
E9
ca
B9
00
D8
20<E5>
142B:CE
CE
05
D6
FF
FF
FF
FF<93>
0E70:F0
19
E0
89
D0
03
4C
A8<2S>
1150:A9
E9
BD
CE
E7
29
3F
20<0F>
1430:FF
FF
FF
FF
FF
FF
FF
FF<58>
0E78: CA
4G
A6
C9
B9
04
D8
C9<6C>
1158:21
E5
C8
C4
9B
00
BF
60<12>
1438=FF
FF
FF
FF
FF
FF
FF
FF<60>
0E80:85
D0
F6
A9
SB
20
49
CA<DC>
1160:38
E9
50
2C
A9
80
2C
A9<CA>
1440:FF
FF
FF
FF
FF
FF
FF
FF<68>
0E3©5 4€
2D
C9
B9
03
D8
C9
85<4A>
1168:81
2C
A9
05
2C
A9
04
85<:50>
1448:FF
FF
FF
FF
FF
FF
FF
FF<70>
0E90:O0
E7
A9
BD
20
49
CA
4C<43>
1170-.es
CS
B9
00
D8
85
E6
ce<34>
1450: FF
FF
FF
FF
FF
FF
FF
FF<7B>
0E9a:E4
C8
SA
38
E9
24
C9
04<BA>
1178: B9
00
OS
85
E7
84
E9
A0<83>
1458=FF
FF
FF
FF
FF
FF
FF
FF<C0>
0EA0:B0
D7
99
00
OS
4C
E5
CB<FF>
1180:05
Bl
E6
99
E0
00
BS
10<B7>
1460:FF
FF
FF
FF
FF
FF
FF
FF<8S>
0£AS:99
00
D8
98
48
B9
02
08<86>
1ISB:F8
A5
EO
D0
06
A5
E8
C9<28>
1468:FF
FF
FF
FF
FF
FF
FF
CC<5i)>
0EB0:99
01
08
CS
C4
9B
00
F5<F6>
1190:04
F0
10
A5
E5
05
E4
05<i5>
1470=£5
C9
E5
4C
E7
FC
EB
Fi<ca>
0EBB:C6
96
68
AB
60
E0
A0
F0<71>
119S;E3
05
E2
00
34
AS
E0
C9<5F>
1478:£6
3£
E7
AF
E7
AC
£7
B2<60>
0EC0:13
E0
A2
F0
12
E0
A3
F0<D6>
11A0:40
D0
2E
A5
ES
A4
£9
A6<2C>
1480:E7
98
E7
9B
£7
9£
E7
95<C1>
0ECB:11
E0
BS
F0
15
E0
B9
FO<09>
11AS:El
C9
66
F0
22
C9
67
F0<2A>
1488:E7
BE
E5
BF
E5
C3
E5
1E<46>
0ED0;11
4C
A6
C9
A9
A6
2C
A9<ÖE>
11B0:36
C9
68
F0
4C
C9
69
F0<72>
1490;£9
21
E9
05
E9
2E
£9
3S<EC>
OeOS;A7
2 C
A9
A8
99
00
08
4C<Ae>
ne85 4F
C9
6 A
Fa
32
C9
04
F0<4D>
i49a:E9
4E
E9
51
E9
20
05
£9<75>
0EE0:E5
CS
B9
04
D8
C9
83
D0<99>
1ICO:36
C9
05
F0
46
C9
80
F0<1C>
14A0:A9
A0
2C
A9
A2
2C
A9
A9<CD>
0EES:ES
C8
20
20
CB
es
80
£1<:1D>
I1C8:51
C9
81
FO
4A
D0
54
E0<8E>
14AS-_24
8 A
20
A9
E9
C8
B9
00<AD>
0EF0:A5
D5
DO
DO
18
B9
01
0B<5D>
11D0:02
D0
50
A9
71
2 C
A9
7a<S2>
14B0:DB
4C
A9
E9
A9
07
20
09<26>
0EF9:&9
03
99
00
DB
A5
D4
99<50>
1108:2C
A9
6 F
2C
A9
72
2C
A9<9B>
l4eß:E9
4C
0C
E9
A2
BA
2C
A2<6E>
0F00:0i
D8
CÖ
CS
4C
F2
CA
E9<Q2>
11E0:43
2C
A9
42
4C
21
ES
E0<70>
14C0=O6
2C
A2
04
A9
A5
20
36<A6>
0F0a:04
OS
C9
56
F0
0 D
C9
57<32>
11ES:02
F0
EB
A9
73
DO
lE
E0<EC>
l4Ce:EB
EB
A9
A4
4C
36
EB
20<08>
0F10:F0
0A
C9
5A
D0
BB
A9
94<B6>
ilF0:02
F0
E9
A9
76
D0
16
E0<AD>
1400:F6
E6
A9
Bl
A2
04
4C
36<C6>
0F18:2C
A9
8 C
2C
A9
SE
99
ßl<9E>
11FS:01
F0
E4
90
E5
A9
40
D0<34>
14D85EB
A9
A2
GS
BE
00
08
20 <B6>
0F20:DO
A9
83
99
00
DS
CS
4C<79>
1200:0C
E0
01
Fß
04
A9
74
2C<9F>
14Eß:36
£ß
BD
00
DB
10
03
A9<3B>
0F28:2D
C9
C9
49
F0
23
C9
4S<A2>
1208:A9
75
2C
A9
79
48
A9
A9<BD>
14E8:3C
2C
A9
lA
4C
21
E5
A9<41>
aF30:F0
IF
C9
A0
F0
41
C9
36<6D>
1210:20
36
EB
68
4C
21
£5
A9<F7>
14Fß:6D
2C
A9
6 E
48
A9
A2
20 <0B>
0F38:DO
27
B9
02
DS
85
05
B9<56>
1218:78
2C
A9
77
48
20
02
E9<97>
14F8:A9
E9
ca
B9
00
DS
20
A9<FC>
aF40:01
D8
85
04
A2
00
Al
04<CC>
1220:4C
6 D
E6
A5
32
35
D4
CS<2B>
1500:E9
68
4C
21
E5
Aß
O0
2C<05>
OF48:F0
04
49
80
01
D4
4C
20<83>
1228:84
A5
83
85
D5
E5
S5
B8<0O>
1508:A0
06
A9
A9
20
A5
E9
AO<4C>
0F50:C9
B9
03
08
99
00
08
C8<2B>
1230:21
A0
05
Bl
D4
D9
E0
00<42>
15i0:FB
4C
30
EB
A9
IF
2C
A9<AC>
0R58:C4
9B
DO
F5
C6
9B
4C
DB<9€>
1238:00
05
es
10
F6
30
24
i8<64>
1518:ID
2C
A9
IC
2C
A9
03
2C<EC>
0FÄ0SCS
4C
A4
C9
B9
03
D8
C9<C2>
1240:A5
D4
69
06
85
04
90
ß2<D7>
1S20:A9
02
2C
A9
00
0A
AA
BC<56>
0 F^O:ID
90
F6
C9
28
B0
F2
69<D1>
1248:E6
D5
es
84
A5
D5
E5
S5<2C>
1528:01
OE
DO
10
SA
. 20
EB
C1<A4>
0F70:93
99
00
OÖ
4C
2D
C9
A9<SD>
1250:90
OF
A9
06
A2
84
20
FF<CB>
1530:20
E7
E4
20
00
£4
51
4A<1E>
0F7a:AF
99
00
08
4C
2D
C9
98<52>
1258:C3
A0
05
B9
E0
00
91
D4<E6>
1538:53
41
60
DD
00
DE
AA<25>
0F80:48
C8
B9
00
D8
85
E0
CS<64>
1260=88
10
FS
A9
0F
20
A9
E9<89>
1540:A9
20
20
A9
E9
8 A
20
A9<6F>
ßF8Q:B9
00
Dö
05
El
A0
05
B1<AA>
1268:38
A5
D4
ES
82
08
20
A9<B8>
1S48SE9
98
86
A4
A6
9A
90
00<A3>
0F90:E0
99
D4
00
88
10
F0
20 <eB>
1270:E9
A9
A0
20
A9
E9
28
A5<4F>
1550SD9
A6
A4
E6
9A
F0
lE
60<4D>
0r98:2A
21
68
A8
60
00
E4
27<7D> ‘
1278:D5
E5
83
20
A9
E9
A4
E9<D3>
1558:20
00
E4
41
75
73
64
72<C3>
0FA0:F9
20
DA
E4
E6
90
D0
02<AD>
1280:A5
ES
10
0B
20
02
E9
A9<A7>
1560:75
63
6 B
20
7A
75
20
6 E<ßA>
0 FAa:E6
91
68
85
D4
68
B5
D5<31>
1288:3B
C6
ES
10
02
A9
3F
4CC77>
1568:68
6 D
70
6 C
65
78
00
4C<D3>
0FB0:Eä
D4
D0
02
£6
05
A0
00<D6>
1290:21
ES
A2
46
20
FD
E6
A9<B9>
1570:9D
CB
98
48
8 A
48
A9
SO<09>
0FB0:B1
04
F0
06
20
18
C2
4C<B3>
1298:A0
A2
00
4C
36
EB
ca
B9<9F>
1578:A2
80
20
FF
C3
Aß
00
S9<1S>
eFCOiOF
E4
20
EA
E4
A5
D5
4S<B9>
12A0:00
D8
85
D4
C8
B9
00
DS<C9>
1 580:00
09
91
AB
B9
80
D9
99<DC>
0 FCB:A5
D4
48
60
20
DA
E4
A2<0F>
12ASi8S
DS
C9
C0
90
0C
C9
DS<99>
1588:00
09
CB
10
F2
B4
9A
6S<1D>
0FDO:00
BD
8 A
E4
S5
A4
F0
0D<2D>
12BO:B0
20
C9
03
F0
IC
C9
D0<4C>
1590:AA
68
A3
60
86
A4
A6
9B<59>
0FI>8:C5
99
F0
09
ES
BD
BA
E4<79>
1208:90
18
A9
A5
2C
A9
A4
A6<1D>
1598:90
00
08
A6
A4
E6
9B
F0<40>
0FE0:10
FA
£8
00
EC
ES
BD
BA<13>
12C0:D5
F0
OA
09
08
20
2C
E7<1F>
15A0:B7
60
A0
96
2C
AO
95
A9<51>
Listing 1_ Turbo-Basic-Compifer (Fortsetzung)
53
TURBO-BASIC
15A8sA9
20
A9
E9
AD
31
04
49<aF>
1888:AB
CS
AS
SO
91
AB
CS
A5<24>
1B68:20
A5
E9
A9
30
4C
84
E9<2C>
15B0S26
FO
02
A9
FF
20
A9
£9<67>
1890:81
91
AB
60
38
A5
BA
E9<21>
iB70:20
84
EC
20
45
£B
20
4C<71>
i5Ba:4C
30
EB
20
7A
C8
A4
9B<86>
1898:03
85
QA
80
02
C6
SB
A0<D0>
lB78:e5
A9
31
4C
84
£9
20
a4CBQ>
X5C05 C0
03
D0
17
AD
00
DB
C9<D5>
1SA0:00
Bl
8A
60
20
0C
ED
20<8F>
1B80:EC
AD
81
04
C9
0F
FO
1D<AF>
15C0:3?
00
Iß
A5
99
C9
0C
D0<4B>
18A8:F3
EC
FO
F8
60
AO
02
Bl<01>
1888:A9
32
2C
A9
36
2C
A9
34<7F>
1500=05
A9
03
20
84
E9
AO
00<B3>
18B0:8A
85
AC
88
Bl
SA
85
AB<36>
lß90:4B
20
DD
FO
68
48
06
9a<91>
15D854C
13
E9
20
4C
E5
A9
ß9<5E>
1888:18
AS
80
69
03
91
AB
CS<10>
1B98:69
00
20
84
E9
AS
9D
C9<2B>
15E0ifl4
99
C0
0C
DO
02
A9
S8<8B>
1SCO:AS
S1
69
00
91
AB
60
4S<10>
IBAO:16
D0
EE
68
60
20
70
CSC44>
X5ES:4C
84
E9
20
E5
EB
AO
CS<1A>
1SCSI20
D5
EC
63
AA
CA
DO
0D<1B>
lBA8:2ß
BO
Fl
A5
9D
C9
15
F0<69>
15F0S4C
3D
EB
20
£5
EB
A2
O2<07>
1SD0:20
00
E4
44
4F
20
66
65<EB>
1BD0:D7
EO
DS
A9
39
2C
A9
3A<£3>
15F3:A0
FD
4C
2D
EB
20
70
C8<3C>
1808=63
6C
74
OO
60
CA
DO
11<5C>
1BD8:AE
81
04
C9
16
D0
05
A9<D6>
4C
E5
AS
9D
C9
12
F0<10>
18E0:20
00
£4
52
45
SO
45
41<04>
1BC0:3B
4C
84
£9
48
20
E5
E©<B5>
1608;F4
60
20
0B
C5
4C
4C
ES<8F>
iaEB:54
20
66
65
68
6C
74
00<43>
1BC8:A0
ac
20
3D
£D
68
2C
A9CC4>
1610:A9
12
4C
B4
E9
A9
0C
20<F8>
18F0S60
20
00
E4
57
48
49
4C<48>
1BD0:38
48
20
£5
EB
AQ
88
20<8D>
1610:84
E9
4C
3B
EA
A5
90
C9<58>
ISFB:45
20
66
65
68
6C
74
00<BB>
1BD8= 3D
EB
20
ES
£B
A0
SA
20<C6>
1620s16
F0
ED
20
84
EC
A4
97<A5>
1900: 60
20
8E
ED
A9
02
2C
A9<59>
1BE0:3D
EB
20
ES
EB
68
4C
B4<D7>
1628:C0
01
D0
09
A5
9D
C9
12<3E>
1908:01
48
20
06
ED
85
D4
6B<7E>
lBEasE9
AD
31
04
C9
16
FO
36<02>
1630:D0
03
20
48
CI
A5
9D
C9<2A>
1910:C5
D4
DO
B3
CB
Bl
SA
AA<90>
1BF0=A9
3D
2C
A9
54
48
AD
81CBB>
1638:16
F0
64
C9
12
FO
71
C9<80>
1918=CS
Bl
BA
AB
A9
4C
4C
A1<B2>
1BF8:04
C9
IC
DO
21
20
48
C1<B9>
1640:15
FO
72
20
70
CS
C9
3£<95>
1920=E9
A0
02
Bl
8A
85
AC
88<QI>
1C0O:20
A6
FO
68
AA
A9
3F
£0<B4>
1648:D0
07
20
AB
Fl
A9
2B
D0<E1>
1928:Bl
SA
85
AB
4C
E9
EC
A9<D7>
1COS:84
FO
02
A9
37
20
A5
£9<75>
1650E4S
C9
54
D0
07
20
A8
Fl<04>
1930:D0
2C
A9
FO
48
20
70
CS<D1>
ICIO:A9
A0
AO
00
20
A5
E9
SA<89>
1658:A9
56
DO
3D
A4
9B
CO
03<C8>
193B:C9
04
DO
0E
20
A8
Fl
A9<F5>
1C18:4C
B4
£9
A9
3C
48
20
7A<C4>
1660:Ü0
2C
AD
00
D8
C9
81
D0<:4C>
1940=S4
A0
D4
20
A5
£9
A9
05<BF>
1C20:C8
20
4C
E5
6S
2C
A9
55<76>
1660:25
AD
01
D8
85
D4
AD
02<D2>
1948= DO
05
20
4C
E5
A9
A5
A0<21>
1C28:4C
84
E9
20
A6
FO
A5
92<0E>
1670:DB
35
DS
A0
00
Bl
D4
C9<C1>
1950:D4
20
AS
£9
68
AO
03
4C<2D>
tC30:99
00
DC
AS
93
99
00
DD<66>
1678:01
DO
OD
CB
Bl
D4
AA
A9<0A>
1958sA5
E9
A5
80
48
A3
81
4a<43>
1C3SS60
A9
3E
20
84
£9
20
A6<BC>
1680:^9
20
36
EB
A9
2B
DO
11<1D>
I960:20
3£
ED
20
Fl
C4
A9
03<92>
lC40tFO
AA
A9
IF
4C
Al
£9
2ffl<AC>
1688:20
BO
Fl
4C
94
EA
20
4C<94>
1968:20
ED
A9
03
20
El
EC<98>
1C40:4B
CI
C9
OO
DO
03
20
48CO0>
1690:£5
A9
0D
24
98
30
02
A9<67>
1970:68
91
AB
68
88
91
AB
60<4A>
lCSß:Cl
49
80
AB
20
48
CI
B9<S0>
1698:OE
20
84
£9
4C
94
EA
A9<04>
1978:AS
SA
85
D4
A5
SB
85
D5<EB>
1C58:00
DD
85
98
98
60
20
A6<9D>
16ft0:10
20
84
E9
A5
99
C9
33<2ß>
1980:AO
00
38
A5
D4
£9
03
B5<A1>
1C60:FO
A9
A2
4C
AS
£9
AD
S1<S7>
16A8SD0
05
A9
11
20
84
E9
60<69>
1988:D4
BQ
02
C6
D5
Bl
D4
F0<3£>
1C68:04
C9
16
DO
05
A9
3F
4CC2D>
16B0:A9
0F
20
B4
E9
46
90
A4<6E>
1990:F1
C9
05
DO
08
A9
IF
20<4A>
1C70:S4
E9
A9
40
2C
A9
41
2CC10>
16BS:97
©9
80
04
C9
16
FO
E4<F1>
199B=84
E9
20
Fl
C4
A9
00
20<C2>
lC7SiA9
42
2C
A9
43
2C
A9
44<03>
16C0:C9
15
FO
04
C9
12
DO
03<O6>
19A0S El
EC
4C
7B
ED
A9
03
20<CF>
1C80:2C
A9
45
2C
A9
46
2C
A9<E4>
i6CB:20
48
□ 1
4C
94
EA
8A
FO<AE>
19A8=63
ED
20
Fi
C4
20
F3
EC<4D>
iC88:47
48
20
70
C8
20
4C
E5<B1>
46D0:0D
A9
8D
20
A9
E9
98
20<53>
J9B0:4C
80
ED
20
8E
ED
A5
9D<5S>
1C90S68
4C
84
£9
20
E5
EB
A0Ce9>
i6DB:A9
3A
4C
A9
E9
A9
8S<D0>
19Ba:C9
i©
FO
13
20
Fl
C4
A6<39>
iCVasQC
20
3D
EB
A9
49
2C
A9<40>
16E0t4C
A5
E9
A9
95
2C
A9
90<3F>
19C0S8C
A4
SD
20
TB
£D
A5
B0<A6>
ICAO:48
48
20
84
EC
20
£5
EB<AF>
16E8:4S
20
7A
C8
68
20
F3
E9<5E>
19CS:85
ec
A5
S1
85
3D
60
CD<D3>
1CA8:A0
es
20
3D
£B
20
E5
EB<F7>
16F0:20
7E
CS
A4
9B
CO
07
D0<8ß>
1900:7F
05
F0
IC
20
7A
ca
A4<DD>
1CBO:A0
SA
20
3D
EB
4C
E9
F0<2D>
16F3:0fi
AD
O0
DS
C9
89
DO
03<E2>
19DS:9A
A9
FO
99
FE
DB
A0
0O<B9>
ICDS:20
70
CB
C9
B4
08
DO
02C0S>
1700:CD
04
DS
60
20
45
EB
D0<4E>
19E0:20
13
E9
A6
95
E4
94
B0<7B>
1CC0SC6
9D
20
4C
E5
20
Fl
C4<98>
1708:29
AD
06
08
FO
03
20
DS<16>
19E8t06
20
27
CI
4C
42
EE
60<B5>
icCÖ:A5
9D
C9
17
FO
OF
C9
1S<2A>
1710:EB
AD
02
08
C9
CO
90
0C<OD>
19F0:20
Fl
C4
A6
8E
A4
BF
20<S3>
1CD0:F0
OE
C9
62
F0
3A
C9
6A<36>
1718:C9
08
B0
16
C9
D3
FO
12<A3>
19Fa:7B
ED
A5
80
85
8E
AS
81<0A>
1CDS:F0
33
4C
5F
F5
A2
4C
2C<37>
1720:C9
D0
90
OE
AO
04
20
05<F3>
1A00:85
8F
60
A5
OD
FO
3A
A2<13>
ICEO:A2
4E
2B
DO
01
ES
A9
27<10>
172SSE9
AE
02
D8
AC
01
D8
4C<91>
1A08:0O
AO
00
A9
4G
91
8C
CS<3E>
ICEB:A0
00
20
A5
£9
8A
20
B4<0a>
i730:2D
EB
20
4C
E5
A9
13
4C<eC>
1A10:B1
SC
48
18
SA
65
80
91<;A2>
1CF0:E9
20
7A
ce
A5
9B
C9
03<9E>
173©-. 84
E9
20
45
EB
DO
32
AD<62>
lAlSsSC
C8
Dl
SC
AA
A5
81
69<42>
1CFS:D0
37
AD
01
D8
AC
02
DSCFS>
1740:02
DB
C9
CO
90
0C
C9
Da<BS>
1A20:OO
91
8C
86
BD
68
85
BC<:23>
, 1000=20
A5
E9
EE
Ol
D9
AS
9DC11 >
1748:80
27
C9
D3
F0
23
C9
D0<DC>
1A2S:60
A5
BD
FO
14
AQ
00
Bi<D6>
1D0S:C9
16
DO
ES
60
A2
50
2C<ca>
1750=90
IF
AQ
04
20
FC
EG
A£<D1>
1A30:SC
FO
OE
A2
03
20
68
EEC59>
1D10:A2
52
28
DO
01
£8
A9
2F<D9>
1758:02
D8
AC
01
DS
20
2D
EB<C7>
1A38:20
IB
EE
A9
00
BD
m
D9<66>
1D18:AO
OO
20
A5
E9
QA
20
B4<AS>
1760:C8
DO
01
ES
SA
FO
05
A9<44>
1A40:60
20
O0
E4
49
46
20
66<72>
lD20:e9
20
A6
FO
20
A5
E9
££CDF>
1768:88
4C
32
Efi
A9
84
4C
A5<;75>
1A48:65
68
6C
74
OO
60
AS
92<BA>
1D28:01
D9
A5
9D
C9
16
DO
F1<AS>
1770SE9
20
4C
£5
A9
14
4C
S4<85>
1A50:A4
93
20
32
EB
20
48
CKFO
1D30:60
20
00
E4
4F
4E
2E
47<B3>
1778:89
20
O0
E4
5A
61
6S
6C<F4>
lA58s20
A9
E9
A5
9D
C9
9B
Dfl<4D>
1D33:4F
54
4F
2F
47
4F
53
5SCFE>
l7Q0:3e
32
35
35
00
60
20
7A<6F>
1A60:F4
A5
9A
8D
02
D9
A2
S2<30>
1D40:42
20
65
78
70
00
4C
9D<F8>
1788:C8
A9
97
20
9B
EC
4C
4C<2A>
1A6S:20
FF
G3
A6
9A
B9
OO
D9<D7>
1D40:CO
C6
9B
20
31
C9
4C
4CC3A>
1790:ES
A9
21
2C
A9
19
2C
A9<£3>
lA7ßs91
AB
CS
CA
DO
F7
86
9A<DF>
1D50:E5
20
4C
ES
C6
9A
C6
9A<D7>
1798:17
2C
A9
15
43
20
42
EB<F6>
1A78:60
20
45
EB
A9
91
20
9B<A1>
1D58:C6
9A
A9
57
4C
84
E9
20C45>
17A0:F0
07
20
4C
ES
68
4C
S4<26>
1A30:EC
20
74
CS
24
98
30
05<92>
lD60tGF
£4
7D
9B
9B
9B
9B
20<FC>
17A3:E9
AO
O0
20
FC
£8
AQ
04<38>
1ASB=A9
3D
20
F3
£9
20
4C
E5<DS>
1068:20
54
75
72
62
6F
20
42CAa>
17B0:2O
02
£9
68
18
69
01
20<S7>
1A90:A9
26
4C
84
E9
20
OB
CSC03>
1070:41
53
49
43
20
SS
4C
20<96>
1788=S4
E9
AD
06
08
FO
03
20<A5>
1A9S5A4
9B
B9
FF
D7
48
20
4C<CC>
1D78:43
6F
6D
70
69
6C
65
72<04>
17CO=D8
EB
60
20
45
EB
A9
91<38>
lAAOzES
20
70
C8
68
A6
9D
E0CD0>
lD8O:20
56
65
72
73
69
6F
6£<AC>
1788:20
EA
EB
20
7A
C8
A9
92<4A>
lAAaslA
08
48
D0
03
20
74
C3C3B>
1DSS:20
31
2E
31
9B
20
20
3D<AA>
17D0;20
EA
EB
A5
9D
C9
16
F0<DC>
1ABO:20
4C
ES
68
AA
A9
A2
20<42>
1090:3D
3D
3D
3D
3D
3D
3D
3D<AA>
1708:06
20
7A
ca
20
4C
ES
A9<71>
lABe:36
EB
A9
28
28
F0
02
A9<A7>
1D93:3D
3D
3D
3D
3D
3D
3D
3D<92>
i7E0:27
4C
84
£9
20
45
EB
20<BF>
1AC0229
20
84
£9
A9
BO
A2
03<64>
1DA0:3D
3D
3D
3D
3D
3D
3D
3D<9A>
17ESS4C
£5
A9
IB
4C
84
E9
AD<2B>
1ACS:20
36
EB
20
Fl
C4
A9
05C68>
1DAS s 3D
3D
3D
3D
3D
3D
5D
3tK62>
17F0:81
04
G9
IC
00
09
20
48<E5>
1AD0:4C
FE
ED
20
BD
FO
20
FiC2a>
1DD0:3D
3D
9E
9B
57
65
6C
63<D7>
17F8:C1
20
ES
EB
A9
07
2C
A9<44>
lADSs C4
20
06
ED
C9
05
D0
13<13>
1DBS:68
65
73
20
50
72
6F
67CCE>
1^0:06
4C
84
£9
20
£5
EB
A9<38>
IAE0:20
OC
ED
C6
AC
AO
FA
Bl<A9>
1DC0:72
61
6D
6D
20
73
6F
6CC59>
1808:lE
4C
84
E9
AD
Bl
04
C9<99>
1AE8=AB
CD
01
D9
DO
05
A9
2A<E0>
1DC8:6C
20
63
6F
6D
70
69
6C<BB>
1810;16
F0
05
A9
20
4C
E8
F0<60>
1AF0:4C
84
E9
20
D5
£C
20
00<21>
1DDO:69
65
72
74
20
77
65
72C64>
1818:A9
01
4C
84
£9
20
84
EC<4B>
1AF8SE4
46
4F
52
20
66
65
6SCS6>
1DD8:64
65
6E
3F
9B
9e
20
47<09>
1820= A9
23
4C
84
£9
A4
97
B9<FB>
1800:6C
74
O0
60
20
84
EC
20<52>
1D£0:65
62
65
6E
20
53
69
65<7D>
1828:80
04
C9
IC
DO
09
20
48<1E>
IBOaiES
EB
A9
2B
20
84
£9
A5CBD>
IDEBs 20
7A
75
65
72
73
74
20<£7>
1830:CI
20
ES
EB
A9
OA
2C
A9<82>
1B10:9D
C9
16
DO
F2
60
20
B4<5B>
lDFO:64
69
65
20
4C
61
75
66<78>
1038:OB
4C
84
£9
20
F3
E9
SA<10>
1B18:£C
20
70
C8
20
4C
ES
A9<77>
1DF8:77
65
72
6D
73
6E
75
6D<B3>
1840:48
98
48
20
31
C9
68
AS<4e>
1B20:2C
20
S4
E9
A5
9D
C9
16<D6>
1E00S6D
65
72
9B
9B
20
7A
77<C3>
1848:68
AA
60
A9
24
2C
A9
25<65>
1B2S:D0
EF
60
AC
81
04
CO
1C<B0>
1E08:69
73
63
68
65
6E
20
3lCBA>
1850:48
20
84
EC
20
45
EB
20<O9>
1B30:D0
0E
A9
2D
2C
A9
4A
2CC7C>
1£10:20
75
6E
64
20
38
20
65<34>
lasS:4C
E5
68
4C
84
E9
A9
04<O6>
1B38:A9
2£
48
20
84
EC
68
2C<29>
1E1S:69
6E
2C
20
75
6E
64
20CFS>
1860:2C
A9
05
48
20
45
£B
A9<S8>
1B40:A9
40
4S
20
BD
FO
68
4S<4F>
1E20:77
OB
68
6C
65
6E
20
64C8F>
1868:91
20
F3
E9
20
7E
CS
20<FC>
lB4e=20
84
E9
A5
9D
C9
16
D0<9A>
l£28:61
73
9B
9B
20
50
72
6F<10>
1870:4C
£5
68
4C
84
E9
A9
03<DD>
1B50:F2
68
60
20
42
EB
20
4C<09>
1E30S67
72
61
6D
6D
20
64
61C2C>
1878:A2
8A
4C
FF
C3
A9
02
2C<9E>
1B58:£5
A9
2F
D0
E5
20
84
£C<FB>
1E38:6E
6 £
20
6D
69
74
20
64<12>
1880:A9
01
48
20
D5
EC
68
91<00>
1860:20
BD
F0
20
A6
FO
A9
A0<B4>
1£40:65
6E
20
50
66
65
69
6C<0a>
Usting 1. TurbCH&asic-CompiKer (Fortsetzung)
54
TURBO-BASIC
lE4ai7A
61
73
74
65
6E
9B
9B<1D>
2128:CS
Bl
AB
AA
CB
Bl
AB
20<35>
2408:54
03
A9
22
eo
55
03
3Q<6E>
1E50=2O
IB
lE
2C
20
IB
IF
2C<C1>
2l30:E6
F5
AO
02
91
AB
88
ba<:ai>
2410sA5
B8
E9
6F
SD
SS
03
A5<09>
IE5S:20
18
IC
20
75
6E
64
20<2F>
2138:91
AB
BS
A9
4C
91
AB
AO<E3>
2418:89
£9
22
80
59
03
A9
0B<ßF>
lEijfßt IB
ID
2E
20
44
61
6E
6E<27>
2140:03
4C
IF
F5
A9
00
2C
A9<9a>
2420:20
BF
FÖ
20
BD
FB
20
EF<26>
lE6Ss2B
52
45
54
55
52
4E
20<9F>
2148:FF
35
02
A9
A2
91
AB
CS<A8>
2428:E4
9B
20
20
20
20
20
4£<16>
1£70:64
72
0A
63
6B
65
6E
2E<DC>
2150:Bl
AB
85
03
A0
05
24
D2<FF>
2430:6F
63
68
20
65
69
6E
60<65>
lE7a:9B
9B
98
7F
43
6F
6E
74<68>
2158:30
06
20
2C
F6
4C
ca
F5<60>
2438:61
6C
20
73
70
65
69
63<SA>
lESBr 72
6F
6C
20
44
20
3D
20<4C>
2160=Bi
AB
AA
CS
Bl
Aß
20
E6<4E>
24405 68
65
72
6E
20
28
4A
2F<4C>
1ES8S52
0A
63
6B
6B
65
68
72<B3>
2168:FS
A0
06
91
AB
SS
SA
9i<F4>
2448:4E
29
20
3F
00
20
lE
21<97>
1E90:20
7A
75
60
20
44
4F
53<D4>
2170:AB
18
A5
AB
69
02
85
AB<5£>
2450:29
5F
C9
4A
F0
05
C9
4E<07>
1E9Q:9&
98
7F
43
6F
6E
74
72<75>
2178:A5
AC
69
00
85
AC
C6
D3<7S>
2458;D0
F3
60
4C
47
F7
A9
0C<a3>
1EA0S6F
6C
20
52
20
3D
20
52<E0>
2180:00
Ü2
AB
05
4C
IF
F5
35<B1>
2460:A2
10
8D
52
03
20
AF
20<BA>
1EA8S65
62
6F
6F
74
9B
O0
20<AE>
2188:05
36
04
A5
B6
85
D6
A5<02>
2468s 30
01
60
98
48
20
EF
e4<lB>
1EB0:F7
C0
29
7F
C9
04
FO
07<A2>
2190:37
es
D7
A0
00
Bl
D6
C5<93>
2470:49
2F
4F
20
45
72
72
6F<5S>
1EB9:C9
12
00
06
4C
B4
F4
4C<9D>
i 2198:04
CS
BI
06
E5
D5
BO
09<4D>
2478:72
20
2D
20
00
68
A0
O0<4A>
1£C0:D8
F4
C9
31
90
E9
C9
39<16>
21A0iCS
CB
C8
DO
F0
E6
07
DO<95>
2460:20
ES
CI
4C
47
F7
A2
10<11>
lECe=B0
E5
ÖD
A3
20
48
20
1C<CF>
21A8:EC
D0
07
SS
Bl
D6
C5
D4<7Q>
2488:20
FE
20
CO
0O
30
DC
60<3S>
1ED0:C1
A9
24
SO
99
21
68
29<A5>
21B0:F0
12
20
4A
F6
20
0O
E4<30>
2490sA9
04
A2
88
20
C3
A9<16>
lEDQ:IF
SD
9A
21
A9
lA
80
9B<0D>
21B8:5Ä
65
69
6C
65
20
66
6S<7E>
2498:FF
91
AB
C8
91
AB
AS
80<6E>
1EE0=21
A2
10
20
83
C4
A9
03<9A>
2ICO:68
6C
74
00
CS
CS
BI
D6<34>
2AA0:Ca
91
AB
A5
81
C8
91
AB<CC>
lEES:9D
42
03
A9
A2
9D
44
03<47>
Z1C8:AA
CS
Bl
D6
60
Bl
AB
A8<89>
24AS=A9
00
20
84
E9
A9
9E
20<C4>
lEF0ifi9
20
90
45
03
A9
06
9D<E9>
2100:BE
O0
DC
B9
00
DD
10
AF<BD>
24B0:A9
E9
20
Fl
C4
A2
82
A9<EF>
1EF3:4A
03
A9
00
9D
4B
03
20<67>
21DS:20
4A
F6
20
00
E4
AC
61<06>
24B0:O3
20
FF
C3
A9
FF
91
AB<A4>
1F00:88
C4
20
A6
F4
A9
00
85<5C>
21E0:62
65
6C
20
66
65
68
6C<3D>
24C0:C8
91
AB
ca
A9
O0
91
AB<7B>
lFßa:92
A9
03
85
SE
20
27
Cl<26>
21E8:74
00
60
A5
AB
A6
AC
B5<97>
24C8:60
0O
DE
FF
DF
ED
E9
ED<75>
1F10:C9
30
BO
24
A2
00
20
27<,9F;>
21F0:04
86
D5
A5
86
85
D6
A5<39>
24D0:F9
0F
FA
BD
20
22
22
DO<0E>
IFlSrCl
20
18
C2
CA
DO
F7
20<6D>
21Fa:S7
85
D7
A0
00
ca
ce
Bl<53>
24DS:21
AA
EA
Cl
EA
Cl
FA
42<EC>
lF2ßs27
CI
C9
9B
00
F9
E6
92<C5>
2200:D6
CS
D4
C8
Bl
D6
ES
D5<F3>
24E0:F0
EA
EE
E8
EE
C8
EE
B7<F3>
1F2S:A6
92
E0
3F
F0
0A
C6
SE<4E>
22(^: B0
07
CS
D0
F0
E6
D7
D0<90>
24E0:EC
B4
EC
37
EF
EF
ED
ZB<41>
lF3ßfD0
DE
20
E7
E4
4C
68
F3<A1>
2210:EC
38
A5
D6
E9
06
85
D6<8B>
24F0SEF
EB
EO
57
21
6B
21
C6<3S>
1F3S:A9
00
85
54
20
EA
E4
A9<CA>
2218: B0
02
C6
D7
Bl
06
85
93<57>
24FS:ED
BF
ED
DE
ED
D8
ED
B6<:0B>
1F40=17
85
54
A2
10
20
83
C4<63>
2220s88
Bl
06
85
92
60
A9
A9<5B>
2500:ED
7D
EO
54
C9
A9
FA
9e<SB>
iF4a:A9
00
85
93
A5
92
00
03<23>
2228=91
AB
CS
Bl
AB
AA
BD
O0CDC>
2503:FA
A2
ED
66
FA
8B
F9
84<6B>
1F50;4C
BE
Fl
18
A5
SB
69
78<;95>
2r230s DG
91
AB
AO
03
BD
00
DD<DE>
25lO:ED
7B
ED
Cl
CA
4B
EF
4S<FE>
1F58:85
AB
A5
59
69
00
SS
AC<46>
2238:91
AB
10
03
20
37
F6
A0<46>
2518:EF
CE
C7
20
F7
32
FS
2B<91>
1F60:A9
03
85
OE
A6
93
F0
1C<21>
2240:04
4C
IF
FS
20
F3
EC
10<S1>
2520 s FS
ED
FS
F4
ED
2A
EE
06<Ei>
IFhBt la
AS
AB
69
00
05
AB
90<25>
2248:03
4C
IF
F7
48
AO
02
B1<EA>
2528:EE
lE
EE
FF
ED
8C
EE
B1<C1>
1F70:02
E6
AC
C6
SE
D0
0A
A9<8B>
2250:SA
AA
SS
Bl
SA
20
4E
F6<C7>
2530:EE
6F
Fl
96
Fl
3E
Fl
06<2C>
1F78:03
85
8E
E6
AB
D0
02
E6<F0>
2258:6S
FO
10
C9
01
F0
20
C9<FS>
2538:Fl
69
Fl
90
Fl
2E
ED
4C<22>
IFBß:AC
CA
D0
£4
A0
OC
Bl
AB<8A>
2260:02
F0
3A
C9
03
FO
48
20<FO>
2540:ED
47
ED
B6
EA
3B
F6
S9<Q9>
1F885 09
80
91
AB
8S
10
F7
20<DA>
2263:00
E4
4E
45
SS
54
20
66<6C>
2548:FO
BE
FA
07
EF
10
EF
33<B2>
1F905F7
C0
A6
93
C9
9B
F0
49<39;^
2270:65
68
6C
74
00
AC
A3
F6<72>
2550:EF
36
EF
30
EF
39
EF
95<43>
1F98=C9
IC
FO
27
C9
2D
FO
23<70>
2278:20
00
E4
45
58
49
54
20<44>
2558:FB
CI
EF
C3
EF
4A
£E
4E<24>
1FA0:C9
10
F0
34
C9
3D
F0
30<16>
2280:6F
63
6E
65
20
2E
2E
2E<9A>
2560:EE
73
EE
12
EE
50
FC
53<9A>
1FA8:C9
lE
F0
19
C9
26
FO
15<4A>
2288:00
4C
A3
F6
20
00
E4
4C<Aa>
2568:FC
93
FC
9B
FC
50
FC
53<37>
1FB0;C9
IF
F0
26
C9
2A
F0
22<6C>
2290:4F
4F
50
20
66
65
68
6C<1D>
2570:FC
92
FC
95
FC
DF
FA
S6<BB>
1FBS:C9
31
90
D3
C9
39
B0
CF<42>
2298:74
00
4C
A3
F6
20
00
E4<4E>
2573:F0
Bl
EC
AB
EC
E4
FA
00<02>
1FC0:4[:
29
F3
CA
CA
CA
30
C7<SA>
22A0:55
4E
54
49
4C
20
66
65<C6>
2580:00
00
00
00
00
0O
00
00<CA>
lFC8:8£i
93
A0
OC
Bl
AB
29
7F<ES>
22AS:68
6C
74
00
4C
A3
F6
20<27>
2588:00
00
00
00
00
00
00
00<D2>
1FD0:91
AB
88
10
F7
4C
B2
F3<O0>
22BO:00
E4
57
45
4E
44
20
66<52>
2590:00
00
00
00
00
00
00
O0<DA>
IFDS=E0
£8
EÖ
E4
92
BO
BO
90<8B>
22B8:65
68
6C
74
00
4C
A3
F6<4A>
2598:00
00
00
00
00
00
00
0O<E2>
1FE0:E7
A9
44
SD
80
04
AD
A3<45>
22C0:A6
BD
FO
23
A5
SC
20
4E<D0>
25A0:00
00
00
00
00
00
00
0ß<EA>
lFESs20
8D
S1
04
A9
3A
80
02<7A>
22C8:F6
20
00
E4
45
4E
A4
49<7E>
25A8:O0
00
00
00
00
00
00
00<F2>
1FF0:04
A2
03
A0
01
Bl
AB
29<3C>
2200:46
20
66
65
68
6C
74
O0<O£>
2SB0:00
00
00
00
00
00
00
00<FA>
IFFS;7F
F0
07
iS
69
20
90
e0<D7>
22D8:A0
02
Bl
SG
AA
88
Bl
ac<28>
2588:00
O0
00
0O
00
00
O0
0O<O2>
2000^04
ES
CS
CO
OC
F0
0C
C0<69>
22E0:S5
8C
86
8D
8A
D0
DD
6O<10>
25C0:00
00
00
O0
00
00
00
00<0A>
2008:09
D0
EA
A9
2E
9D
80
04<:9i>
22E8:20
BD
FS
A9
00
85
A2
20<6E>
25CS:0O
00
00
00
00
C9
Fl
C3<DA>
2010:EB
D0
E2
A9
20
90
SO
04<C3>
22F0:EF
E4
9B
46
69
6C
65
6E<AC>
25D0:F1
BB
Fl
CF
Fl
B5
EB
3S<D7>
201S;E8
E0
28
DO
FS
BD
7F
04<FB>
22FB:61
6D
65
20
66
75
65
72<F2>
2508:EC
77
EB
96
EB
83
EC
04<FF>
2020:38
E9
20
90
98
21
CA
D0<29>
2300:20
64
61
73
20
63
6F
6D<97>
2SE0S FE
55
FF
0A
FE
3E
FF
D2<B7>
2028:F4
A2
10
A9
03
9D
42
03<;67>
2308:70
69
6C
69
65
72
74
65<81>
25£ö:EA
6B
FF
51
EB
74
FE
17<F2>
2030:A9
80
90
44
03
A9
04
9D<40>
2310:20
50
72
6F
67
72
61
6D<CS>
25F0:FE
86
FE
33
FE
92
FE
4A<0D>
2038:45
03
A9
04
9D
4A
03
A9<75>
231S:6D
3F
9B
9B
00
A9
31
ascßB>
25FS:EB
lO
FE
2C
FE
48
FE
4E<99>
2040:00
9D
48
03
20
88
C4
A9<D1>
2320:A7
20
EF
E4
9C
7F
7F
44<D7>
26001 FE
06
FD
93
EC
10
FD
6A<E9>
2048:7D
20
18
C2
20
EA
£4
20<0E>
2328:00
A5
A7
20
IS
C2
20
EF<65>
2603:F2
76
F2
96
F2
30
F2
8A<7F>
2050:EA
E4
4C
EA
E4
20
EF
E4<2S>
2330:E4
3A
2E
43
54
42
lE
1E<E2>
2610:F2
AO
F2
SB
F5
0E
F2
FC<2F>
2058:7F
7F
D2
C5
C2
CF
CF
D4<eB>
2338:lE
lE
00
A9
00
85
A5
A9<33>
26ia:Fl
05
F2
17
F2
BD
F2
B5<E9>
2060:A0
CA
AF
CE
A0
BF
00
20<4E>
2340:40
80
BE
02
A9
00
SO
B6<B£>
26205 F2
AA
F2
FS
EA
CE
ED
13<D4>
2068:F7
C0
C9
4A
F0
08
20
EF<90>
2348:02
20
lE
21
CO
O0
30
9S<63>
2620:CO
3E
EB
D5
F2
DE
F2
F5<7E>
2070?E4
9C
00
4C
OE
F3
4C
9C<SF>
2350:A4
A5
O0
0E
C9
41
D0
2B<C0>
2630:F2
ES
F2
EC
F2
FC
F2
02< i 1>
2073:20
20
EF
E4
7F
7F
C4
CF<35>
2350;C9
31
90
E3
C9
39
BO
DF<E9>
2638:FB
57
F2
54
F6
82
F4
AC<A4>
20803 D3
A0
CA
AF
CE
A0
BF
00<A4>
2360:90
BD
C9
7E
D0
BD
20
ie<2S>
2640:F4
6F
F6
D9
EB
55
FD
21<86>
2083:20
F7
C0
C9
4A
O0
DF
4C<86>
2368:C2
A9
FE
20
18
C2
C6
Ä5<B8>
2648;F4
4A
F4
39
ec
lA
EC
94<81>
2090:96
20
A9
6F
85
AB
A9
22<13>
2370:4C
9E
F7
C9
9B
F0
25
C9<67>
2650:F3
09
E9
DD
C3
0C
FS
06<79>
2098:85
AC
A0
00
Bl
AB
29
07<AB>
2378:30
90
C4
C9
3A
90
04
C9<E1>
2658:FS
31
21
00
F5
5E
F4
75<09>
20A0:C9
07
F0
31
Bl
AB
A0
03<94>
2380:41
90
BC
C9
5B
BO
BS
C0<2O>
2660:F3
lE
F5
12
F5
13
F5
24<S3>
20A8:C9
20
F0
14
29
0F
C9
0D<BA>
2388:08
BO
B4
99
83
04
48
A9<6C>
2663:F5
C7
F2
60
F2
Cl
F4
D6<e9>
20B0:F0
0£
C9
0C
F0
0A
80
C9<CS>
2390:FF
20
18
C2
68
20
18
C2<1B>
2670:F3
DA
F3
DE
F3
E2
F3
40<2F>
2068:08
F0
04
C9
OA
00
01
8e<lF>
2398:E6
A5
00
A3
A9
2E
99
83<21>
2678:21
08
F6
14
F6
72
F6
34<EC>
20C0:18
98
65
AB
85
AB
90
02<S3>
23A0:04
A9
43
99
84
04
A9
54<D6>
2680:F4
20
F6
16
F4
A4
F3
A9<AC>
20C8:E6
AC
C5
80
AS
AC
ES
Öl<39>
23AS:99
85
04
A9
42
99
86
04<E6>
2688:F4
SE
F4
25
FB
67
F2
73<OB>
20D0:90
ce
4C
A3
F6
Bl
AB
C9<:A0>
23B0:A9
9B
99
87
04
A9
44
3D<96>
2690:F2
93
F2
7D
F2
87
F2
9D<EF>
20D8:07
F0
4D
C9
0F
F0
27
C9<0B>
23BS:80
04
AS
A7
OD
81
04
A9<E6>
2698= F2
38
F5
0B
F2
F9
Fl
02<92>
20E0:17
F0
20
C9
IF
FO
3A
C9<2E>
23C0:3A
8D
82
04
A9
SO
8D
S4<SD>
26A0;F2
14
F2
96
FF
9D
FF
A4<SE>
20EB:27
FO
0F
C9
37
F0
0E
C9<B4>
23CS:03
A9
04
8D
55
03
A9
0©<53>
26Aa:FF
AF
FF
E5
Fl
05
Fi
DB<F6>
20F0S 3F
F0
0A
C9
2F
00
09
4C<B0>
2300:BD
5A
03
A9
00
80
5B
03<5A>
26B0:F1
IB
C7
34
F2
E7
Fl
E1<4E>
20F8:A3
F5
4C
A6
FS
4C
85
F6<92>
2308:A9
03
20
BF
F8
AO
FB
20<F7>
2688:Fl
22
F2
03
EC
2B
EC
46<DD>
2100:4C
36
E5
A2
84
2C
A2
32<4E>
23E0:E5
FS
A0
C2
20
ES
FS
A4<CF>
26C01F2
00
0ß
00
00
00
00
O0<05>
2108:A9
A9
91
AB
18
CB
81
AB<91>
23E8:80
20
E5
FS
A4
81
20
E5<DE>
26C8;00
00
00
00
00
00
00
00<14>
2110:75
00
91
AB
AO
03
Bl
AB<8S>
23F0:F8
A4
86
20
E5
FS
A4
B7<A3>
Laertge 9933 Bytes
2118:75
01
91
AB
A0
04
4C
iF<5E>
23F8:20
E5
F8
A4
88
20
E5
F8<47>
2120:F5
CS
20
2C
F6
4C
91
F5<8E>
2400:A4
89
20
05
FS
A9
6F
8D<8C>
Listing 1. Turbo-Basic-Compiler (Schluß)
55
TURBO-BASIC
Beginn: Listing 2 Turbo-Basic-Compüer-Runtime-Paket (Länge: 10876 Byte)
mm-, FF
FF
7D
20
C5
20
20
O0<2E>
02C8:00
A6
DD
FO
OE
Bl
DA
91<SA>
0590:£F
FO
21
AD
EO
05
85
£OC0B>
0QQ3; eiZ)
A9
7D
A0
20
BS
0C
Ö4<&F>
0200:D6
C8
D0
F9
E6
D7
E6
DB<6C>
0598:AD
El
05
85
El
AD
E2
0S<2D>
QCZI10 ^ BD
A9
FE
8D
01
D3
20
D6<C2>
02D8:CA
DO
F2
A6
DC
F0
08
B1<FE>
05AO;85
£2
AD
E3
05
85
E3
ADC7e>
BßlBsEE
4C
ED
F9
6C
E2
02
6C<C2>
02E0:DA
91
D6
CS
CA
DO
FG
A9<A3>
05AB1E4
OS
85
E4
AD
E5
05
S5<5C>
ao'zets E0
02
EE
01
D3
20
93
20<BA>
02E3:FF
00
01
D3
30
BB
A2
10<D1>
05B0= E5
4C
73
C2
60
A5
D4
a5<4E>
0028:4C
22
21
EE
01
D3
20
96<03>
02Fß:A9
OC
90
42
03
4C
56
E4<EC>
05Ba= E0
AS
D5
85
El
A5
D6
SSC99>
0030:20
4C
22
21
EE
01
D3
20<E2>
82FB:6C
0A
00
£2
02
E3
02
0O<F2>
0SC0;E2
A5
D7
85
£3
A5
DB
B5<0E>
0038:56
E4
4C
22
2t
20
AA
EA<A6>
0300:60
00
C0
B4
CB
A9
05
85<F9>
05C8:E4
A5
D9
85
ES
60
A5
D4<59>
0040s EE
01
D3
6C
0A
00
20
AA<D3>
0308:F4
A9
80
B5
F3
60
A4
F2<0D>
0500:60
EO
05
A5
D5
8D
El
05<A3>
0043:EA
££
01
D3
4C
71
E4
0O<£F>
0310:ei
F3
38
E9
30
C9
OA
60<59>
05D8;A5
06
8D
E2
05
A5
D7
8IK6F>
0050:21
IC
21
GA
20
22
21
4C<B£>
0318:84
F7
AS
20
09
E9
Fß
98<8S>
05EOsE3
05
A5
D8
BD
E4
05
A5C66>
O05Q:Bl
FO
44
3A
2A
2E
2A
9B<AA>
0320:F0
2E
4A
4A
4A
4A
65
FB<0C>
OSESs D9
8D
E5
05
60
A5
D4
SDC51>
0060:53
3A
9ß
50
3A
9ß
45
3A<61>
0328:98
29
07
A0
00
90
02
69<1A>
OSFO:E6
05
A5
D5
BD
E7
05
A5<C8>
0068:9B
OO
EE
01
D3
6 C
D4
00<73>
0330:07
46
FB
90
02
69
15
46<24>
QSFB:D6
BO
ES
05
A5
D7
8 D
E9<6Z>
0070:22
21
71
22
0B
43
AD
01<55>
0338:F8
90
02
69
31
46
FB
90<07>
0600;05
A5
DS
SD
EA
05
AS
D9C5i>
0078:03
29
FC
09
02
8 D
01
D3<57>
0340:05
69
63
90
01
CS
46
FS<36>
0608:8D
EB
05
60
A5
E0
8D
£6<G1>
00B0:63
28
60
EE
01
D3
35
D4<BB>
0348:90
06
69
27
C8
90
01
Cß<61>
0610:05
A5
El
BD
E7
05
A5
E2<31>
0088:84
D5
A0
00
Bl
D4
CE
ßl<85>
0350: A6
F7
F0
6F
46
F7
90
O7<10>
06101BD
£8
05
A5
E3
SD
E9
05CFF>
0090:D3
60
EE
01
D3
85
D4
S4<FC>
0358:69
55
CB
CS
90
01
C8
46<C3>
0620:A5
E4
BD
EA
05
AS
G5
8D<3D>
0098: D5
A0
01
Bl
D4
A8
A2
0O<DA>
0360:F7
90
08
69
11
AA
98
69<26>
0628:EB
05
60
A2
00
FO
05
A2<7C>
00A0:A1
D4
CE
01
D3
60
4C
29<OD>
O36ß:05
AB
SA
46
F7
90
08
69<D3>
0630:06
2C
A2
ßC
BD
E0
OS
85C13>
00AB:F5
CO
OO
D0
F9
EE
01
D3<6C>
0370=23
AA
98
69
10
AB
BA
46<39>
0638104
BD
El
05
85
D5
BD
E2<A4>
O0B0:91
88
AD
01
D3
29
FC
ß9<41>
0378:F7
90
08
69
47
AA
98
69<E0>
0640:05
85
D6
BD
E3
05
85
D7CC1>
00EtQ: 02
8 Ü
01
D3
60
EE
Ol
D3<B9>
0380:20
A8
8 A
46
F7
90
08
69<A5>
0648;BD
E4
05
85
D8
BO
E5
05<15>
föOCO:A2
00
81
88
9S
AO
01
D0<3F>
0388:95
AA
98
69
40
A8
BA
46<69>
0650:85
D9
60
A2
OC
2C
A2
06<45>
0OCBs E7
68
AA
CG
Ol
D3
68
40<8E>
0390:F7
90
OC
69
91
AA
98
69<11>
0658: BD
EO
05
85
EO
BD
El
05<9C>
0000:2C
OF
D4
10
03
6C
00
02<Fl>
0398:S1
AB
BA
90
02
E6
D5
46<2A>
0660;85
El
BD
E2
05
85
E2
BD<7B>
0ODQ: 48
SA
48
A9
21
48
A9
77<C1>
O3A0:F7
90
0E
69
83
AA
98
69<;B1>
066G:E3
05
85
E3
BD
G4
05
BS<OA>
00E0:4B
BA
BD
05
01
48
DB
4S<39>
03AS:63
AB
A5
DS
69
@1
85
D5<79>
0670:E4
BD
E5
05
85
E5
60
A2<AD>
OOEBs BA
43
98
48
EE
01
D3
8D<DD>
03B0:BA
46
F7
90
OE
69
67
AA<B2>
0678-05
BD
26
C4
95
E0
CA
10CE9>
00F0:OF
D4
6C
22
02
48
A9
21<C2>
0388:9©
69
27
AS
A5
D5
69
03<:92>
0680;FÖ
20
OB
E4
BO
F0
A9
O0CC6>
OOFQi48
A9
79
48
08
EE
01
D3<47>
03C0:85
D5
BA
04
06
85
07
A9<FF>
0688:85
Fl
A5
D4
85
FO
29
7F<1A>
01O0:6C
16
02
EE
Ol
D3
20
BB<2B>
03Ce:42
85
D4
4G
£C
CI
18
60<3A>
0690:85
D4
C9
40
90
lE
DO
DECDD>
0108:21
CE
0t
D3
60
BD
47
03<E2>
.03D0: A5
EO
49
80
85
EO
A5
E0<17>
0698:A5
D5
29
FO
4A
85
Fl
4A<61>
0110:48
BD
46
03
48
BD
4A
03<25>
03D8:29
7F
F0
F2
85
F7
A5
D4<57>
06A8;4A
65
Fl
85
Fl
A5
D5
29CS2>
0118:05
2A
BD
4D
03
es
2B
9B<DA>
03EO:29
7F
38
ES
F7
BO
33
A5<06>
06AG: OF
65
Fl
85
Fl
A9
00
85<7A>
0120:AO
5C
60
EE
01
D3
06
2A<C1>
ß3EB:D4
A4
EO
85
EO
84
D4
Ä5<B3>
06BO:D5
20
EC
CI
A9
OA
A2
EF<62>
0128:20
00
00
CE
01
D3
60
35<80>
03F0;DS
A4
El
85
El
84
D5
A5<26>
0686:AO
C3
20
65
C2
20
08
£4<22>
0130:8C
B4
8D
EE
01
D3
A6
S0<F5>
03FB:06
A4
E2
85
E2
34
D6
A5<C5>
O6C0:A5
Fl
FO
OF
4A
18
65
D4<9B>
0138:18
8 A
65
89
es
89
le
BA<2E>
0400:D7
A4
E3
85
E3
84
07
A5<FD>
06Ca:3O
16
85
D4
46
Fl
90
03C5A>
0140:65
88
85
SB
ES
A4
BC
FO<AB> i
0408:D8
A4
E4
05
E4
B4
D8
A5<C0>
06DO:20
67
d7
06
FO
90
OA
20<D1>
0148:25
88
Bl
83
91
OA
98
D0<49>
O410:D9
A4
E5
B5
E5
84
D9
4C<C9>
0608:BO
C2
20
DD
C3
4C
6D
E5<16>
0150s Fe
F0
IB
C6
89
C6
SB
8a<0A>
04ia:Dl
C0
A8
F0
4B
88
F0
36<3B>
06E0:38
60
A9
40
85
D4
AO
01<95>
0158:&1
88
91
8A
SS
Bl
8 B
91<F0>
0420= 88
F0
22
SB
F0
10
B8
D0<C5>
06E8:84
D5
88
84
D6
84
D7
S4<23>
0160:SA
88
Bl
B8
91
SA
83
ei<28>
0428:A5
A5
El
35
E5
B4
E4
ß4<D9>
06F0;Dß
04
09
60
3D
17
94
19C71>
ßl6B:88
91
QA
9S
D0
E9
CA
D0<92>
0430= E3
84
E2
4C
61
CI
A5
£2<C4>
06FB:O0
00
3D
57
33
05
0O
0O<©£>
0170:£2
4C
22
21
85
BC
04
BD<B7>
0438:85
E5
AS
El
85
E4
84
£3<4£>
0V0O:3E
05
54
76
62
00
3E
32C11>
0178:EE
01
D3
A0
00
A6
3D
F0<A7>
0440:84
E2
4C
61
CI
A5
E3
e5<F9>
0/08:19
62
27
OO
3F
01
68
60<2C>
0180:ID
Bl
88
91
BA
ce
Bl
B8<CC>
0448:E5
A5
E2
as
E4
A5
El
a5<Bl>
0710= 30
36
3F
07
32
03
27
41<0S>
0188:91
BA
CS
Bl
88
91
8A
C8<5D>
0450= E3
84
E2
4C
61
CI
A5
E4<27>
0718:3F
25
43
34
56
75
3F
66C27>
ßl90:Bl
8B
91
8A
CS
DO
GA
E6<S7>
0458:85
E5
A5
E3
85
E4
AS
E2<8F>
0720:27
37
30
50
40
Ol
15
i2CDC>
0198:B9
E6
8B
CA
DO
E3
A6
ac<A8>
0460:85
£3
A5
El
85
E2
94
E1<B9>
0728:92
55
3F
99
99
99
99
99<F7>
ßlAOiFO
00
8t
SB
91
SA
C8
CA<47>
0468:FS
A5
D4
45
E0
30
3A
1B<AC>
0730:3F
43
42
94
48
19
86
FCCDF>
01A8:DO
FS
4C
22
21
EE
01
d3<:di>
0470:A5
D9
65
E5
85
D9
A5
Da<AS>
0730:84
FD
20
C9
C2
20
3F
ECCD0>
OlB0:2O
E6
DS
CE
01
D3
60
E£<5a>
0478:65
E4
B5
DB
A5
D7
65
ESC90>
0740:20
Dl
CO
20
EB
C2
20
26<39>
01BB:01
D3
20
00
D8
CE
01
D3<BE>
0480:85
D7
A5
06
65
E2
05
D6<A4>
0748:03
20
3F
EC
20
CB
CO
20<13>
O1COS60
20
ED
G9
00
60
32
61<6A>
0488:A5
D5
65
El
85
D5
90
16<E9>
0750=51
C3
4C
60
E5
38
60
A9C27>
OlCe;AE
24
E4
AC
25
E4
EB
D0<3A>
0490:AS
De
85
D9
A5
D7
85
DSC13>
0758503
DO
02
A9
00
85
F0
A5<3E>
0lDO:Ol
CS
8E
D7
21
ec
DS
21<90>
0498:A5
D6
85
D7
A5
D5
85
D6<62>
0760:D4
30
F2
F0
F0
0A
49
SOCSB>
OIDB:A9
00
BD
0E
D4
73
A9
F£<73>
04A0:A9
01
B5
DS
E6
D4
4C
ECC9£>
0768:85
Fl
A9
40
85
D4
A5
D5C9F>
O1E0:8D
01
D3
A9
7E
SD
FA
FF<6F>
04AO:C1
38
A5
D9
E5
E5
85
D9<E2>
0770= 29
FO
FO
05
E6
Fl
20
6F<81 >
01E8:A9
21
m
FB
FF
A9
A3
SD<19>
04B0iA5
DB
E5
E4
85
DS
A5
D7<A3>
0778;C7
A2
02
AO
C4
20
31
C4CCA>
01F0:FE
FF
A9
21
8D
FF
FF
A9<Ee>
04B8;E5
E3
85
D7
A5
D6
G5
E2C3A>
0780:20
EB
C2
20
08
E4
A9
OACFF>
01F8-_CC
20
es
60
A9
EO
20
SS<3D>
O4C0:85
D6
AS
D5
GS
El
85
DSCOB>
0788:A2
D8
AD
C4
20
6S
C2
20<54>
0200:60
A9
40
BD
0E
D4
56
A9<30>
04CS:BO
27
A5
D4
49
SB
85
D4<6B>
0790:51
C3
20
OB
E4
A9
3F
S5<B6>
0200:FF
SD
01
D3
20
AE
60
A9<5F>
04D0:3S
98
E5
D9
ß5
D9
9B
E5<A2>
0798:EO
A9
50
85
El
A9
O0
S5C41>
0210:00
B5
09
A5
OC
A4
OD
SIK7A>
04D8;DB
85
D8
90
E5
D7
85
D7<0S>
0/AO:E2
85
E3
85
E4
85
E5
20CA4>
0218:7E
20
8C
7F
20
A9
7D
A0<2EI>
04E0:98
E5
D6
BS
D6
98
E5
D5<A6>
07Aa=Dl
C0
20
BO
C2
AS
Fl
10CB4>
0220:20
35
OC
34
OD
A9
FE
8IKB3>
04ES:85
D5
4C
EC
CI
A6
DA
D0<D9>
07BOS05
18
49
FF
69
01
AO
00<EE>
022B:O1
D3
A2
01
SE
FS
03
B6<9E>
04F0:02
A2
00
DB
A4
D4
FO
6DCA9>
07BB:20
13
CO
A5
Fl
29
80
05<20>
0230:09
CA
8E
44
02
A9
79
A2<7A>
04F8:A5
D5
DO
5C
88
A5
D6
D0<16>
0/CO:04
85
D4
20
Dl
CO
A6
FOC1B>
0238:60
A0
0F
20
53
F4
4C
SB<C6>
0500:47
88
AS
D7
DO
30
88
A5<S6>
07C8:F0
0E
BD
2B
C4
95
EO
CA<D6>
0240:F9
44
31
3A
41
55
54
4F<F2>
0508:08
D0
IB
88
A5
D9
DO
0a<BE>
O7D0:10
Fe
4C
6D
E5
18
60
40<BD>
0248:52
55
4£
2E
43
54
42
9B<BA>
0510=88
BA
FO
51
85
D5
DO
40C3£>
07Da:03
16
22
77
66
3F
49
15C7F>
0250:BS
D5
A0
0O
B4
D4
A2
04<92>
0518:85
DS
86
06
A9
00
85
D9C57>
O7£0:57
11
08
BF
51
70
49
47C6F>
0258:A9
FF
BD
01
D3
Bl
D4
99<BO>
0520:85
DS
85
D7
F0
32
BS
D5<27>
O7ES:0a
3F
39
20
57
61
95
BFCDO
0260:00
05
C8
DO
F0
CE
01
D3<87>
0528:A5
D9
S5
D6
86
D7
A9
O0CCB>
O7F0=04
39
63
03
55
3F
10
09<3C>
0268;B9
00
OS
91
D4
ca
D0
FS<C9> ^
0530= 85
D9
85
DB
FO
22
85
DSC27>
07FBS 30
12
64
3F
09
39
08
ß4C50>
0270:E6
D5
CA
D0
E3
60
A2
10<8E>'
0538:A5
m
85
D6
A5
09
85
D7<09>
0800:60
3F
12
42
58
47
42
3F<11>
0278:A9
D6
9D
44
03
A9
0O
9IK95>
0540= 86
DS
A9
O0
05
D9
F0
10<BB>
0808:17
37
12
06
08
3F
28
95<36>
0280:45
03
9D
49
03
A9
04
9D<83>
0548:85
D5
A5
D7
SS
D6
AS
D8<0C>
0810:29
71
17
3F
86
85
88
96<SA>
0288:48
03
A9
07
9D
42
03
2O<06>
0550:85
D7
A5
09
05
OB
B6
D9<Eß>
0818:44
3E
16
05
44
49
00
B1I<EE>
0290:56
E4
30
SA
A9
33
85
DA<4B>
0558=B4
D4
98
29
7F
C9
71
BeC46>
0820:95
68
38
45
OQ
3F
02
68<S9>
0298:9D
44
03
A9
61
85
DB
9D<CF>
0560=08
C9
0F
BO
03
20
09
E9<21>
0828:79
94
16
BF
04
92
78
90<73>
O2A0:45
03
38
A5
D8
E5
D6
S5<;E0>
0568:18
60
86
FC
84
FD
85
£F<DO>
0830:80
3F
07
03
15
20
00
BF<C9>
02A8:DC
AS
D9
E5
D7
85
DD
E6<BE>
0570:20
C9
C2
20
3F
EC
C6
EF<D4>
0838:08
92
29
12
44
3F
11
0BC78>
02B0:DC
D0
02
E6
DD
A5
OC
9D<07>
0578:20
0B
E4
BO
37
A5
FC
69C8A>
0840:40
09
11
BF
14
28
31
56CBA>
02B8:48
03
A5
DD
9D
49
03
20<54>
0580:06
B5
FC
90
02
E6
FD
20<29>
0848:04
3F
19
99
98
77
44
BF<B4^
02CO:56
E4
30
34
CE
Ol
D3
A0<DA>
0588=3F
EC
20
Dl
Cß
BO
25
C6<1F>
1 0850:33
33
33
31
15
5F
99
99<57>
Listing 2. Turbo-Basic-Compiler-Runtime-PakeL Geben Sie das Programm bitte mit AMPEL von Seite 87 ein.
56
TURBO-BASIC
C}a5Q;99
99
99
3F
78
53
98
16<28>
0B30:C9
0B
8©
06
65
BA
CS
E©<Br>
©E08:4©
9©
CF
F0
D9
C7
©2
FO<23>
0S6ß:34
38
60
A9
04
24
04
10<06>
©B38:90
C6
A5
88
69
07
es
a8<AB>
0E1©:45
B0
42
AS
06
29
F0
4A<FA>
086S:06
A9
02
DO
02
A9
01
85<1C>
QB40:9©
©2
E6
B9
E6
04
0©
02<04>
©EIS:85
D4
4A
4A
65
04
85
D4<33>
0Ö70S F0
A5
D4
29
7F
B5
D4
A6<A2>
0B48:E6
05
AS
D6
D0
02
C6
D7<S9>
0E20;A5
06
29
0F
A6
D7
E©
Se<BA>
0Ö7S:FB
ÖD
14
C6
85
E0
BD
15<8A>
0B50:C6
06
4C
D2
C7
40
20
60<58>
0E28:65
D4
85
D4
9B
29
OF
AA<©B>
0680=C6
85
El
BD
16
C6
85
E2<Ci >
0B5B:00
A8
0A
OA
2A
2A
29
03<B5>
©E3©;BD
Al
CB
65
D4
83
D4
BD<BB>
0883=BD
17
C6
es
E3
BD
18
C6<4E>
0B60:AA
98
SD
SO
CS
60
18
ie<i6>
0E38;AD
CB
65
DS
85
DS
98
29<05>
0890185
E4
BO
19
C6
8S
E5
20<AF>
0B68; 0C
18
30
3©
6©
6©
C0
C©<D7>
0E40;F©
F0
12
4A
4A
4A
AA
A5<A4>
0ö9Bs 6D
E5
BO
C5
AS
04
29
7F<24>
0B70:C0
C©
18
0C
C0
C©
28
14<FF>
©E48:D4
TD
BD
CB
BS
D4
AS
D5<A1>
0SA0:3G
E9
40
30
24
C9
04
10<5E>
0B7S:14
OA
0A
14
14
2B
28
2S<57>
0E5©:7D
BE
CB
65
D5
6©
C©
07<6e>
08AB:BS
AA
B5
DS
85
Fl
29
10<75>
0B8O:23
28
28
28
14
28
00
0©<7O>
0E5B: B0
FB
AS
D7
29
FO
4A
85<4F>
08B0SF0
02
A9
02
IQ
65
Fl
29<CB>
0088:00
02
03
02
03
02
©3
©1<C6>
0E6©:D4
4A
4A
65
D4
85
D4
A5<:7D>
08Bßi03
65
F0
B5
F0
86
Fl
A9<1E>
ßB90:01
m
0©
00
03
02
0©
©i<es>
0E68:D7
29
OF
A6
D3
E©
5©
6S<3A>
08Cß:00
95
05
CA
10
FB
20
EC<14>
0B9a:03
07
00
F©
FC
FE
04
02<D2>
0E70:D4
85
04
B9
81
CB
65
D4<FA>
08C8=C1
46
FO
90
09
20
BO
C2<6D>
0BA0:01
38
60
A5
57
29
©F
AA<92>
©£78:65
D4
B9
88
CB
65
DS
85<06>
0800:20
DD
C3
20
CB
C0
20
e8<02:>
0BA8:A9
m
85
DF
A5
BA
©A
26<1E>
0Ee©;D5
A4
06
D0
A7
60
0©
lO<AE>
08DS:C2
20
08
E4
B0
83
A9
06<F9>
OBB0:OF
0A
26
DF
6S
8A
90
e2<DF>
0E88:2©
3©
4©
S©
6©
©0
27
4E<24>
0Be0:A2
F6
A0
C5
20
65
C2
20<03>
0BB8; E6
DF
0A
B5
DE
26
DF
BD<45>
©£90:75
9C
C3
EA
E8
©3
00
07<37>
0BEB= 51
C3
20
0B
E4
46
FO
90<2E>
©BC0:61
CB
85
E0
C5
8A
F©
D9<CE>
0E9B1BS
0B
A©
©F
88
13
70
17<C0>
08F0109
18
A5
04
F0
04
49
S0<1A>
0BC8:9©
07
BC
Bl
ca
84
£2
B9<B6>
©EA©:56
IB
40
IF
2B
23
00
64<DB>
aarsiBS
D4
60
BD
03
55
14
99<E2>
OBD0:95
CB
80
C©
05
BD
71
C8<9S>
0EAB:Ca
2C
90
F4
SS
BC
20
a4<5A>
0900= 39
3E
01
60
44
27
52
BE<7S>
©BOB:85
El
4A
4A
4A
4A
AA
F0<0E>
0E£0:00
0©
©0
©1
©1
©1
02
B2<EE>
8908:46
81
75
43
55
3F
07
96<5B>
0880;07
06
DE
26
OF
CA
DO
F9<D2>
©EBB:©3
03
©0
E4
BD
FF
18
4C<B3>
0918;92
62
39
BF
64
59
64
0S<26>
OBEQ: 18
AS
DC
65
58
85
DE
A5<27>
©EC©:09
£9
18
60
3B
60
2©
B©<C6>
0918:67
40
01
57
07
96
32
40^A6>
aBF0:DF
65
59
es
DF
A5
89
85<A4>
OECB: C2
AS
D4
FO
F5
A5
Eß
F0<96>
0928:90
00
00
00
00
3F
Ol
74<ED>
08F3:E4
A5
88
85
E3
A4
E2
84<B0>
0ED0:ED
45
D4
27
8©
85
EE
A5<4C>
0928;53
29
25
A9
00
85
F0
S5<ES>
0C00:EO
F©
©C
39
91
C8
85
ED<3D>
©EDB;E0
29
7F
65
E©
A5
D4
29<C9>
0930:Fl
A5
D4
29
7F
C9
40
30<D0>
0808:46
E4
66
E3
es
D0
F9
A5<69>
OEEO:7F
3B
E9
40
38
65
E©
3©<72>
0938:15
A5
D4
29
80
85
F0
E6<27>
0C10SE4
DO
se
AS
E3
C5
El
Ka<C6>
©EES=DB
05
EE
A8
2©
©B
£6
BS<FD>
0940:Fl
A9
7F
25
D4
85
D4
A2<53>
0Ct8;B8
A6
E2
D0
©A
A5
CB
2©<A9>
0EF0:DA
85
DB
85
DC
85
DD
SS<B1>
0948:50
A0
C5
20
31
C4
20
£8<85>
OC20:54
C8
3D
CB
05
IB
6©
BC<67>
0EF8;DE
65
DF
B4
D4
A©
©7
46<01>
0950:C2
20
08
E4
B0
3S
A9
0B<51>
0C2ß;91
C8
84
E4
BO
98
C8
B5<CA>
0F0a;E5
9©
30
18
AS
79
EE<B9>
0958:A2
14
A8
C5
20
65
C2
e0<2A>
0C30:EE
A5
CB
0D
C0
©5
40
C0<9E>
©FOB:20
85
DE
AS
DD
79
E6
20<26>
8960:30
20
51
C3
20
0B
E4
BO<0D>
0C3S:0S
99
CB
05
A6
EE
©A
CA<4D>
©Fl©:85
DD
A5
DC
79
DE
2©
a5<Ai >
0968:28
A5
Fl
F0
13
A2
05
BD<7E>
0C40:D0
FC
B8
1©
F4
A4
E4
AD<1S>
©F1Q:DC
A5
DB
79
D6
20
85
DB<4B>
0970;56
C5
95
E0
CA
la
F8
20<1F>
0C48:C©
©5
99
C0
05
A6
EE
38<87>
0F20:AS
OA
79
CE
20
65
DA
A5<S4>
8978:01
C0
A5
F0
05
D4
05
D4<6D>
0C5O:2A
CA
0©
FB
8B
lO
F3
18<1C>
ßF2B:D9
77
C6
2©
65
D9
68
10<3A>
0980:A5
FB
F0
0D
A2
05
BD
20<AF>
0C5S:60
85
SA
98
00
FA
20
9E<60>
0F30:CE
3©
05
F©
03
68
1©
C7<C1>
8988:C6
95
E0
CA
10
FS
20
6D<E9>
OC60:C8
BO
F5
AS
©E
as
BC
A5<73>
0F38:A0
07
46
E4
70
3©
18
AS<OD>
0990:ES
60
3B
60
18
60
A9
0a<CB>
©C68:0F
85
80
AD
ES
02
E9
06<EC>
©F4©;DD
79
EE
20
85
DD
AS
DC<B1>
0998:85
Fl
AS
D4
30
F4
F0
F4<Cß>
0C70;B5
E7
AD
E6
©2
E9
00
B5<51>
0F4az79
E6
2©
65
DC
AS
DB
79<00>
09A0:C9
3F
F0
0S
18
69
01
B5<22>
0C7S:£S
IS
AS
SC
69
03
es
SC<DC>
aF50:DE
20
85
DB
A5
DA
79
06<19>
09A8:F1
A9
06
85
EF
A9
3F
85<83>
0Ca0r90
©2
C6
BD
C5
E7
A5
eD<9F>
©FSB: 20
65
DA
A5
D7
77
CE
20<61>
09B0:04
20
E8
C2
20
B0
C2
20<4J>
0CSa= E5
ES
90
©3
4C
61
FA
A6<C9>
0F60: 85
D7
AS
08
79
C6
20
85<F1>
09B8:DD
C3
E6
05
2©
CB
C0
20<C1>
0C90:£D
A4
E3
20
AS
CA
F©
a3<AD>
0F68:DB
B8
10
CE
3©
GS
F0
03<2C>
09C0:S1
C3
20
8B
E4
AS
04
8D<CB>
0898:4C
3C
CA
2©
90
CA
2©
96<lß>
OF70:B8
10
C7
A0
©7
.46
E3
90<;30>
09C8:EC
05
A5
D5
8D
ED
05
A5<©B>
0CA0:CA
98
30
©B
2©
AB
CA
O0<3D>
OF78:3©
13
AS
DC
79
EE
20
a5<47>
89D0:D6
80
EE
05
A5
D7
SD
EF<CB>
0CA8:06
2©
9D
CA
4C
99
C9
20<92>
OF80ZDC
AS
DB
79
E6
20
65
D8<7E>
09DB:05
A5
DB
eo
Fa
05
AS
D9<20>
0Ce0:8D
CA
98
A0
0©
91
0C
SA<B3>
©FSB:A5
DA
79
OE
2©
85
DA
A5<6A>
09E0;QD
Fl
05
20
B0
C2
20
2A<0E>
0Ce8:0A
©A
©A
CS
91
BC
A4
E3<F3>
©F90:D9
79
D6
2©
65
D9
A5
DS<DF>
89EB:C3
20
6D
E5
20
4E
C3
20<40>
0CC0:A6
ED
20
8D
CA
C4
El
B0<82>
0F9e:79
CE
2©
35
D8
AS
D7
79<AB>
09F0;CB
ca
20
IB
C7
AS
D4
F0<EF>
0CC8:OB
2©
AB
CA
D©
©6
2©
9D<7B>
OFAOzC6
20
85
07
86
1©
CE
30<11>
09F8:0C
20
4E
C3
20
01
C0
C6<89>
0CD0;CA
4C
BD
C9
20
96
CA
9e<AB>
0FA8S 05
FO
03
88
1©
C7
A©
07<1©>
0A00;EF
10
C2
30
03
20
2D
C3<S0>
0CD8:A0
©2
91
8C
8A
88
11
8C<58>
0FB©:46
E2
90
30
IS
A5
DB
79<FD>
0AßB:A5
Fl
F©
0F
4A
IB
65
D4<6&>
0CE0:91
SC
A4
8A
C8
C4
E0
B0<56>
©FBSsHE
2©
85
DB
AS
DA
79
E6<79>
0A10:E9
IF
85
04
46
Fl
90
03<;70>
0CE8:23
20
60
CA
2©
7C
CA
AO<44>
0FCa:20
SS
DA
A5
D9
79
DE
20<1F>
0 Aie ;20
67
C7
18
60
4C
09
E9<4B>
0CF0501
Bl
BC
29
©7
C5
ED
C8<E6>
0FC8185
D9
A5
DB
79
D6
20
S5<59>
0A20:A5
D4
29
7F
C9
0F
90
FS<57>
OCF8;Bl
SC
E5
E3
90
0B
A0
00<7E>
©FD©;DB
A5
D7
79
CE
20
85
D7<5S>
0A2S:20
00
C2
FS
A2
00
A0
04<8a>
0D0D:BI
BC
07
80
91
0C
4C
74<BC>
0FDB:A5
D6
77
C6
2©
85
D6
se<Bi>
OA30:18
A5
09
65
ES
85
D9
A5<BB>
0003:C9
20
6E
CA
A4
SA
es
C4<19>
0PE0S10
CE
3©
05
F©
©3
88
10<21>
OA38:D8
65
E4
85
DQ
AS
D7
65<7E>
0D10ZE0
B0
2©
20
6E
CA
20
7C<62>
0FE8:C7
A©
07
46
El
90
30
18<D4>
aA40:E3
85
07
AS
06
65
E2
S5<E5>
0D1B:CA
A©
©1
Bl
ec
29
07
C5<46>
OFF0:AS
DA
79
EE
20
as
DA
A5<B1>
0A48:D6
A5
05
65
El
85
D5
8A<E2>
0D20:EO
C8
Bl
BC
E5
E3
9©
©8<6D>
0FF8:O9
77
E6
2©
85
D9
AS
D8<6a>
0A50:69
00
AA
B8
D0
DB
D8
aA<6&>
0028*. A0
0©
Bl
BC
29
7F
10
D4<18>
1000:79
DE
2©
85
08
AS
07
79<20>
0A5Q:F0
lA
A5
DB
85
D9
A5
D7<C6>
0030:20
6©
CA
A©
Ol
Bl
BC
29<B2>
1©©S:D6
20
D7
AS
D6
79
CE<5C>
0A60:85
08
A5
06
85
D7
A5
05<4E>
0D3B: 07
AA
CB
Bl
SC
A8
20
8D<30>
1010:2©
85
06
AS
DS
79
C6
20<FE>
0A6Q:85
06
86
05
A5
C9
10<54>
0040:CA
20
8D
CA
86
ED
84
E3<1F>
1018:85
D5
8S
1©
CE
3©
05
F0<:4B>
0A7OS 90
31
E6
04
A5
DS
C9
10<31>
0048; 36
AS
ec
E9
03
85
ac
B0<B9>
1©2©:©3
88
10
C7
4C
ES
CI
i8<eF>
OA7S:90
27
4A
66
D6
66
07
66<8A>
0050:02
C6
8D
C5
©E
D©
©6
A5<1B>
l©2a:60
39
6©
A5
E0
FO
FA
A5<©4>
8AS0:O8
66
09
4A
66
D6
66
D7<08>
0D58:8D
CS
&F
F0
15
A©
©0
B1<A2>
1030:04
F©
F4
45
E0
29
8©
8S<32>
aA88:66
08
66
D9
4A
66
D6
66<18>
0060:BC
i©
86
30
8A
E6
BA
18<2^>
103e:EE
A5
E©
29
7F
85
E0
A5<B2>
0A90:D7
66
08
66
D9
4A
66
D6<9D>
0D68: A5
DE
65
El
85
DE
9©
02<44>
1040;D4
29
7F
38
ES
E©
18
69<27>
0A98:66
07
66
DS
66
09
95
D5<3E>
0070:E6
DF
60
C6
BA
38
A5
DE<62>
1048: 40
30
DE
©5
EE
AS
2©
0B<71>
0AA0:60
C6
04
A9
00
06
D9
26<5ß>
0D78;E5
El
85
DE
B©
02
C6
DF<DB>
1©S©;E8
es
£6
65
E7
85
ES
a5<3C>
8ÄA8:D©
26
D7
26
D6
26
D5
2A<8A>
0080; 60
A0
©0
Bl
SC
29
7F
a5<91>
1©S8;E9
SS
EA
SS
E0
85
DA
a4<DC>
0AB0:06
D9
26
DS
26
D7
26
D6<©F>
0D88;E3
CB
Bl
SC
4A
4A
4A
S5<86>
1©6©;D4
A©
©0
AS
£©
D9
C6
20<3F>
ßABQ:26
05
2A
86
D9
26
DB
26<Fl>
009©:ED
6©
E4
E4
EB
90
03
A2<19>
1©6B:D0
2B
A5
El
D9
CE
2©
DO<AF>
0AC0; 07
26
06
26
05
2A
06
09<1B>
©D98:00
CS
6©
CA
10
03
A6
E4<19>
1070:21
A5
E2
D9
D6
2©
D©
1A<FC>
ßACe:26
D8
26
D7
26
D6
26
D5<C1>
0DA©:88
6©
Bl
DE
30
C0
05
10<DE>
1078;A5
E3
D9
DE
2©
D©
13
A5<48>
0AD0:2A
60
6©
AS
8B
D0
FB
A5<62>
0OA8:C8
05
91
DC
60
Bl
BE
1D<8E>
1©S©:E4
09
E6
20
D0
0C
AS
E5<66>
0AD8:D6
05
07
F0
FS
A0
00
S4<9D>
OD&0:C©
©5
50
C©
05
F0
©4
AD<30>
1068:09
EE
20
D©
©5
A2
©B
4C<SC>
0AE0:DB
84
DC
El
D4
10
02
C6<:92>
0DB6:C8
05
60
AD
ca
05
F©
©3<F3>
1090:02
ES
90
2A
A5
ES
F9
£E<F1>
0AE8-OB
20
54
C8
©A
0A
B5
ac<86>
0OC0; A9
00
6©
A9
01
60
20
Ee<77>
1098;20
85
E5
A5
E4
F9
E6
20<©1>
0AF0;A9
00
2A
06
8C
2A
60
F4<50>
0DCB:F7
AD
FE
©2
48
BE
FE
©2<DF>
1©A©:8S
£4
A5
E3
F9
DE
20
S5<13>
0AF8:02
85
BD
20
9E
C8
B0
D2<49>
ßDD®:A9
7D
2©
F4
ED
68
SD
FE<A3>
10A8:E3
AS
E2
F9
D6
20
85
E2<6B>
0B00;A0
©8
84
DD
A4
DC
Bl
ac<40>
0DDS:02
6©
C9
FF
90
02
C0
5©<28>
10B©: AS
El
F9
CE
2©
85
El
A5<CD>
0B08:45
DB
85
DA
A6
ED
A4
E3<F1>
0OE©:eA
69
©0
SS
04
60
98
29<9C>
lOBS: E0
F9
C6
20
es
E©
26
D5<9E>
0810:86
DA
Bl
DE
3D
C0
05
90<16>
©DE8:FO
4A
es
D4
4A
4A
65
D4<D5>
1©C©;C8
C0
08
DO
9E
A0
00
A5<0B>
8818:03
10
C8
05
91
DE
C6
DD<9E>
0OF©:85
D4
90
29
0F
A6
D6
Eß<02>
1©C3:E1
D9
86
2©
D©
2B
AS
E2<94>
0B20:F©
07
20
&D
CA
C4
El
90<7D>
0DF6:S0
65
04
as
04
6©
A2
©0<7B>
1©D©:09
CB
20
D0
21
A5
E3
I>9<0C>
0B2S-.E7
20
62
CA
E6
DC
AS
DC<46>
0E0O;A4
D5
A5
D4
86
D5
38
E9<6E>
1008:06
2©
D©
lA
AS
E4
09
DE<CD>
Listirig 2- Türbo-Basic-Compiler-Rurttime^aket <Fortsetzung)
57
TURBO-BASIC
00
13
A5
E5
09
E6
20<2F>
13B8:D6
85
E2
A5
07
85
E3
A5<E9>
1690:08
C8
Bl
FC
85
09
60
85<45>
1^8:
0C
A5
E6
09
EE
20
O0<F5>
13C0=OB
85
E4
A5
09
SS
ES
A9<5A>
1698:FC
84
FD
A0
00
Bl
FC
9D<E5>
A2
01
4C
02
E8
90
2A<0C>
13C8:00
85
04
85
OS
es
06
Q^<Cß>
16A0:00
D8
CS
Bl
FC
90
00
D9<12>
XBFS:A5
E6
F9
EE
20
SS
E6
A5<E6>
13D0=O7
85
DS
85
09
60
68
e5<84>
16A8=C8
Bl
FC
9D
00
DA
C8
B1<E6>
iieo=E5
F9
E6
20
85
ES
A5
E4<6£>
13DB=FC
68
85
FO
E6
FC
00
02<F9>
16B0:FC
90
00
OB
C8
Bl
FC
9!K55>
lia82F9
DE
20
85
E4
A5
E3
F9<:CC>
l3e0=E6
FD
A2
00
Al
FC
F0
07<C8>
16B8;00
DC
C8
Bl
FC
9D
00
DD< 1F>
1110:06
20
85
E3
AS
E2
F9
CE<70>
13£;8:A8
20
Bl
21
4C
lE
E9
A5<E4>
16C0:60
9D
00
09
A9
40
90
O0<D8>
1119120
85
E2
A5
El
F9
C6
20 <c:a>
13F01FD
48
A5
FC
48
60
UB
00<5E>
16CS=DB
A9
00
90
00
DA
9D
00<77>
1120:8S
El
26
06
CS
C0
08
I>0<2C>
ISFÖ:10
Fö
98
C3
D8
A0
O0<FC>
1600=DB
9D
00
DC
90
00
DD
60<5F>
112S:9E
A0
00
A5
EZ
D9
C6
20<79>
1400:B4
93
ÖC
FE
02
C9
80
D0<66>
16DS=85
D5
A9
40
85
04
A9
O0<1A>
1130:00
28
A5
E3
09
CE
20
D0<F5>
1408:02
S4
11
A2
FO
9A
68
05<02>
16£0=85
06
85
07
SS
08
85
D9<CF>
ll3Ss21
A5
E4
09
06
20
D0
1A<16>
1410:02
68
SS
D3
48
A5
02
4B<B9>
16£8=60
20
lA
EC
86
03
20
96<9A>
1140:A5
E5
09
DE
20
00
13
A5<F2>
1418=A5
82
BS
06
AS
83
85
D7<3A>
16r0:eß
20
FC
Fl
A6
03
4C
51<92>
ll4a:E6
09
E6
20
D0
0C
AS
e7<31>
1420:AS
9B
D0
3F
A0
00
ce
C0<A5>
16F8;EB
05
FC
84
FD
A0
00
B1<CA>
1150:09
£E
20
08
05
A2
82
4C<5A>
1428:Bl
D6
C5
02
C8
Bl
D6
E5<65>
1700:FC
85
E0
C8
Bl
FC
85
E1<2S>
1150102
ES
90
2A
AS
E7
F9
EE<B2>
1430=03
BO
07
CB
00
F0
E6
D7<ZC>
170S=C8
©1
FC
85
E2
CB
Bl
FC<AB>
1160:20
85
E7
A5
E6
F9
E6
20<2A>
1438:00
EC
38
A5
06
£9
06
a5<77>
1710:85
E3
CB
Bl
FC
es
E4
ce<i3>
116SiS5
E6
AS
E5
F9
OE
20
85<CE>
1440:06
B0
02
C6
D7
Bl
06
B5<C6>
1718:B1
FC
05
E5
60
85
FC
84<0D>
1170=E5
A5
E4
F9
06
20
85
E4<96>
1448:BB
88
Bl
D6
85
BA
A5
BC<7D>
1720;FO
A0
00
A5
E0
91
FC
C8<50>
1,17B: A5
E3
F9
CE
20
85
E3
A5<9F>
1458: A4
BO
30
A2
80
86
BD<7F>
1728:AS
El
91
FC
ca
A5
E2
91<FC>
tlS0iE2
F9
C6
20
85
E2
26
D7<5B>
1458:E4
C3.D0
04
A6
95
F0
O3<60>
1730:FC
CS
A5
E3
91
FC
C8
A5<C2>
1188:C8
C0
08
D0
9E
A0
00
A5<CD>
1460:4C
42
F0
20
IS
E9
FD
9B<3B>
1733:£4
91
FC
C8
A5
ES
91
FC<96>
1190:E3
09
C6
20
00
28
A5-
E4<5F>
1468:46
65 68
6C
65
72
20
2D<EE>
1740:60
20
77
EB
4C
Ce
ED
86<BD>
1198:09
CE
20
00
21
A5
E5
D9<DE>
1470=20
00
A5
C3
A0
00
20
B1<7F>
1748:03
48
20
77
EB
68
20
F9<9F>
11A0-_D6
20
00
lA
AS
E6
D9
DE<97>
1478:EC
20
18
E9
20
69
6E
20<B3>
1750=Fl
A6
03
4C
51
EB
35
D4<AA>
llA 8 : 2 a
O0
13
AS
E7
D9
E6
20<13>
14S0:SA
65
69
6C
65
20
00
Ab<63>
1758:84
05
A0
00
Bl
04
85
06<EE>
11B0SD0
0C
A5
ES
D9
EE
28
D0<67>
1488:BA
A4
BB
20
Bl
EC
20
10<95>
1760:84
07
£6
04
00
02
E6
D5<AF>
11B8=05
A2
83
4C
02
£8
90
2A<E5>
1490:E9
20
28
24
00
38
A5
02<78>
1768:60
20
98
EC
4C
B7
EC
20<B5>
11C0: A5
ES
F9
EE
20
85
£8
AS<B5>
1498:E9
02
48
A5
03
E9
00
20<6B>
1770:13
C0
20
21
F4
A6
93
A5<30>
llCa:E7
F9
E6
20
85
E7
AS
E6<52>
14A0:94
EA
68
20
94
EA
A9
29<DC>
1778=04
90
44
03
AS
DS
90
45<BF>
11O0:F9
OE
20
B5
E6
AS
ES
F9<B7>
14AS:20
F4
EO
A9
00
85
93
20<5F>
1780:03
AS
06
90
48
03
18
65<C9>
1108=06
20
05
E5
AS
E4
F9
CE<61>
14B0:18
E9
9B
50
72
6F
67
72<FD>
1786:94
35
94
A5
D7
90
49
03<aF>
11E0:20
SS
E4
AS
E3
F9
C6
20<E0>
14BS:61
60
60
65
6£
64
65
20<4A>
1790=05
D6
F0
05
A9
06
4C
C6<15>
11£8:S5
E3
26
DS
C8
C8
88
Ü0<ES>
14C0:3A
20
C4
6F
73
2C
20
D2<53>
1798=EA
60
4C
61
FA
85
99
S4<BA>
11F0;9E
A0
88
AS
E4
09
C6
20<C3>
14C8:75
6£
20
6F
64
65
72
20<2F>
17A0:9A
18
65
90
AB
A5
91
65<A1>
11F8:D0
ZS
AS
ES
09
CE
20
D0<0D>
1400:CC
6F
61
64
20
3F
00
A9<B4>
17AB:9A
CD
£6
02
90
09
D0
EA<DF>
1200:21
AS
E6
09
D6
20
D0
1A<1B>
1408:40
80
BE
02
A9
00
SO
B6<51>
17B0:CC
£5
02
90
02
00
£3
85<11>
l208iA5
E7
09
DE
20
D0
13
AS<BB>
14E0:02
20
Dl
21
C9
44
F0
0B<7B>
iTBSiOF
84
0E
30
A5
90
E5
SE<S3>
1210= ES
09
E6
28
DO
0C
AS
E9<FE>
14E8:C9
4C
F0
0A
C9
52
00
E7<7C>
17C0=S5
BC
A5
91
ES
SF
85
SD<AD>
1218:09
EE
20
00
05
A2
04
4C<2B>
14F0:4C
00
20
4C
B4
20
20
1B<3D>
17C0S18
A5
8E
35
97
85
88
65<42>
1220:02
ES
90
2A
A5
E9
F9
EE<BC>
14Fe=E9
9B
46
69
6C
65
6E
61<EF>
1700=99
85
8A
85
8E
A5
BF
a5<E7>
1228=20
85
E9
AS
EB
F9
E6
20<34>
1500:60
65
20
44
3A
00
20
4A<CE>
1708=98
85
65
9A
85
8B
85<9E>
1230:85
Ed
AS
£7
F9
DE
20
85<9S>
1508:Fl
A0
FF
C0
Bl
F3
C9
9B<7E>
l7E0:ßF
A5
0E
85
90
A5
0F
S5<F3>
1238:£7
AS
E6
F9
06
20
85
E6<A5>
151O:F0
29
C9
3A
DB
F5
CS
B1<D4>
17ES:91
4C
£1
21
29
0F
06
SA<2B>
1240:A5
E5
F9
CE
20
85
E5
A5<71>
1518=F3
C9
9B
OB
F9
A9
2E
91<A6>
17F0:06
8A
06
SA
06
SA
05
8A<DB>
1248=E4
F9
C6
20
SS
E4
26
D9<30>
1520:F3
ca
A9
43
91
F3
C0
A9<CB>
17F3=A6
88
E0
05
90
03
4C
29<F1>
1250:C8
C0
08
D0
9E
A5
05
D0<3F>
1528:S4
91
F3
C8
A9
42
91
F3<F£>
1800:F5
90
C4
02
60
A0
78
06<E4>
1258: 64
AO
00
A5
E5
09
C6
20<9E>
1530:C8
A5
F3
A6
F4
20
53
F4<0E>
1808:88
2C
A0
00
sc
08
02
A2<1F>
1260:00
28
A5
E6
09
CE
20
D0<FA>
1538=4C
SB
F9
C8
B9
7F
05
99<E0>
1810:03
&E
0F
02
06
8C
A6
8C<9E>
1260=21
A5
E7
09
06
20
08
1A<A1>
1548:81
05
88
00
F7
A9
44
eo<69>
1818:£0
03
eo
E2
85
ac
A5
B8<S3>
1270:AS
E8
09
DE
20
D0
13
A5<Q5>
1548:80
05
A9
3A
SO
81
05
4C<EC>
1820= 90
00
D2
98
F0
07
ES
EB<A5>
1278:89
09
E6
20
08
0C
A5
EA<E9>
1550= 4B
EA
48
4A
4A
4A
4A
20<CF>
1828:A5
89
90
00
02
AS
SA
0A<A6>
1280:09
EE
20
D0
05
A2
05
4C<A2>
1558:9F
EA
68
29
0F
09
30
C9<32>
1830:0A
0A
0A
05
BC
90
01
D2<24>
1280:02
ES
90
2A
A5
EA
F9
EE<09>
1560:3A
90
02
69
06
4C
F4
ED<SB>
1838:60
38
24
18
20
BF
ED
4C<4E>
1290:20
85
£A
AS
E9
F9
E6
20<D4>
i56BsA2
70
20
C4
EA
BA
38
E9<FS>
1840:8A
ED
38
24
18
20
C6
ED<73>
1298:85
E9
AS
E8
F9
DE
20
S5<D1>
1370:10
AA
00
F6
A2
08
A9
00<E4>
1848:A5
CS
80
FB
02
A2
60
A9<3E>
12A0:E8
AS
£7
F9
D6
20
85
E7<BD>
1578:90
00
D2
CA
10
FA
60
20<91>
1850=0C
90
4A
03
A9
00
90
4ß<32>
12AS:AS
E6
F9
CE
20
85
E6
A5<1C>
1530:EA
EE
A9
OC
9D
42
03
20<0C>
1858=03
A9
11
69
00
4C
C6
EA<D5>
12E0:E5
F9
C6
20
B5
ES
26
0A<36>
1588:AB
20
30
01
60
4C
3C
E9<B3>
1860:48
A9
06
20
CI
EA
68
AS<B£>
1288: C0
C0
88
D0
9E
4C
ES
C1<A9>
1590:A6
92
£6
92
AS
D4
90
00<BF>
1868:29
F0
49
IC
AA
A9
0D
S6<A4>
12C0:36
05
C8
C0
08
D0
F9
F0<eB>
1598:DE
AS
DS
9D
2A
DE
A5
06<31>
1870:88
84
SA
A2
21
A0
02
20<DC>
12C8:F4
F3
18
A5
E5
SD
F5
20C99>
15A0:9D
54
DE
AS
07
90
7E
DE<36>
1878:53
F4
4C
4A
EE
85
55
B4<31>
1200:65
E5
SD
F4
20
AS
£4
8D<39>
15A8;A5
DS
9D
AS
DE
A5
09
9D<FD>
iaS0:56
86
S4
60
85
54
9B
F0<a2>
1208: ED
20
6S
E4
8D
EC
20
A5<3F>
1SB0:D2
OE
60
20
B0
C2
C6
92<13>
1888:0C
4C
29
F5
20
F9
CA
A5<23>
12E0:E3
80
E5
20
65
E3
BD
E4<65>
ISBS:A6
92
BD
00
DE
SS
D4
BD<1B>
1890:04
A4
OS
60
F4
60
20
JBF<49>
12E8=20
AS
E2
80
DD
20
65
E2<6C>
15C0:2A
OE
05
05
BO
54
DE
B5<C9>
1898=ED
4C
El
ED
20
C6
EO
A2<90>
12F0:8D
DC
20
AS
El
8D
D5
20<2B>
15C8=06
00
7E
DE
85
07
BO
AB<6S>
18A0:60
A4
CB
20
Bl
21
4C
3S<7F>
12FS165
El
80
D4
20
A9
00
0D<26>
l5D0=De
85
08
BD
D2
DE
85
D9<BD>
l8A8=e9
A9
00
85
93
A9
9B
2C<A4>
1300:00
20
69
00
80
CC
20
A2<1F>
1508:60
C6
92
A6
92
BD
00
0E<B9>
l8ß0:A9
20
A6
95
AB
E6
94
20<49>
1308=02
BO
F2
20
7D
F2
20
90<27>
15E0:85
E0
BD
2A
DE
85
El
BD<A0>
ISBS:Bl
21
4C
38
E9
20
C6
£D<DS>
1310=Fl
20
BO
EA
20
70
EA
20<D7>
1588:54
DE
85
E2
BD
7E
DE
8S<&4>
1BC0:A9
60
85
93
86
88
20
69<0A>
1318:90
E9
20
80
E2
20
7D
E2<03>
15F0SE3
BD
AS
OE
85
£4
BO
02<CC>
18CS:EF
A0
j00
A6
SB
4C
4A
EB<A3>
1320=20
90
El
28
BD
DA
20
7D<E6>
1SFB:DE
85
E5
60
A6
92
E6
92<D6>
1800=86
88
20
81
EF
A0
00
A6< 11 >
1328:DA
20
90
09
20
BD
02
Z0<FD>
1600:90
00
OE
98
90
2A
DE
60<E1>
ISDS:88
4C
4A
EB
86
88
A0
07<C7>
1330:7D
D2
20
90
Dl
20
BD
CA<21>
1608=86
03
20
13
C0
A6
03
A5<4S>
1BE0:20
ZC
EE
A6
88
4C
51
eB<42>
1338: 20
70
CA
20
90
C9
20
CA<E3>
1610:D4
90
00
DS
AS
DS
90
00<e4>
18£8=A0
0B
A9
06
A6
93
9D
4S<A3>
1340:00
C7
AD
F4
20
60
F2
20<AF>
1618:09
AS
D6
9D
00
DA
AS
D7<F6>
10FO:03
A9
04
9D
44
03
A9
00<91>
1348:00
Fl
20
AD
EC
20
60
EA<72>
1620:90
00
DB
A5
08
90
00
DC<55>
1SFS:9D
45
03
90
49
03
98
4C<05>
1350=20
BO
E9
20
AD
E4
20
60<32>
1628:A5
09
90
00
DD
AS
11
F0<02>
1900:C6
EA
86
93
85
80
04
8A<5S>
1358:E2
20
80
El
20
AD
OC
20<9E>
1630:01
60
4C
34
FE
BO
00
D8<6E>
1908:A9
03
85
ec
A6
93
A5
BC<0F>
1360:60
DA
20
80
09
28
AD
D4<FD>
1633=85
04
BD
00
D9
85
05
BD<74>
1910=90
42
03
A5
88
9D
4A
03<26>
1368:20
6D
D2
20
eo
Dl
20
AD<C9>
1640:00
DA
85
06
BD
00
DB
B5<19>
1918:A5
ÖA
90
4B
03
AS
04
9D<7S>
13705CC
20
60
CA
20
80
C9
20<01>
1648;07
BO
00
DC
85
08
BO
00<CB>
1920:44
03
A5
05
90
45
03
20<33>
1378:A2
02
BO
EF
20
TD
EF
20<E7>
1650=DO
es
D9
60
BD
00
DB
B5<47>
1928:Al
EF
20
AB
20
20
BA
EF<F9>
1380=90
EE
28
80
E7
20
7D
£7<5£>
1658:E0
BD
00
09
85
El
BD
00<OA>
1930:BC
43
03
4C
38
£9
B6
SB<2E>
1388:20
90
E6
20
BO
DF
20
7D<C3>
1660:DA
85
E2
BD
00
OB
es
E3<7C>
1938=A9
0D
A6
93 9D
42
03
20<E3>
1390: DF
20
90
DE
20
BD
07
20<6D>
1668:BD
00
OC
85
E4
BD
00
DD<26>
1940:AB
20
98
A0
00
A6
88
4C<C2>
1398:70
07
20
90
06
20
eo
CF<7E>
1670:85
E5
60
35
FC
84
FD
A0<68>
1948:4A
EB
86
es
84
BA
A9
26<C4>
13A0:28
70
CF
20
90
CE
20
ßl><33>
1678=00
Bl
FC
es
04
C8
Bl
FC<CO>
1950:A6
93
20
C6
EA
BD
4C
03<FS>
13A8:C7
20
70
C7
20
9D
C6
20<55>
1680:85
D3
C8
Bl
FC
85
D6
CO<32>
1958:BC
40
03
A6
88
20
4A
EB<31>
13B0=CA
10
C7
AS
05
BS
El
A5<06>
1688:B1
FC
85
D7
ca
Bl
FC
S5<AC>
1960=A6
93
BO
4E
03
A0
00
A6<43>
Ustlng 2. Turbo-Basic-Compiler-Ruiitime-Paket (Fortsetzung)
58
TURBO-BASIC
1968:Sft
4C
4A
EB
48
29
F5
A6<Q1>
1C40:AC
E6
F2
A6
88
4C
51
EB<61>
1F18:00
85
07
60
A9
3F
85
D4<C1>
1970:9S
9D
4E
03
98
80
F5
A5<1S>
IC4S:A9
00
65
F2
F0
F5
20
44<DC>
1F20:A2
05
AD
0A
D2
29
FO
C9<S2>
1978:88
9D
4C
03
AS
89
90
4D<Ai>
1CS0:F1
4C
99
Fl
20
34
Fl
ie<FF>
1F2B:A0
B0
F7
85
DA
AD
0A
D2<C4>
1980:03
A9
25
48
86
EA
A9
07<OS>
lC58sA5
F3
65
F2
SS
F3
90
02 <00>
1F30:29
0F
89
0A
B0
F7
05
DA<5S>
19SB:20
CI
*EA
A2
08
AO
00
A9<FA>
1C60:E6
F4
A0
00
Bl
F3
C9
9B<1A>
1F38:95
D4
CA
D0
E5
48
EC
Cl<19>
1990510
4C
Bl
ED
A9
00
20
Cl<09>
1868:F0
03
C8
00
F7
A5
F3
A6<35>
1F40:20
B0
C2
20
5E
F4
20
0E<S5>
1990:CA
A9
C0
85
6 A
A2
08
A0<CC>
1C70:F4
20
53
F4
A6
BS
4C
74<AE>
1F48:F2
4C
CI
F4
A5
D4
29
7F<77>
19A0S00
A9
13
4C
Bl
E8
A9
00<DE>
iC7a:FE
A5
D4
F0
04
49
BO
0S<;iB>
1F50:38
E9
40
90
11
AA
A9
00 <66>
19ftS=C9
08
B0
14
0A
0 A
0A
0A<EE>
IC80:O4
20
IB
EB
4C
FC
Fl
20 <10>
1F58:E0
05
90
02
A2
04
95
D5<iD>
19B0:05
93
AA
A9
00
85
94
©5<6B>
1C80:1B
EB
4C
OE
F2
20
F5
EA<57>
1F60:CA
10
FB
4C
EC
CI
60
20 <££>
19BB:F7
A4
89
D0
02
E6
C9
60<7C>
1890:4C
17
F2
20
B0
C2
4C
FC<0C>
1F60=17
F2
A5
D4
29
7F
38
E9<1F>
19C03A9
14
48
30
E9
A9
07
A2<47>
1898:Fl
20
ß0
C2
4C
0E
F2
A0<81>
1F70:40
90
44
AA
A9
00
EO
04<1F>
19C8521
AO
06
20
53
F4
A2
70<0D>
1CA0=C0
80
04
A9
01
AO
40
B5<43>
lF7a:B0
3A
95
D6
ES
90
F7
A5<21>
19D0:A9
06
A0
00
20
44
EE
20<5A>
1CAS:E1
84
EO
A9
00
85
E2
S5<57>
lFe0:D4
29
7F
38
E9'
40
90
2D<DC>
19DO:6F
EF
80
SS
F0
0 B
20
30<60>
18B0:E3
85
E4
85
ES
F0
03
20<95>
IFaS:AA
EO
04
BO
D9
A9
00
A8<30>
19E0=£9
A2
00
20
F6
EO
48
19<36>
1CB8:3B
EC
20
Dl
C0
B0
IC
60<73>
iF90:15
06
94
D6
ES
E0
04
D0<45>
19ESzEF
A2
70
48
C4
EA
A9
20<24>
ICCO:20
3B
EC
20
CB
C0
B0
13<A0>
1F9S:F7
24
04
10
17
AS
F0
14<22>
19F0:2C
A9
23
28
A9
24
2 C
A9<68>
1CC8:60
20
3B
EC
20
OB
£4
ß0<03>
1FA0:A9
C0
85
E0
AO
Ol
84
E1<C4>
19FS:21
A2
70
86
93
A0
00
04<3a>
1CD0: OA
60
20
3B
EC
20
68
E5<7C>
1FAS:88
84
E2
84
£3
84
E4
84<7S>
1 A00S8Q
84
GA
4C
48
E£
A2
0B<AF>
lCDß:B0
01
60
A9
OB
48
30
£9<3S>
1FB0:E5
4C
Dl
CO
60
06
04
20<6D>
lAOB:2C
A2
07
48
SA
A6
93
98<01>
1CE0:85
El
A9
40
85
E0
A9
00<25>
1FB8:09
E9
90
FS
BO
E2
20
5E<CA>
1A10542
03
A5
SB
98
44
03
A5<F4>
1CE8:85
E2
85
E3
85
£4
85
E5<C3>
1FC0:C5
BO
24
60
20
68
C5
B0<AD>
1A18:89
98
45
03
60
90
48
03<F9>
1CF0:F0
E3
85
El
A9
40
85
E0<A6>
IFCS:lE
60
20
26
C6
B0
18
60 <10>
1A20:9S
9D
49
03
48
C9
EA
20 <1B>
ICFSsA9
00
85
E2
85
E3
85
e4<FS> 1
1FDO:20
52
84
BO
12
60
20
56<CA>
lA2e:6F
EF
4C
30
E9
A6
93
A9<OA>
1000:85
ES
F0
ce
85
El
A9
40<F3>
1FD8:C4
B0
08
60
20
72
C3
B0<EC>
1A30500
9D
48
03
90
49
03
A9<7D>
IDOS:83
E0
A9
00
05
E2
85
E3<71>
1FE0:06
60
20
91
86
90
FA
A9<53>
1A30:07
90
42
03
4C
AB
20
20<F4>
1810:85
E4
85
E5
60
A5
84
F0<B3>
lFe8=03
4C
30
E9
A5
EO
30
F7<D4>
1A40:D1
21
4C
38
£9
A5
C9
B5<16>
1018:04
49
80
85
D4
60
AS
84<4C>
1FF0:4C
09
£9
4C
DD
C3
20
3B<£D>
1A485SB
A4
94
C8
C4
88
90
05<E2>
1820:29
7F
es
04
60
20
3B
EC<60>
IFFSsEC
A5
EO
F0
F6
AS
D4
F0<2E>
1A50:18
65
89
90
F2
20
F2
EIKEA>
1020:20
03
F3
90
55
F0
53
B0<5B>
2000 :£B
10
26
29
7F
85
04
A5<5F>
1A5S:AS
94
CS
BS
80
F7
60
A4<32>
1830:4E
20
3B
EC
20
03
F3
F0<OA>
2008:E0
29
7F
30
E9
40
90
D7<F4>
1A60:D6
A5
07
F0
02
A0
FF
e4<13>
1038:46
00
47
20
3B
EC
20
03<C0>
2010 :A2
04
C9
04
F0
0 £
60
11<C3>
1 A68S 88
Bl
84
85
8 A
AS
D4
S5<EF>
1D40:F3
90
3F
B0
3A
20
3B
EC<6F>
2018:AA
A8
B9
E2
00
D0
C8
ca<E7>
1A70TQC
A5
DS
B5
88
A9
9B
2C<5F>
1848:20
03
F3
90
32
F0
30
B0<1C>
2020:CO
04
DO
F6
B5
El
4A
Bß<2A>
IA78= A5
SA
A4
SB
91
ec
60
1S<08>
1D50:31
20
3B
EC
20
03
F3
90<D4>
2028:01
18
A9
00
6 A
48
A5
Ea<9F>
lAa0:24
38
6 E
16
21
A9
3F
A0<;ß0>
1858:26
B0
27
20
3B
EC
20
03<45>
2030:C9
40
00
4D
A5
E2
05
E3<50>
lA88i21
SO
E0
02
88
El
02
A2<52>
1D60:F3
FO
IF
00
lA
20
3B
EC<A4>
2038:05
E4
05
ES
00
43
AS
E1<9A>
1A90:10
A9
04
A0
00
20
44
EE<AB>
1D68:AS
E0
25
04
F0
11
80
12<D4>
2040:29
F0
4A
85
FC
4A
4A
65<A3>
1A9B:20
69
EF
89
FF
D0
58
20<B1>
1070:20
3B
EC
AS
E0
05
84
F0<DD>
2048:FC
85
FC
A5
El
29
0F
65<EO>
1AA0:69
EF
89
FF
80
55
A9
3F<52>
1070:06
80
07
A5
04
FO
03
4C<a5>
2050:FC
85
FC
20
89
82
46
FC<3F>
lAAe^A0
21
80
E2
02
88
E3
02<AE>
1080;09
E9
4C
DO
83
A5
84
F0<F9>
2058;BO
03
20
DD
C3
20
E8
C2<AD>
1 AB0:20
69
EF
9D
44
03
20
69<86>
1DS8:F6
10
F7
20
C4
F2
A9
C0<:5B>
2060:A5
FC
F0
50
20
26
C3
20<B4>
1AB8:£F
98
45
03
30
44
03
C9<2£>
1890:S5
04
60
20
3A
F3
90
EA<A6>
2068:08
E4
B0
0F
46
FC
90
F7<E6>
1AC0:FF
F0
E3
20
69
EF
48
20<7C>
1898:FO
ES
B0
£3
20
3A
F3
F0<C3>
2070:20
C9
C2
20
51
C3
20
0B<4E>
1AC8:69
EF
A8
60
38
FD
44
03<A9>
lDA0:De
80
DF
20
3A
F3
90
DA<72>
2078;E4
90
E2
4C
ID
F2
48
29<F9>
1AD0:9D
48
03
98
FO
45
03
9D<6E>
IDAS:B0
05
20
3A
F3
90
00
F0<FO> .
2080= F5
A5
E5
48
A5
E4
48
A5<6F>
1AD8549
03
FE
48
03
00
03
FE<11>
1DB0:8E
B0
CF
20
3A
F3
90
C7<50>
2008:E3
48
A5
E2
48
AS
El
48<A9>
1AE0549
03
20
C9
EA
20
99
20<2B>
IDBS:B0
ce
20
3A
F3
F0
C3
D0<35>
2090sA5
E0
48
20
56
84
B0
E6<09>
lAES:A2
10
8 E
43
03
F0
B7
20<B6>
LDC0:BE
A5
84
45
E0
00
25
A3<0F>
2098:68
85
E0
68
85
El
60
e5<6S>
1AF0:C4
EA
28
16
21
10
03
4C<FA>
lDCa:D5
85
El
80
18
A5
06
C5<FB>
20A0--E2
68
B5
£3
68
85
E4
6B<51>
lAFS;A2
20
60
A9
01
4C
30
E9<S4>
1800:E2
D0
12
A5
87
C3
E3
80<6B>
20AS:85
E5
20
OB
£4
60
CC
20<B2>
1800:20
4A
F0
68
6 S
68
08
00<FB>
1008:08
A5
88
C5
E4
DO
06
A5<C0>
20B0:81
C3
B0
C7
68
10
04
05<F4>
1808=85
84
84
85
AS
82
85
86<a3>
1DE0:09
85
E5
F0
06
6 A
45
84<C7>
20ß8:D4
85
04
60
85
E0
04
El<22>
1B10:A5
83
05
07
A0
OO
Bl
06<AD>
1DE8:OA
A9
01
60
30
05
A5
D4<22>
20CO:20
FS
EA
4C
CE
ED
20
FE<6a>
1818:C5
84
88
Bl
06
e:5
05
B0<67>
1DF0:C5
E0
60
06
E0
A9
01
60<FC>
20CB:F5
25
E0
AA
98
25
El
A8<25>
1B20:09
CS
CS
88
80
F0
E6
D7<:23>
1DF8:A0
00
A5
06
D0
06
AS
87<CC>
2000:SA
60
20
FE
F5
05
EO
AA<76>
1B28;D0
EC
80
13
S8
Bl
06
C5<00>
1E00:F0
05
C6
87
C6
86
AA
08<7C>
2008:93
05
El
AS
SA
60
20
FE<5a>
1B30:D4
80
08
CB
C8
Bl
06
S5<77>
1E0S:A5
E2
D0
06
A5
E3
FO
20 <22>
20E0:F5
45
EO
AA
98
45
El
A3<C2>
1B38 :US
88
Bl
06
85
09
60
A9<BF>
1E10:C6
E3
C6
E2
28
F0
16
Bl<Ae>
20E8:SA
60
9A
98
9D
9B
B3
B5<a3>
1840:09
4C
38
£9
A9
00
AB
S5<1D>
iE10:D4
01
E0
80
OE
E6
04
D0<£B>
2aF0:B0
B2
A6
3C
7C
BC
27
67<AF>
1848:D4
84
85
90
30
29
A3
80<3C>
1E20:02
E6
05
E6
E0
80
83
E6<AB>
20FB:A7
85
04
A5
14
A6
11
FO<FB>
1850:A4
Bl
S4
Ö7
85
S6
A0
00<95>
1E20:E1
80
CF
B0
02
C3
18
60<:6D>
2100:10
C5
14
FO
Fa
A5
04
D0<OB>
1858:81
86
85
84
CS
Bl
86
E5<A3>
1E30:28
38
60
30
AD
E5
02
ES<7F>
2108:03
88
30
05
86
04
48
3D<9S>
1B60:D5
80
0B
CS
Bl
06
65
06<FB>
1E30:0E
AA
AO
E6
02
E5
0F
Ae<63>
2llO:F6
60
20
C9
C2
20
07
C3<SS>
1868:90
EA
E6
S7
00
E6
A5
36<8F>
1E40:8A
60
20
Al
EF
A5
04
A4<ED>
2118:20
A9
F4
20
60
C2
20
2A<a3>
1B70:I>0
02
C6
87
C6
06
60
4C<39>
l£48:DS
85
F3
84
F4
A0
00
S4<C9>
2120:83
20
0 E
F2
20
BO
C2
20 <11>
1878:29
FS
A9
06
48
38
E9
a6<BD>
1E50:F2
60
20
84
F3
20
65
22<CC>
2128:26
83
48
05
F2
A2
SF
2C<10>
1880:88
A0
00
Bl
86
C9
9B
F0<72>
1E58:90
34
20
00
F3
A9
12
4C<95>
2130;A2
FF
86
DF
85
DA
84
DB<37>
1B88:08
E6
86
00
15
E6
87
D0<49>
1E60:38
E9
20
04
F3
04
84
e4<S7>
2138:20
IB
EB
20
FG
EA
ia
A5<64>
1890:11
A0
03
Bl
86
F0
E3
1S<B4>
1E68:85
Bl
F3
38
E9
30
90
1£<A2>
2140: D4
65
DA
85
D4
A5
D5
65<DD>
1B98:A5
86
69
04
85
86
90
02<51>
1£70:C9
17
BO
lA
C9
0A
90
06<03>
2148:DB
as
05
B0
22
38
A5
D6<4B>
1BA0=E6
87
A0
00
81
86
89
2C<1C>
1E7S:E9
07
89
OA
90
10
A2
04<Aa>
2150:ES
DA
85
D6
A5
07
ES
DB<DS>
1BA8=F0
07
C9
9B
F0
03
88
D0<56>
1ES0:06
04
26
05
CA
00
F9
05<4B>
2158:85
07
90
13
05
06
F0
0F<A4>
1BB0:F3
A5
86
A6
07
20
53
F4<02>
lE8a:D4
85
04
88
00
8 B
20
BA<AA>
2160:33
A5
06
E5
E2
85
DC
AS<74>
1BBS:13
AS
86
65
D6
85
06
90<A9>
1E903EF
4C
00
80
A2
00
F0
0A<4A>
216S:D7
E5
E3
85
DO
B0
04
A9<4A>
1 BC0:02
E6
87
60
20
81
F0
A6<D2>
1E9B:A2
00
00
06
A2
0C
80
02<:E8>
2170:00
AB
60
E6
DA
00
02
E6<D£>
1 BC8:88
48
74
FE
20
81
F0
A5<A0>
1EA0:A2
14
10
86
84
65
D4
AA<A5>
2178:08
A0
0O
Bl
EO
51
04
25<3C>
1BD0:84
A4
85
A2
00
85
F3
84<9A>
lEABtBD
70
02
A0
00
60
4C
29<DC>
21B0:DF
00
30
A5
D4
85
DS
A5<7F>
lBDa:F4
86
F2
AS
86
48
20
65<A7>
1EB0:F5
A0
00
A5
05
F0
03
20<26>
2188:05
85
09
A5
EO
35
E4
AS<49>
1BE0:22
B0
0A
66
85
F2
00
05<6D>
1EBS:FE
F3
A5
04
48
4A
4A
4A<CA>
2190:E1
85
E5
A5
E3
85
DE
A6<26>
16£8iA6
88
48
51
EB
A9
08
4C<3B>
1EC0:4A
20
09
F4
66
29
0F
09<17>
2198:E2
ES
CA
D0
04
C6
DE
30<43>
1BF0:3D
E9
36
88
AS
93
80
0A<SD>
lECS:30
89
3A
90
02
69
06
99<F5>
2lA0:25
Bl
DB
51
E4
25
DF
D0<03>
1BF8:A5
F2
D0
2A
A9
3F
20
F4<54>
1ED0:80
05
C8
60
85
84
84
D5<DE>
21AS:0A
C8
DO
EE
E6
D9
E6
E5<1E>
1C00:E8
2C
86
BS
A5
F2
DO
1E<91>
1ED8:20
F3
F3
A9
80
00
30
20<AD>
21B0:4C
DC
F6
E6
D4
D0
02
E6<74>
1808:20
00
80
A6
93
A5
F3
9D<54>
lEE055ß
22
A0
FF
CS
Bl
F3
10<31>
2lß8=D5
A5
DC
D0
04
C6
DD
30<29>
1C10:44
03
A5
F4
90
45
03
A9<GS>
IE£8:FB
29
7F
91
F3
C8
A3
F3<DB>
21C0'-AE
C6
OC
4C
B5
F6
A5
DA<AD>
IC18:00
98
48
03
A9
01
90
49<A6>
1EF0:00
10
AD
FC
02
A0
00
C9<0C>
21C8:A4
DB
60
S5
06
SS
07
A0<77>
1C20:03
A9
05
20
86
EA
60
20<5D>
lEFBiCm
80
12
A2
0E
DD
28
F6<9E>
2100:08
16
E6
36
E5
26
D6
90<B7>
1C28=44
Fl
4C
72
Fl
20
34
Fl<70>
1F00:F0
OB
GA
10
F8
20
81
EF<63>
21DB:0B
18
B5
E6
65
D7
95
E6<50>
1C30:20
65
22
BS
A4
F2
B1<BA>
1FOB:88
CO
05
A0
01
A9
80
A2<25>
21E0=90
02
F6
E5
88
DO
EA
60<AB>
1838:F3
C9
9B
F0
OB
89
28
D0<10>
1F10:05
86
85
85
84
84
06
A9<5Q>
21E8:4C
29
F5
85
04
98
05
SD<19>
Listing 2. Turbo-ßastc^Compiier-Runtime-Faket (Fortsetzung)
59
TURBO-BASIC
21F0:I>0
F6
A5
8 C
D0
02
A9
01<ED>
24D0S 9D
00
D8
9D
00
D9
9D
O0<58>
27B0:DD
30
0E
06
DA
26
Ü8
ÖS<40>
21F8:S5
D5
A2
16
A9
QO
95
D6<0C>
24D8:DA
9D
00
DB
9D
00
DC
9D<63>
27BS:DO
E4
A5
DD
C9
16
BO
01<EA>
2200= CA
10
FB
AS
D5
85
E0
EB<3B>
24E0:00
DD
£8
D0
EB
A5
84
85<D3>
27C0=60
4C
S1
F0
86
D3
20
3e<21>
2208:20
OD
F7
A5
D4
A2
02
20<19>
24E8:8E
85
90
85
0E
A5
85
a5<63>
27CÖ:£E
A9
O0
AB
A6
D3
Ö6
D3<D0>
2210 =0D
F7
A5
D5
85
D6
AO
08<4S>
24F0:BF
85
91
85
0F
4C
86
F0<50>
27D0:18
69
01
85
DB
48
98
69<32>
2218:06
DC
26
DB
26
DA
06
D6<:43>
24F8:85
89
19
A5
90
85
88
65<3E>
27De:00
30
E6
85
D9
48
C6
92<3C>
2220= 90
11
18
A5
EC
65
£8
85<97>
2500;99
A8
A5
91
95
89
69
00<6F>
27E0:A4
92
18
B9
00
DE
69
ßl<7E>
2228iDC
A5
DB
65
E7
85
DB
90<D8>
2508:CD
£6
02
90
09
DO
10
CC<EF>
27EB:B5
D6
B9
2A
DE
69
00
30<FO>
22305 02
£6
DA
88
DO
E2
20
DA<C2>
2510:E5
02
90
02
DO
09
85
91<BE>
27F0:D0
85
D7
20
DO
FC
06
I>C<7A>
2238:F7
20
FF
F7
20
DA
F7
20<C1>
2518:85
0 F
84
90
84
0E
60
A9<Ba>
27Fe:26
DD
A4
DD
A5
DC
OA
26<A9>
22405 0D
F8
20
Fl
F7
20
FF
F7<45>
2520:02
4C
3D
E9
A5
SF
C5
91<12>
2800:DD
65
DC
85
DC
90
65
DD<90>
2248:20
Fl
F7
20
0D
FB
24
E2<2C>
2529:90
06
A5
9E
C5
90
B0
25<2A>
2808:85
DD
68
85
D9
68
85
DS<70>
2250:30
21
E6
El
18
A5
EB
65<59>
2530;A5
90
E9
02
85
90
85
0E<A9>
2810:4C
6 C
FD
86
D3
85
DS
S4<0D>
2258s£6
85
EB
A5
EA
65
ES
85<D0>
2530;90
04
C6
91
C6
OF
A0
00<5S>
2ai0:D9
85
DC
84
DD
05
D9
F0<96>
2260:EA
90
02
E6
E9
39
A2
02<C7>
2540:91
90
D0
10
38
A5
90
E9<A4>
2 B20:Aß
98
30
9D
A9
OO
85
D6<5A>
2260=85
E2
F5
E9
95
E2
CA
10<BC>
2548=OD
85
90
85
0E
EO
04
C6<B5>
2828:85
D7
A6
D3
BD
00
D9
D0<BB>-
2270=F7
30
C3
AS
E0
FO
2F
C6<D0>
2550:91
C6
0F
98
18
60
20
66 <iß>
2830:90
A5
8 E
85
D4
A5
8 F
8S<0F>
2278lEO
38
AS
DC
E5
£8
85
DC<BC>
2358:FA
BO
04
FO
F9
10
11
A9<DE>
2838:D5
AS
DC
A4
DD
20
DF
EC<63>
2280:A5
DB
£5
E7
85
DB
BO
02<D3>
2560=IC
2C
A9
10
4C
3D
E9
20 <02>
2840:A6
D3
20
51
EB
A9
00
AS<47>
2288:C6
DA
18
A2
02
B5
E2
7S<60>
2568:66
FA
B0
F6
FO
F9
10
F2<4F>
2848:A6
DD
F0
OA
91
04
CS
DO<FD>
2290:DA
95
£2
CA
10
F7
30
9E<5A>
2570= AO
02
68
69
Bl
90
48
S8<7E>
2850:FB
E6
D5
CA
DO
F6
A6
DC<5C>
2298:lÖ
A5
SB
65
E0
85
55
A5<BE>
2578:61
90
48
60
A2
01
2C
A2<;39>
2858:F0
06
91
04
C8
CA
D0
FA<98>
22Aa= 89
69
00
SS
56
60
A2
00<13>
2580:FF
A9
03
20
3A
FA
AO
00<0S>
2860:60
Ö4
£7
AO
00
84
ES
S4<1E>
22A8:S6
54
86
55
86
56
60
38<2C>
2588:9A
91
88
CB
68
AA
18
69<F0>
2360:E9
FO
10
85
E8
84
£9
C6<5S>
22B05 A5
88
E5
ED
SS
55
A5
S9<4F>
2590:03
91
BB
C8
68
48
69
00<4D>
28 /0:92
A4
92
B9
2A
DE
35
E7<29>
22B8:E9
00
85
56
60
18
A5
8A<96>
2598:91
89
8 A
48
60
85
BC
84<E7>
2878:E9
00
DE
85
E6
20
77
EB<C2>
22C0:65
El
85
54
AS
BB
69
B0<F6>
25A0EBD
60
20
4A
F0
A9
03
20<52>
2^80 ;A5
E8
C5
DB
A5
E9
E5
D9<A2>
22CßiF0
0E
60
38
A5
8 A
£5
E1<11>
25AS:3A
FA
AO
00
A9
FF
91
SB<F4>
2 Ö0 ö:B0
35
A4
E6
C4
B6
AS
E7<S0>
22D0IS5
54
A5
BB
E9
00
DO
F2<12>
25B0:CS
68
18
69
03
91
88
ce<E5>
2890;ES
D7
B0
2 ß
A5
E7
20
D4< 9E>
2209= A4
ca
A2
60
20
Bl
21
C0<S0>
25B8:60
69
00
91
88
6 C
D8
OO<0F>
2898:FC
18
A5
DC
65
E8
85
DC<F9>
22E0:BD
F0
£7
4C
38
E9
86
9A<S2>
25C0:A6
14
A5
13
A4
12
E4
14<91>
28AO;A5
DD
65
£9
06
DC
2 A
ß5<4E>
22E8:20
02
EA
20
DD
C3
A6
aA<B7>
25C8:D0
F6
86
D3
20
13
C0
A9<4B>
2ÖA8:DD
AS
A5
DC
OA
26
DD
65<A7>
22F0:86
SA
A6
90
86
08
A6
91<;AE>
25D0= 89
AO
FB
20
OB
F2
20
E0<3S>
2880=DC
AA
98
65
DD
65
D5
AS<E0>
22FS:96
89
20
66
FA
90
OC
D0<B2>
25Da:C2
A5
D3
A0
00
20
13
C0<27>
23BB:BA
65
D4
90
01
C8
60
4C<5C>
2300:0A
A0
OC
Bl
90
C5
9A
D0<7E>
25E0;4C
Dl
CO
20
02
Fß
A9
8F<7C>
2eCOs81
FO
20
A3
FD
4C
B5
EB<76>
2308:Fl
F0
08
A5
89
85
90
A5<32>
25Ea:AO
FB
20
14
F2
AO
00
A5<;B9>
23CB;20
AD
FD
4C
B5
EB
86
D3<E7>
2310:89
95
91
A9
10
20
3A
FA<06>
25F05D4
C9
40
DO
02
84
D5
e4<A7>
28D0:20
13
C0
A6
D3
86
D3
20<BD>
2318iC6
92
A6
92
A0
00
BD
00<4A>
25F8:F2
A9
24
20
51
FB
A9
60<15>
2808;FS
EA
A5
11
FO
34
A5
D4<30>
2320:DE
91
88
CS
BD
2A
DE
91<02>
2600:20
51
FB
A9
60
20
51
FB<CB>
28E0:A4
D5
A6
D3
20
A3
FD
4C<2A>
2329:88
C8
ED
54
DE
91
88
C9<1F>
2608:AO
06
A9
80
4C
51
F4
4e<AA>
28EÖ:5F
ec
86
D3
20
13
C0
A6<55>
2330:BD
7E
DE
91
88
CB
BD
A8<CE>
2610:20
ec
CI
20
B0
C2
20
DD<3B>
28F0:D3
86
D3
20
F5
EA
A5
U<11>
2338:DE
91
88
ca
BD
D2
DE
91<8A>
261Ö;C3
68
85
D5
20
OB
£4
A9<6B>
2aFBs F3
18
A5
D4
A4
D5
A6
D3<D0>
2340:88
CB
AS
D4
91
88
C8
A5<B6>
2620:00
A4
D4
C0
40
00
05
A4<BB>
2900:20
AD
FD
4C
5F
EC
20
04<: D0>
2348:E5
91
88
C8
A5
D6
91
aö<34>
2628;D5
85
D5
98
AA
4A
4A
4A<89>
2908:FE
4C
CE
ED
20
0A
FE
4C<66>
2350:C8
A5
D7
91
88
C8
A5
DS<B0>
2630:4A
20
79
FB
SA
29
0F
09<28>
2910;CE
ED
A9
80
4C
3D
£9
B6<60>
2358:91
88
CS
A5
D9
91
ea
C8<7C>
2638= 30
C9
3A
90
02
69
06
A4<SO>
2918:D3
A6
11
F0
F5
A6
D4
B6<0A>
2360= AS
BA
91
B8
C8
A9
0 O
91<DC>
2640:F2
99
80
05
E6
F2
60
41<43>
2920;88
A6
DS
S6
89
A6
D6
B6<A7>
2368:88
C8
69
AA
18
69
05
91<9E>
2648:02
56
OO
00
OO
43
04
32<6E>
2928:3C
A6
D7
86
8 D
A6
D3
4C<1B>
2370:80
C8
68
48
69
00
91
88 <6A>
2650 = 00
00
00
20
84
F3
84
EK70>
2930:77
Eß
20
59
FE
AS
D9
A4<5A>
2378:SA
48
A5
96
D0
26
A5
90<75>
1 2658=84
E2
20
DE
FB
C9
18
Ba<FC>
2930:D8
20
AF
FE
9D
OO
DB
9e<H7>
2380: 49
AS
91
48
AS
98
85
90<S£>
2660= 35
85
EO
20
2 D
FC
20
DE<1B>
2940:9D
0 O
DA
60
20
59
F£
20<31>
2389:A5
89
85
91
A5
D4
48
A6<B6>
2668:FB
C9
3C
B0
29
20
F8
FB<93>
2948:01
FF
20
AE
FE
4C
7E
FE<A5>
2390:SA
20
77
EB
68
20
4C
F9<96>
2670=20
2D
FC
20
DE
FB
C9
3C<42>
2950:20
59
FE
20
EO
FE
20
Aß<6C>
2398:90
07
68
85
91
60
85
90<aC>
2678:BO
IC
20
F8
FB
20
0C
FC<93>
29585 FE
DD
00
Oß
90
OA
D0
dc<:ee>
23A0:60
68
68
60
38
60
A9
0D<55>
2680:20
06
FC
A5
EO
A4
El
A6<25>
2960:48
98
DD
ß0
DA
68
B0
D4<40>
23A8:4G
3D
£9
86
BA
20
66
FA<05>
2639= E2
85
14
04
13
96
12
C5<:79>
2968= 60
A5
D7
A4
D6
C5
8 D
90<9C>
23B0:B0
F4
00
F2
AO
0C
Bl
90K05>
2690:14
D0
F6
4C
DO
F3
20
D0<BS>
2970=06
DO
08
C4
OC
80
04
ß5<DF:>
23BS:C3
ÖA
D0
Fl
A0
06
91
90<F5>
2698= F3
4C
9F
F3
20
09
C0
E6 <:ff>
2978:SD
84
SC
lö
AS
D4
85
aA<2C>
23C0:48
85
EB
CS
Bl
90
85
El<75>
26A0:F2
B0
F3
0A
85
E3
0A
0A<A6>
2980=65
BC
85
E0
AS
D5
85
BB<E3>
23C8=Ce
Bl
90
85
E2
CB
Bl
90<10>
26AS: 65
E3
85
£3
20
09
C0
E6<39>
29Ö8:65
SD
85
El
20
26
38<2C>
23D0iB5
£3
CS
Bl
90
S5
E4
ce<B5>
26B0:F2
B0
E3
65
E3
60
18
65<ce>
2990= A6
D3
A5
E0
FD
OO
De
ASCSO
23D8:B1
90
S5
ES
A6
8 A
20
77<CC>
26BB:£0
85
E0
90
06
E6
El
D0<F4>
2998:A5
El
FD
00
D9
60
C6
92<76>
2390:EB
20
FC
Fl
A6
SA
20
51<1E>
26C0= 02
E6
E2
60
06
EO
26
E1<A5>
29A0:A6
92
BD
00
DE
85
E2
BD<B7>
23ES:EB
68
20
4C
F9
90
lA
68<0S>
26CB;26
E2
A4
E2
A5
EO
A6
E1<0B>
29A8:2A
DE
85
E3
05
E2
FO
0A<7F>
23F0S6S
A0
OF
Bl
90
4Ö
98
Bi<AA>
26D0:06
EO
26
Hl
26
E2
06
E0<8E>
29B0:AS
DS
C5
E2
A5
D9
ES
e3<C0>
23F8:90
48
A9
10
19
65
90
85<26>
26DSs26
El
26
E2
65
EO
95
E0<E6>
Z9B81B0
0D
A9
05
4C
3D
E9
A5<F9>
2400:90
es
06
90
04
E6
91
E6<FF>
26E0:eA
65
El
85
El
99
65
E2<11>
29C0:De
05
£2
A5
D9
35
E3
C6<SE>
2403=0F
60
85
EC
AO
00
Bl
90<3F>
26E8:85
E2
60
20
06
FC
A4
E2<C6>
29CQ:92
A6
92
38
BD
00
DE
E9<1Ü>
2410=C5
D4
DO
2A
CB
Bl
90
C5<31>
26F01A5
E0
A6
El
06
EO
26
El<46>
29D0:01
85
E0
BD
2 A
DE
£9
0O<46>
2418:D5
D0
IC
C8
91
90
C5
D6<16>
26FS:26
£2
65
EO
85
E0
BA
6S<A0>
29D8:85
El
90
DE
AS
E2
E5
E0<6B>
2420:D0
15
CO
Bl
90
C5
D7
D0<AE>
2700:El
85
El
98
65
£2
06
E0<0C>
29E0;85
D6
A5
E3
E5
El
85
D7<DC>
2428;OE
CS
Bl
90
CS
08
DO
07<CE>
2708:26
El
2A
85
E2
60
20
75<83>
29E8:90
DO
05
D6
F0
CC
18
A5<B8>
2430:CS
Bl
90
C5
D9
F0
06
6A<E5>
2710:FC
86
D3
38
E9
01
C0
00<A6>
29F0iD4
65
EO
05
D4
AS
DS
65<DD>
2438:45
EC
45
D4
OA
60
05
D4<93>
2718:DO
29
C5
D3
B0
25
0A
A8<38>
29FS!E1
05
D5
60
85
E2
84
E3<14>
2440:45
EC
10
F9
6 A
49
80
0A<2F>
2720:69
85
D4
68
85
D5
ce
Bl<10>
2AOO;05
E3
F0
B6
20
77
EB
A5<42>
2448:60
20
AA
EA
A2
70
A9
04<E0>
2728= D4
85
D6
ce
Bl
D4
85
D7<95>
2A08:D6
C5
E2
AS
D7
E5
E3
BO<OF>
2450:A0
00
20
44
EE
20
69
EF<D2>
2730:6C
D6
00
86
D3
20
F9
CA<D5>
2A10sE6
90
A7
48
20
77
EB
A6<F7>
2458:C9
FB
D0
6 C
20
69
EF
C9<E2>
2738;90
07
A5
D4
A4
D5
A6
D3<29>
2A18:D6
86
£2
A6
D7
86
E3
68<9A>
24605 C2
D0
65
85
BD
85
9B
A9<6E>
2740:60
68
68
06
D3
68
65
D3<ßE>
2A20:38
E9
01
85
E0
98
4C
is<co:>
2468:20
ÖD
6 F
22
A9
ED
9D
7a<B6>
2748:A8
68
69
00
48
98
48
6a<87>
2 A2S:FF
85
D4
A9
21
48
48
a6<5E>
2470:22
A9
E9
SD
71
22
20
69<E7>
2750:20
75
FC
18
90
-04
20
75<0£>
2A30:D6
06
D7
BA
Fa
16
A6
92<7B>
2478:EF
SS
00
20
69
EF
85
Öl<DE>
2758:FC
38
08
86
D3
38
E9
01 <66>
2A38:A5
D4
48
98
48
CA
BD
00<B3>
2480:20
69
EF
85
82
20
69
EF<BD>
2760:CO
O0
D0
DE
C5
D3
BO
DA<15>
2A40:DE
BC
2A
DE
C6
D6
DO
F2<F0>
2488:85
83
20
69
EF
85
84
20<41>
2768:AA
A9
03
20
3A
FA
A0
00<53>
2A4B!85
D4
86
92
84
DS
A5
D7<BD>
2490=69
EF
95
SS
A9
6 F
AO
22<2A>
2770:A9
FF
28
6 A
91
SB
ca
06<ß6>
2AS0=4e
4C
17
21
A5
C3
AO
00<3B>
2498:85
88
84
89
38
AS
84
E9<74>
2778:D3
68
B5
D4
65
D3
91
Ba<11>
2A58:4C
13
Cß
A5
BA
A4
Bß
4c<ai>
24A0:6F
AA
A5
SS
E9
22
A8
8 A< 30>
2780=CB
68
85
D5
69
00
91
e8<7E>
2 A60:13
CO
86
D4
18
65
D4
90<CA>
24A8:20
4B
EF
A2
FF
9A
86
11<D5>
2788=BA
OA
AS
4C
68
FC
A5
D7<23>
2A6S:03
C8
Fß
ßD
6 ß
86
D4
38<F1>
24B0:S6
BD
es
96
96
B6
95
86 <&E>
2790;A4
D6
85
DB
84
DA
AO
0O<49>
2A70:E5
D4
BO
F8
88
Cß
FF
D0<B2>
24B8:FE
86
9B
20
0 F
FA
20
AA<FF>
2798:84
DC
84
DD
A0
10
46
D9<90>
2A78:F3
4C
29
F5
00
00
OO
O0<CD>
24C05 EA
A9
0A
95
C9
4C
6 F
22<AD>
27A0:66
DS
90
0F
iö
A5
DC
65<EA>
10876 Bytes
24C8:A9
15
4C
3D
E9
A9
00
AA<1B>
27A8;DA
85
DC
A5
DD
65
DB
85<92>
Listing 2. Turbo-Basic-Compiler-Runtime-Paket (Schluß)
60
TURBO-BASIC
Von der
Ordnung zum
Chaos -
Apfelmänn¬
chen auf dem
Atari
Faszinierende Grafiken von nahezu unendlicher
Vielfalt erzeugt das Programm »Apfelmännchen«
auf dem Atari 800XL in Turbo-Basic.
G rundlage dieses Programms ist ein Teilgebiet der
Mathematik von gro6er Komplexität. Es handelt sich
um die Berechnung und Betrachtung der sogenann¬
ten Mandelbrot-Menge und speziell deren Grenzschichten.
Diese Menge, benannt nach dem Wissenschaftler Benoit B.
Mandelbrot, besteht aus einer Folge von komplexen Zahlen,
die sich recht merkwürdig verhalten. Trägt man die beiden
Komponenten jeder komplexen Zahl, die sich aus diesem
Algorithmus ergibt, auf die Abszisse und die Ordinate eines
Koordinatensystems auf, so erhält man Grafiken, die kuriose
Eigenschaften aufweisen.
Um den grundlegenden Algorithmus zu verstehen, muß
man sich etwas näher mit den Eigenschaften komplexer Zah¬
len auseinandersetzen. Eine komplexe Zahl besteht immer
aus zwei Komponenten, dem Realteil und dem Imaginärteil.
Die Schreibweise erfolgt in der Form: »C=a-l-bi«. Die kom¬
plexe Zahl C ergibt sich also aus dem Realteil a und dem Ima¬
ginärteil b. Der Buchstabe i steht für eine Konstante und
unterliegt folgender Definition: »P=-1«. Die Rechenregeln
der komplexen Zahlen weichen jedoch von denen der reellen
Zahlen ab. Geht man bei der Addition noch in gewohnter
Weise vor und addiert Real- und Imaginärteil einfach separat,
ist das Multiplizieren schon etwas komplizierter. So ergibt
sich »(a+bi)*(c-l-di}<( zu »(a*c-b*d)-l-(a*d-l-b*c)*i«. Wer
diese Formel genauer betrachtet, wird feststeilen, daß sich
»P« aufgrund seiner Definition zu -1 aufgelöst hat.
Beim »Apfelmännchen« geht man von der komplexen Zahl
Null aus, zieht eine komplexe Zahl C ab und quadriert das
Ergebnis. Nun zieht man erneut C ab und quadriert das Ganze
wiederum. Dieser Vorgang wiederholt sich so lange, bis ein
vorher festgelegtes Grenzkriterium überschritten wird. Alle
Zahlen, die hierbei gegen Unendlich streben, gehören zur
Mandelbrot-Menge. Am Rand dieser Menge stellt sich
jedoch ein seltsamer Effekt ein. Hier fallen oder steigen die
Zahlen bei wechselndem Vorzeichen scheinbar völlig regel¬
los. Dies ist der für die Grafik interessante Teil der
Mandelbrot-Menge. Zwei Grenzlciterien legen nun fest, ob
man sich innerhalb oder außerhalb beziehungsweise am
Rand der Mandelbrot-Ebene befindet. Das erste Kriterium
bricht den Algorithmus nach einer vorher festgeiegten Zahl
von Durchgängen ab. Im Listing geschieht dies durch die
Variable »TMAX«. Wird dieser Wert erreicht, nimmt man an,
daß die Folge gegen Unendlich strebt. Der Punkt auf dem
Bildschirm erhält die Farbe Schwarz. Im anderen Fall wurde
das zweite Grenzlciterium zuerst erreicht. Dies ist dann der
Fall, wenn die komplexe Zahl einen bestimmten Wert über¬
schreitet. Im Listing wurde der Grenzwert 8 angenommen,
der jedoch keine feste Größe darstellt, und fast beliebig
geändert werden kann. Die zuzuordnende Farbe wird nun
von der Anzahl der Iterationen abhängig gemacht. Im Listing
geschieht dies mit der Zuordnung »TIEFE MOD 3-1-1«. Diese
Berechnung kann zu den Farben Eins, Zwei und Drei, niemals
jedoch zu der Farbe Null führen.
Für jeden Punkt, der berechnet werden soll, wird natürlich
eine andere komplexe Zahl C gewählt. Die Umgebung der
Mandelbrot-Ebene ergibt sich für folgende Werte; Realteil
von -2 bis 1 und Imaginärteii von -1.5 bis 1.5. Innerhalb die¬
ser Grenzen kann man nun beliebig kleine Ausschnitte auf
dem Bildschirm darstellen, also Teilbereiche der Menge
gewissermaßen vergrößern. Dabei stellt man fest, daß immer
neue Grafiken oder Figuren entstehen, die zum Teil zu ande¬
ren Ausschnitten ähnlich, aber nie genau gleich sind. Die ein¬
zige Einschränkung, die hierbei vom Computer auferlegt
wird, liegt in der begrenzten Rechengenauigkeit. Bei theore¬
tisch unendlicher Rechengenauigkeit ließe sich die Grafik
unendlich oft vergrößern. Geht man also beispielsweise von
den Grenzen und 1 aus, so wären als nächste .Vergrö¬
ßerungsstufe die Werte -0.5,0.5,-0.5 und 0,5 denkbar. Hal¬
biert man diese Werte immer wieder, so ist klar ersichtlich,
daß auch eine zehnstellige Rechengenauigkeit bald nicht
mehr zur Darstellung der Zahlen genügt.
Komplexe Formel, schöne Grafik
Zur Realisierung dieses Programms auf dem Atari wurde
als Programmiersprache Turbo-ßasic XL gewählt. Die zirka
viermal so hohe Rechengeschwindigkeit, die diese Sprache
gegenüber dem normalen Basic aufweist, ist für eine akzep¬
table Rechendauer unbedingt notwendig. Die Grafik wird in
Grafikstufe 15 erzeugt. Dies bedeutet, daß genau 30720
Bildpunkte berechnet werden müssen. Abhängig von der
maximalen Iterationszahl, die man mit »TMAX« bestimmt hat,
kann jeder Punkt zudem bis zu 250mal berechnet werden.
Selbst unter Turbo-Basic XL führt dies in Extremfällen zu
Rechenzeiten von acht Stunden und mehr. Die Programmie¬
rung in Atari-Basic erscheint also wenig sinnvoll, will man
nicht ein bis zwei Tage auf die Vollendung einer Grafik warten.
Handhabung des Programms
Nach dem Starten des Programms kommt man in das zen¬
trale Menü, von dem aus alle Funktionen direkt ansprechbar
sind. Punkt eins des Menüs betrifft den Start eines Apfel¬
männchens. Man muß zuerst die obere und untere Grenze
des Real- und tmaginärbereichs eingeben. Auf die Frage
PROGRAMM-STECKBRIEF
Programm name
Apfelmännchen
Programmtyp
Grafik
Programmiersprache
Turbo-Basic XL
Programmiänge
7155 Byte
für Computer
800 XL130 XE ,
zusätzliche Hardware
Diskettenlaufwerk
Eingabehilfe
Prüfsummer
Bemerkung
Erzeugt und speichert Grafiken, die
mittels einer spezielien mathematischen
Formel berechnet werden. Auf der
Leserservice-Diskette sind einige fer¬
tige Grafiken bereits gespeichert.
Leserservice
Diskette (APFELTUR)
TURBO-BASIC
»TIEFE?« antwortet man mit der maximalen Anzahl der Itera¬
tionen. die man zur Berechnung jedes Punktes zulassen will.
Je höher man diesen Wert wählt, desto feiner werden die
Grenzbereiche zur Mandelbrot-Ebene berechnet. Dies
bedeutet allerdings auch eine Erhöhung der Rechenzeit, so
d£ü5 man hier meist Kompromisse eingehen wird. Die Berech¬
nung der Grafik kann dann auf dem Bildschirm mitverfolgt
werden. Nach der Fertigstellung springt das Programm
zurück ins Hauptmenü. Das fertige Bild kann man nun mit
Option 2 auf dem Bildschirm betrachten. Mit den Tasten 0,1,
2, und 3 werden die vier Grundfarben nach Belieben nach¬
träglich geändert. Mit Hilfe des dritten Menüpunktes spei¬
chert man das fertige Bild. Wie es auch im Micropainterformat
üblich ist, werden am Ende des Bildes vier Byte angehängt,
die Auskunft über die verwendeten Farben geben. Zusätzlich
speichert das Programm allerdings noch die eingegebenen
Parameter. So kann man mit Punkt vier des Menüs also auch
nur solche Bilder von Diskette laden, die das eben beschrie¬
bene Format besitzen.
Apfelmännchen schön und bunt
Das Inhaltsverzeichnis einer Diskette erhält man mit Punkt
fünf des Menüs. Der sechste Punkt, nämlich »Effekte«, läßt
die drei Vordergundfarben eines Apfelmännchens über den
Bildschirm »fließen«. Dies gibt der Grafik je nach Aussehen
interessante, teilweise räumlich wirkende Effekte.
Um das Vergrößern einzelner Bildteile zu erleichtern,
wurde Menüpunkt sieben aufgenommen. Mit Hilfe eines Joy¬
sticks kann man einen Bildausschnitt eingrenzen und erneut
berechnen lassen. Dies geschieht, indem man zwei Eck¬
punkte eines gedachten Rechtecks entsprechend auf dem
Bildschirm plaziert. Welchen der Eckpunkte man bewegen
will, wird mit der Feuertaste gewählt. Die Berechnung der
neuen Grafikbeginnt nach dem Drücken der STARTTaste. Will
man sich die neuen Parameter vorher noch ansehen, so wählt
man einfach OPTION. Funktion acht des Menüs zeigt nun die
Parameter, und mit Punkt neun startet die Berechnung des
neuen Apfelmännchens.
Zum Programmaufbau
Das Programm »Apfelmännchen« wurde in Turbo-Basic XL
geschrieben und konnte daher nicht nur wesentlich schnel¬
ler, sondern auch strukturierter als im normalen Basic ange¬
legt werden. So wird es auf den ersten Blick auffallen, daß
beispielsweise auf Zeilennummern-orientierte Sprunganwei¬
sungen mit Ausnahme der »TRAP«-Befehle vollständig ver¬
zichtet wurde Alle Hauptprogrammteile und Unterroutinen
sind als Prozeduren angelegt und sinngemäß benannt.
Die Hauptschleife besteht aus einer DO-LOOP-Anweisung
von Zeile 95 bis Zeile 240. Hier wird das Hauptmenü auf den
Bildschirm gebracht, und von hier aus erfolgt der Sprung zu
allen wesentlichen Prozeduren. Die einzelnen Prozeduren:
DECLARE
Es erfolgt die Dimensionierung aller Stringvariablen sowie
die Erstbelegung der Variablen für die Änderung der Farbre-
gister. Das Aussehen der beiden Player, die für die Aus¬
schnittberechnung benötigt werden, legen die Variablen LO$
und RU$ fest.
RECHNEN
Hier findet man den Berechnungsalgorithmus, wie er im
wesentlichen bereits erklärt wurde. Verwendung findet die
Grafikstufe 15; man verfügt also über vier Farben bei einer
Auflösung von 160 mal 192 Bildpunkten. Es wäre auch eine
andere Grafikstufe denkbar. In diesem Fall müßten folgende
Änderungen vorgenommen werden: Anpassung der Varia¬
blen DX, DY sowie der Schleifen ZEILE und SPALTE an die
neue Auflösung. In Zeile 1230 muß anstatt der drei die Anzahl
der Farben minus eins eingesetzt werden.
EFFEKTE
Die drei Farbregisterfür die Vordergrundfarben werden mit
verschiedenen Farbwerten belegt. Durch die Verschiebung
der Farben entsteht der Eindruck des Fließens.
PARAMETER
Hier gibt man die Randwerte für ein neues Apfelmännchen
ein. Ist dies geschehen, wird die Prozedur RECHNEN aufge¬
rufen.
SEHEN
Über die Prozedur BILDHOLEN wird das momentan im
Speicher befindliche Apfelm^nchen auf dem Bildschirm
dargestellt. Die Rirbregister708, 709,710 und 712 werden
durch Drücken der Tasten 0 bis 3 jeweils um den Wert eins
inkrementiert Die REPEAT-Anweisung wird bis zum Betäti¬
gen der Leertaste ausgeführt.
SPEICHERN
Zuerst erfolgt der Aufruf der Prozedur »FILEGET«. Dabei
wird der Filename des Bildes gelesen, auf Fehler überprüft
und gegebenenfalls ergänzt. Mit dem BPUT-Befehl wird der
Inhalt des Bildschirmspeichers auf Diskette abgelegt. Es fol¬
gen die vier F^rbbytes und die Parameter. Da es sich bei letz¬
teren um Gleitkommaz^Ien handelt, werden sie als Strings
gespeichert.
LADEN
Diese Prozedur entspricht fast vollständig der Prozedur
»SPEICHERN«. Alle Schreibbefehle sind sinngemäß in Lese¬
befehle umgewandelt. Eventuell auftretende Fehler bei der
Diskettenhandhabung werden von TRAP-Routinen s^gefan-
gen.
DIRECTORY
Der linke Bildrand wird auf Position 7 gesetzt und das Direc¬
tory mit dem DIR-Befehl aufgerufen. Nach Betätigung einer
Taste erfolgt der Rücksprung ins Hauptmenü.
Ausschnitt
Diese Prozedur setzt sich aus mehreren Unterprogrammen
zusammen. PMINIT initialisiert die grundsätzlichen Vorein¬
stellungen für den Player/Missile-Aufruf. Verwendung finden
die Player null und eins. Sie werden in Einzelzeilen-Auflösung
dargestellt. Ihre Farbe ist Weiß und die erste Position wird
durch die Variablen XO, YO, XI und Y1 definiert. PMBUILD
positioniert die beiden Player auf dem Bildschirm. Der Aufbau
erfolgt dabei durch den MOVE-Befehl. Die folgende REPEAT-
Anweisung fragt den Joystick und die Sondertasten ab.
Abhängig von der Auslenkrichtung des Joysticks werden die
Prozeduren »PMLEFT«, »PMRIGHT«, »PMUP« und
»PMDOWN« angesprungen. Sie versetzen den jeweiligen
Player um einen Pixel in die gewünschte Richtung. Ist die
Positionierung abgeschlossen, werden die alten Parameter
durch die neuen Werte ersetzt. Die Prozedur »PMEXIT«
schaltet zuletzt die beiden Player wieder aus.
PARAMANZ
Hier werden lediglich die aktuellen F^ameter auf dem Bild¬
schirm angezeigf. Nach dem Betätigen einer beliebigen Taste
gelangt man wieder ins HauptmenO.
(Wolfgang Czerny/wb)
TURBO-BASIC
10 — <.YW>
15 REM — Apfelmaenntzhen, in — <DT>
17 REH - Turbo-Basic XL -fuer - <FU>
19 REH — Atari—Computer mit - <CE>
20 REM — mindestens 4B KByte-RAM- <EtC>
25 REM - - <KM>
27 REM — Programmiert von - <RA>
29 REM - Wol-fgang Czerny — <AR>
30 REM — Cc) Happy—Computer - <LL>
35 — <2I>
90 EXEC DECLARE <YX>
95 DO <RA>
100 GRAPHICS 0:POKE 752,1 <GU>
110 POKE 709,0;POKE 7l0,lß:POKE 712,10 <BY>
115 POKE 82,0 <HV>
120 POSITIQM 9,ls2 "HAUPTHENUE" <XC>
13ß POSITION 9,2:2 "-“ <BC>
140 POSITION 3,5:2 " (1 > j^^Ä-^Parameter ^ei nq
eben'“ <SM>
150 POSITION 3,7:2 " C2> 1 d^ansehen" <AW>
160 POSITION 3,9:2 C3) 1 d^speichern
<DV>
170 POSITION 3,11:2 ““ (4)-.*^Bild^laden“ <140>
188 POSITION 3,13:? " C5) ^^^Di rector y^* <iy>
190 POSITION 3,15:2 16) *^^E4f ekte" <GC>
195 POSITION 3,17:2 " (7) **>.Auschnitt" <JF>
197 POSITION 3,19:2 " <8) *A*.Parameter^anz
eigen” <WK>
199 POSITION 3,21:2 ** (9) ***Rec:hnen<RF>
200 POSITION 3,23:7 ”C0>^^^Ende"; <EA>
205 REPEAT <DH>
210 SET EIN <HE>
220 UNTIL ElN>4r7 AND EIN<58 <OH>
225 IF EIN=48 THEN EXIT <EF>
230 DN ErN-4a EXEC PARAMETER,SEHEN,SPEIC
HERN,LADEN,DIRECTORY,EFFEKTE,AUSSCHNITT,
PARAHANZ,RECHNEN < XD >
240 LOOP <CF>
250 END <XX>
1000 — <V£>
1002 REM “ Rechenrauliine <IU>
1003 — <VQ>
1009 PROC RECHNEN <NR>
1010 GRAPHICS 15+16:POKE 764,255 <QS>
1030 DX=^tXMAX-XMIN)/159 <MN>
1048 DY=CYMAX-YMIN>/191 <KE>
1050 CX=XMIN:CY=YMAX <SU>
1080 FOR ZEILE=0 TD 191 <FH>
1090 FOR SPALTE=0 TO 159 <WH>
1110 TI=0:XW=0:YW=0:X2=0:Y2=^0 <JY>
1120 WHILE TKTMAX AND CX2+Y2)<8 <PY>
1130 YW-^2*XW*YW-CY: XW=X2-V2-CX <TU>
1150 X2=XW""2: Y2^VW^2:TI=TI + 1 <XN>
11Ö0 WEND <UE>
1190 IF TI^TMAX <FI>
1200 COLOR 7-0 <QL>
1220 ELSE <TE>
1230 COLGR tTI MOD 3)+7-1 <ID>
1240 ENDIF <SW>
1258 CX=CX+DX:PLQT SPALTE,ZEILE <XA>
1260 IF FEEK(764)=2e THEN POP :60TQ 1295 <FH>
1270 NEXT SPALTE <DB>
1280 CX==XMINiCY^CY-Dy <DC>
1290 NEXT ZEILE <6B>
1295 EXEC BILDSPEICHERN <WL>
1300 ENDPROC <01>
1301 — <V0>
1302 REM - Bildeffekte - <DV>
1303 — <VW>
1305 PROC EFFEKTE <JT>
1310 EXEC BILDHOLEN <IF>
1370 POKE 764,255 <GS>
1375 REPEAT <FU>
1380 POKE 788,COL0; POKE 709,COLI <GEE>
1390 POKE 710,C0L2:PAUSE 5 <HI>
1400 POKE 70S,COL1:POKE 709,COL2 <RG>
1410 POKE 710,COL0:PAUSE 5 <FC>
1420 POKE 708,bOL2:POKE 709,COL0 <PS>
1430 POKE 710,COLi:PAUSE 5 <GA>
1455 UNTIL PEEK (764)0255 <XF>
1460 ENDPROC <PC>
1470 — <WH>
1480 REM — Parametereingabe - <MK>
1490 — <WN>
2000 PROC PARAMETER <UK>
2005 REPEAT <EU>
2010 TRAP 2010 <LV>
2020 CLS :POKE 752,0 <NK>
2030 POSITION 9,3:2 "PARAMETER^EINGEBEN" <WB>
2040 POSITION 9,4:2 --- ——<YI>
2045 REPEAT <FG>
2050 POSITION 3,7; INPUT ”Linker-..Rand*=^"
;XHIN <SZ>
2060 POSITION 3,9:INPUT ”Rechter^Rand^=^
";XMAX <HT>
2065 UNTIL XMIN<XMAX <PB>
2067 REPEAT <FU>
2070 POSITION 3, 11: INPUT ''Unterer^Rand*=
^’';YMAX <SS>
2080 POSITION 3,13: INPUT "Ob er er-..Ran d*=*
‘■;YMIN <WL>
2082 UNTIL YMAX<YMIN <FO>
2083 REPEAT <FK>
2085 POSITION 3,15: INPUT '“Tief e^(5-..-^254
>^^";TMAX <DJ>
2087 UNTIL TMAX>4 AND TMAX<255 <WJ>
2090 POSITION 3,20:2 "ALCES-..IN*0RDNUN6*7
*<J/N)"; <D0>
2071 REPEAT <FF>
2092 GET EIN <JJ>
2093 UNTIL EIN=74 OR EIN=78 <2R>
2094 UNTIL EIN=74 <KG>
2095 EXEC RECHNEN <KD>
2188 ENDPROC <OF>
2110 — <VK>
2120 REM - Bild ansehen - <DP>
2130 — <YQ>
3080 PROC SEHEN <YF>
3010 EXEC BILDHOLEN <IB>
3015 REPEAT <EY>
3017 REPEAT <FG>
3020 GET EIN <IH>
3040 UNTIL (EIN>47 AND EIN<52> OR £IN=32 <UQ>
3050 IF EIN-48=0 THEN COL0=COL0+1:IF COL
0>255 THEN CaL0=COL0-256 <ZQ>
3060 IF EIN-48=1 THEN C0L1=C0L1+1:IF COL
1>255 THEN COL1=C0L1-256 <I0>
3070 IF EIN-4S^2 THEN CDL2=CDL2+l:IF COL
2>255 THEN C0L2=C0L2-2S6 <RM>
3080 IF EIN-4S=3 THEN C0L3=CQL3+1:IF COL
3>255 THEN C0L3=C0L3-256 <AK>
3090 POKE 708,COLO:POKE 709,COLI:POKE 71
0,COL2:PDKE 712,C0L3 <XJ>
3100 UNTIL EIN=32 <EY>
3110 EXEC BILDSPEICHERN <UT>
3900 ENDPROC <OW >
3990 — <WZ>
3992 REM - Bild auf Diskette - <KC>
3993 REM - speichern — <GS>
3994 — <XP>
4000 PROC SPEICHERN <SV>
4010 CLS <TL>
4020 POSITION 9,3:? ”BILD*SPEICHERN" <BX>
4030 POSITION 9,4:7 "- ™“'. <TL>
4050 EXEC FILEQET <IN>
4100 EXEC BILDHQLEN <IB>
4110 DPEN #1,8,0,DAT^ <SV>
4128 BPÜT Äl,DPEEK<8a),7688 <EU>
4130 PUT #1,COL0,CQL1,CDL2,COL3 <PH>
4140 PRINT #1,STR#CXMIN> <DJ>
4150 PRINT #1,STR$(XMAX> <FQ>
4160 PRINT #l,STRf(YMIN) <EJ>
Turbo-Basic XL-üsting zu »Apfelmännchen«
TURBO-BASIC
4170
PRINT #1 ,STR:^<YMAX>
%
<GD>
8140
XDELTA=X1POS-X0POS
<CH>
41S0
PRINT #1^STR$(TMAX}
<CV>
8145
DSOUND
<JG>
4190
CLQSE #1
<NP>
8150
UNTIL C3TART=h^ OR STARTES) AND XDEL
4900
ENDPRÜC
<0X>
TA>1
AND yDELTA>l
<T3>
4990
—
<XA>
8160
DEX=^203-40s DEY=223-32
<DS>
4992
REM — Bild von Diskette —
<;qj>
8170
DXD= CXMAX-XMIN>/DEX
<CP>
4993
REM “ l^den, —
<ZH>
8180
DYD= <YMAX-YMIN)/DEY
<EY>
4994
—
<X0>
8190
XMlNN=XMIN+DXD-)t CX0POS-44)
<VS>
3000
PROC LADEN
<RM>
8200
XMAXN=XMIN+DXD*(XlPOS-35)
<WR>
5010
CLS
<TM>
8210
YMINN=YMIN+DYD* C Y0POS-30)
<R0>
5020
POSITION 9^3i2 "EILD^LADEN"
<I6>
8220
YMAXN=YMIN+DYD* CYlF0S-2a)
<BK>
5030
POSITION 9,4:7 "-"
<QI>
8230
TMAX=254
<DC>
5050
EXEC FILEGET
<I0>
8240
XMIN^XMINN:XMAX=XMAXN
<X2>
5100
GRAPHICS 15+16
<FR>
8250
YMIN=YMINN:YMAX=YMAXN
<AG>
5110
OPEN #1,4,0,DAT^
<QS>
8260
EXEC PMEXIT
<Dr>
5120
EGET #1, DPEEK 488) , 7680
<XM>
8270
IF START=6 THEN EXEC RECHNEN
<ZC>
5125
,GET # 1, COLO T COL1 , C0L2 , C0L3
<JF>
8900
ENDPROC
<PB>
5130
INPUT #1,E$:XHIN^VALCEi)
<6M> ’
8990
—
<XE>
5140
INPUT #1,E$:XMAX=VALCE^)
<IN>
8991
REM — Player Missile—Gra-Fik
<JV>
5150
INPUT #l,E*:YMIN==VALtEt:>
<HK>
B992
REM - initialisieren —
<QJ>
5160
INFUT 4H,E^P;YMAX=VAL(E^>
<DL>
8993
—
<XQ>
5165
INPUT #l,E*sTMAX=VfM_(E*)
<GT>
9000
PROC PMINIT
<DA>
5170
CLOSE #1
<NK>
9010
PMB=PEEK(106}-40:POKE 54279,PMB
<MV>
51B0
EXEC BILDSPEICHERN
<VQ>
9020
PMB=PMBifr256:P0KE 559,62
<XL>
5190
ENDPROC
<P3>
9030
POKE 53256,0:PDKE 53257,0
<YU>
5199
—
<XV>
9040
PMNR=0:POKE 704,255:POKE 705,255
<HP>
5200
REM ~ Directcary auT dem ”
<PR>
9050
MOVE ADR(LEER* >,PMB+1024,256
<BE>
5210
REM — Bildschirm ausgeben ^
<FI>
9060
MOVE ADR(LEER*),PMB+1280,256
<FJ>
5220
—
<VS>
9070
X0POS=44 : Y0POS--30
<DF>
6000
PROC DIRECTORY
<JQ>
9080
X1P0S^198:YlPaS=218
<GF>
6010
CLS :POKE 82,7:7
<XG>
9090
ENDPROC
<PL>
6020
DIR
<ST>
9092
—
<WV>
6030
GET EIN
<IN>
9093
REM - Player Missiles auf— —
<FG>
6035
POKE 82,0
<LP>
9094
REM — bauen und mani— —
<KO>
6040
ENDPROC
<0T>
9095
REM - pulieren -
<SK>
6050
—
<VY>
9099
—
<XX>
6060
REM — Filename abfragen —
<VX>
9100
PROC PMBÜILD
<QX>
6070
—-
<W£>
9110
POKE 53277,3
<EX>
7000
PROC FILEGET
<MB>
9120
POKE 53248,X0PaS:POKE 53249,XIPOS
<R2>
7005
TRAF 7005
<RC>
9130
MOVE ADR(LO* >,PMB+1024+Y0POS,8
<NX>
7007
FOKE 752,0
<PC>
9140
MOVE ADR(RU*),PMB+1280+Y1PDS,8
< AC> '
7010
POSITION 3,7=INPUT "WELCHER*FILE-NA
9190
ENDPROC
<FN>
ME*" ^
;FILES
<JL>
9200
PROC PMEXIT
<G0>
7020
DATS=" ******-..-..****-*.**"
<A0>
9210
POKE 53277,0
<DA>
7050
IF FILE#<1,2)<>"D:"
<£N>
9220
POKE 559,34
<YW>
7060
DATS(3,LEN CFILES)+2)=FILES
<TB>
9230
MOVE ADR(LEER*),PMB+1024,256
<BC>
7070
DATS(1,2)="D="
<CH>
9240
MOVE ADR C LEER*),PMB+1280,256
<FH>
7080
ELSE
<TY>
9250
ENDPROC
<PD>
7090
DATS^FILES
<UD>
9270
—
<WR>
7095
ENDIF
<UH>
9292
REM — Player Missiles nach —
<NS>
7110
TRAP 20000
<NK>
9293
REM ■" oben bewegen “
<MD>
7900
ENDPROC
<PA>
9294
—
<XH>
7990
—
<XD>
9300
PROC PMUP
<UN>
7992
REM - Ausschnitt waehlen -
<MB>
9310
IF PMNR-0
<VJ>
7993
REM — iiXGT diesen Progranim— —
<PA>
9312
Y0PQS=Y0POS-1
<UY>
7994
REM - teil wird ein Joy— —
<YA>
9314
IF Y0POS<30 THEN Y0POS=30
<XU>
7995
REM - stick benoetigt -
<VL>
9317
MOVE ADRCLOS),PMB+1024+Y0POS,8
<ox>
7996
—
<YB>
931B
ENDIF
<UD>
8000
PROC AUSSCHNITT
<QS>
9320
IF PMWR=1
<WA>
8010
EXEC BILDHOLEN
<I6>
9322
YlPas=YlPOS“l
<W>
8015
EXEC PMINIT
<2W>
9324
IF YlPOS<28 THEN YlP0S=2a
<LR>
8020
EXEC PMßUILD
<NA>
9327
MOVE ADRCRü*),PMB+12S0+Y1PQS,8
<BC>
8022
REPEAT
<EU>
9328
ENDIF
<UG>
8024
REPEAT
<FC>
9390
ENDPROC
<PR>
8030
JOY=STICKC0)
<CP>
9392
—
<XB>
8040
PRESS=STRIBC0>
<FG>
9393
REM - Player Missiles nach -
<NY>
8045
START=PEEK C53279)
<IL>
9394
REM — unten bewegen -
<RN>
8050
UNTIL J0YO15 ÜR PRESS=0 OR STARTO
9399
—
<YD>
7
<NG>
9400
PROC PMDOWN
<FT>
8060
IF JÜY=11 THEN EXEC PMLEFT
<AA>
9410
IF PMNR=0
<VL>
8070
IF JOY=7 THEN EXEC PMRIGHT
<E0>
9412
Y0POS=Y0POS+1
<TS>
8080
IF J0Y=^14 THEN EXEC FMUP
<YX>
9414
IF Y0POS>221 THEN YOPOS=221
<YA>
8090
IF JOY=l3 THEN EXEC PMDQWN
<QL>
9416
MOVE ADRtLQ*),PMB+1024+Y0POS,S
<0V>
8100
IF PRESS=0 AND PMNR=0
<MY>
9418
ENDIF
<UF>
8105
PMNR=l=SaUND 0,10,10,1O=PAUSE
10
<PY>
9420
IF PMNR=1
<WC>
8107
ELSE
<UF>
9422
YlPOS=YlPOS+l
<UP>
8110
IF PRESS=0 AND PMNR=1 THEN PMNR=0:5
9424
IF Y1POS>218 THEN Y1P0S=218
<KW>
OUND
0,100,10,10:PAUSE 10
<uu>
9426
MOVE ADR(RU*>,PMB+12B0+Y1PDS,8
<BA>
8120
ENDIF
<S9>
9428
ENDIF
<UI>
8130
VDELTA=Y1POS-Y0FOS
<DD>
9590
ENDPROC
<PV>
Turbo-Basic XL-Listing zu »Apfelmäimchen«
(Fortsetzung auf Seite 66)
tm 4416/2
Jeder kann prograimnieren
Computersprache für Eltern und Kinder
DANIEL WATT
LOGO,,.Ergebnis der Erforschung menschlicher
Intelligenz
Entwickelt von Seymour Papert, Pädagoge und Mathematik¬
professor.
Erste Computersprache, die bewußt Strategien menschlichen
Denkens dient — und in ihrer Logik der Realität gerecht wird.
LOGO ersetzt BASIC, sagen Pädagogen und Mathematiker.
LOGO kommt dem übergreifenden, assoziativen Denken
entgegen. BASIC dagegen ist ein Setzkasten von Logik Buch¬
staben.
DANIEL WATT ,,, hat im Team von Seymour Papert
gearbeitet und ein Buch geschrieben, das voller Bilder seine
Erlebnisse mit Kindern am Computer wiedergibt Ein hochwer¬
tiges Textbuch für LOGO-Kurse, Ein Buch für Lehrer, die nach
einem bereits von Schulbehörden empfohlenen LOGO-Kurs-
buch suchen.
Ein Buch für APPLE H C-64, IBM PC, ATARI bis 520 ST, TI-99 und Schneider CPCs.
3S4 Seiten, A4, DM 59,-
“Buch des Jahres 1983”
in den USA
ta-ui
te-wi Verlag GmbH
Theo-Prosel-Wcg 1
8000 München 40
COMPOT&tfiUt KtmtK
CemmAoft C-fA'
Ein Buch für Kinder und ihre Lehrer - ein kindgemäßes Buch für die erste Be¬
gegnung mit Computern, ihren Eigen Willigkeiten, und ihren unerschöpflichen
Möglichkeiten. Ein Buch zu unserer Gegenwart und zur Zukunft unserer Kinder
„Computer für Kinder” richtet sich an Kinder im Alter von 8 bis 13 Jahreru für
deren Interesse an Computern keines der unzähligen Computer-Bücher ge¬
schrieben wurde.
„Computer für Kinder” ist ganz auf Kinder eingestellt und be¬
schäftigt sich unterhaltsam und leicht verständlich mit folgenden
Themen:
Wie arbeite« Computer
Wie funktioniert mein Computer
Wie programmiert man mit einfachen Flußdiagrammen
Wie kann ich BASIC leicht verstehen
Programme aufbauen mit Befehlen
Farbige Graphiken entwerfen
Erklärung von Computer-Begriffen
Saily Greenwood Larson war Kindergärtneria ehe sie
selbst Computern begegnete und zwischen den Welten
von Kindern und Computern zu vermitteln begann.
Computer für Kinder, A4 quer, Fadenheftung,
über 100 Seiten, je Ausgabe DM 29,80
vorliegend für; VC 20, C 64, Apple II, Atari
C-64
nBU
BWEUDTMUlll
srniciuimi
FUecOMMOOO
DM 29.80
DM 29,80
DM 59,- DM 199,-
DM 239.-
DM 49.-
DM 36,-
TURBO-BASIC
9592 —
<XF>
11040 ENDPROC
<UP>
9593 REM — Player Missiles nach —
<OC>
11100 —
<JH>
9594 REM - links bewegen -
<WZ>
11102 REM — Bild speichern und —
<HU>
9599 —
<YH>
11103 REM “ Parameter anzeigen —
<UN>
9600 PRGC PMLEFT
<YK>
11104 —
<KS>
9620 IF PMNR=0
<VS>
11110 PROC BILDSPEICHERN
<HD>
9622 X0PaB=X0PaS-l
<UP>
11120 MOVE DPEEKC8S),ADRtSCREEN#>,7680
<AB>
7624 IF X0POS<44 THEN X0POS=44
<FR>
11130 ENDPROC
<UD>
9626 POKE 53248,X0POS
<OZ>
15000 PROC PARAMANZ
<PR>
9628 EKDIF
<UM>
15010 CLS
<DD>
9630 IF PnNR=l
<WJ>
15020 POSITION 9,3:? “PARAMETER-^ANZEIGEN
9632 X1P0S=X1P0S-1
<VM>
<TP>
9634 IF X1P0S<43 THEN X1PÜS=43
<FI>
15030 POSITION 9,4;? "----
9636 POKE 53249,XIPOS
<QJ>
■1
<CC>
9638 ENDIF
<UP>
15040 POSITION 3,7;? "Linker^Rand*^^";XM
9790 ENDPROC
<PZ>
IN
<0Z>
9792 —
<XJ> ‘
15050 POSITION 3,9:? " Recht er-i.Rand^=*" ; X
9793 REM - Player Missiles nach -*
<OG>
MAX
<RD>
9794 REM - rechts bewegen
<eM>
15060 POSITION 3,11;? "Unterer^Rand*=^";
9799 —
<YL>
YMAX
<GJ>
9800 PROC PMRIGHT
<ZV>
15070 POSITION 3,13:? "Oberer*Rand*=*”;Y
9820 IF PMNR-0
<VW>
MIN
<HX>
9922 XQPOS=X0POS+1
<TL>
15000 POSITION 3,15:? "Tiefe*=^";TMAX
<JY>
9824 IF X0POS>199 THEN X0POS=199
<XE>
15100 GET EIN
<LG>
9326 POKE 53243,XePOS
<PD>
15110 ENDPROC
<U0>
9828 ENDIF
<UQ>
15190 —
<KZ>
9330 IF PMNR=1
<WN>
15200 REM - Fehlerbehandlung “
<ZG>
9S32 XlPOS^XlPOS+1
<UI>
15210 —
<JW>
9834 IF XXPOS>198 THEN X1PQS=19S
<WT> '
20008 REM FEHLERROUTINE
<ND>
9836 POKE 53249,XIPQS
<QN>
20810 ? ^‘CESC CTL 21"
<DF> '
9838 ENDIF
<UT>
28015 POSITION 3,18:7 '*FEHLER*NR-ERR;
9990 ENDPROC
<QD>
"ST^AUFGETRETEN"
<0H>
10000 —
<JC>
20017 POSITION 3,12:? "ZEILEN^NR-:ERL
<ZA>
10002 REM - Variablen und Player —
<FN>
28820 IF ERR=170 THEN POSITION 3,20:? "D
10003 REM - Missiles de+inieren —
<KZ>
ATEI*NICHT^VORHANDEN“
<SZ>
10004 —
<JW>
20030 IF ERR=162 THEN POSITION 3,20:? "D
10809 PROC DECLARE
<VM>
ISKETTE*IST^VOLL"
<EJ>
18810 DIM FILE^t20),DAT$(20),SCREEN^C76a
0) ,LEER# 1256) ,Ltl#C10) ,RÜ# C10> ,E#C20}
<W2>
28040 IF ERR=^164 THEN POSITION 3,20;? "D
ATE I -^N T CHT * I N^ORDNUND "
<IG>
10020 CaL0=40iCOL1=202:C0L2-148;COL3=0
<AJ>
20050 IF £RR=169 THEN POSITION 3,2ß:? "D
10030 LEER#(1)="CCTL iLEER#(256)IDT
IRECTORY*IBT^VDLL"
<QF>
L ,>":LEER#(2)=LEER#
<IW>
28060 IF £RR=i60 THEN POSITION 3,20:? "D
10040 LO#=”tCTL ,1-tCTL Ol ICTL HXCTL H> I
ISKElTENLAUFWERK^NICHT^BEKANNT"
<SV>
CTL HIICTL Hl^CTL Hl ICTL , 1 : RU#^" ^CTL ,
ICCTL AXCTL AICCTL Al iCTL Al <CTL Al ^CTL
20070 IF ERR=12S THEN POSITION 3,20:? "ü
EBERTRAGUNG*UNTERBROCHEN"
<VF>
OlICTL ,1”
<EZ>
20080 IF ERR=167 THEN POSITION 3,20:? "D
10100 ENDPRGC
<UA>
ATEIST*5CHREIBGESCHUETZT"
<ZX>
11000 —
<JE>
20090 IF ERR=144 THEN POSITION 3,20:? "D
11082 REM — Apfelßiaentnchen auf —
<GF>
ISKETTE^IST*SCHREIBGESeHüET ZT"
<TI>
11003 REM — dem Bildschirm dar- —
<CJ>
20100 IF ERR=13S THEN POSITION 3,20:? "G
11004 REM - stellen
<UC>
ERAET*NICHT^ANSPRECHBAR"
<JT>
11005 —
<KD>
20110 IF ERR^165 THEN POSITION 3,20:? "F
11010 PROC BILDHOLEN
<IX>
ALSCHER*DATEINAME“
<AB>
11015 GRAPHICS 15+16
<YR>
20115 POSITION 3,22:? "WEITEREMIT^RETURN
11020 MOVE ADR(SCREEN#),DPEEKtGa>,7680
<1F>
1 r*
<WP>
11038 POKE 70S,COL8:PQKE 709,COL1:POKE 7
20120 GET EIN:TRAP 40000
<AU>
10,COL2:POKE 712,COL3
<IB>
20130 GOTO 95
<WZ>
Turbo-Baslc XL-Lisling zu »Apfelmännchen« (Schluß)
f ACH, QER SPieiT WIEPfl?,
5‘{H/FF’£VE)?ieWJ(rEN]
M>T OEM WEUEW
PECHUEß IM
LNEßEMl^AÜM.
66
TURBO-BASIC
Gmfikspielereien in
Tiirbo-BasicXL
Mit einfachen Mitteln lassen
sich unter Turbo-Basic XL
schöne Grafikeffekte erzeugen.
ie neuen Befehle von Turbo-
Basic XL eröffnen dem Pro¬
grammierer eine Reihe zusätz¬
licher Möglichkeiten, die unter dem nor¬
malen Atari-Basic nur mit Hilfe von
Assembler-Unterroutinen realisierbar
waren. So erlaubt auch der Turbo-Ba-
sic-Befehl »MOVE«, der Speicherberei¬
che blitzschnell verschieben kann, für
Basic völlig neue Programmtechniken.
Anhand eines Grafikbildes zeigt das
Programm »Turbo-Basic-Grafikdemo«,
wie sich die Daten des Bildschirmspei¬
chers schnell und einfach verschieben
oder speichern lassen.
Das Programm ist in einzelne Proze¬
duren unterteilt, die am Anfang aufgeru¬
fen werden. Mit Ausnahme der Proze¬
duren »DECLARE« und »DEMO« spielt
die Reihenfolge des Aufrufs keine Rolle.
Die Routinen, die an der Grafik Verände¬
rungen vornehmen, sind in sich abge¬
schlossen und stellen vor ihrem Ende
stets den ursprünglichen Zustand des
Bildes her. Die Prozeduren bewirken im
einzelnen folgendes:
Prozedur »DECLARE«
Initialisieren und dimensionieren der
benötigten Stringvariablen.
Prozedur »DEMO«
Erzeugen einer Spirale im Grafik
15-F6rmat. An diesem Bild werden alle
weiteren Manipulationen vorgenom¬
men. Hier kann man natürlich sowohl
andere Grafiken erzeugen als auch ein
Bild von Diskette laden.
Prozedur »TEXTEIN«
Einblenden eines Textes in das Gra¬
fikbild. Der dabei überschriebene Teil
der Grafik wird zuvor in einem String
gespeichert. So ist sichergestellt, daß
man den ursprünglichen Zustand des
Bildes wiederherstellen kann.
Prozedur »XMIRROR«
Spiegeln der Grafik um die X-Achse.
Das Bild wird also auf den Kopf gestellt.
Prozedur »XKLAPPT«
Spiegeln der oberen Hälfte des Bild¬
schirms nach unten.
Prozedur »XKLAPPB«
Hierbei handelt es sich im Prinzip um
die gleiche Routine wie XKLAPPT. Es
wird lediglich die untere Hälfte nach
oben gespiegelt.
Prozedur »XCOPYT«
Kopieren der oberen Bildschirmhälfte
nach unten.
Prozedur »XCOPYB«
Untere Hälfte des Bildes nach oben
kopieren.
Prozedur »YCOPYL«
Die linke Hälfte des Bildschirms nach
rechts kopieren.
Prozedur »YCOPYR«
Die rechte Bildschirmhälfte nach links
kopieren.
Prozedur »PÜTPIC«
Ablegen des Bildschirminhalts in
einem String.
Prozedur »GETPIC«
Der Inhalt eines Strings wird auf den
Bildschirm geschrieben.
Prozedur »EFFEKTE«
Die Inhalte der Farbregister 708,709
und 710 werden ausgetauscht.
Dadurch entsteht ein schöner Farb-
effekt.
Alle Werte in den beschriebenen Pro¬
zeduren beziehen sich übrigens auf ein
Bild in Grafikstufe 15. Selbstverständ¬
lich können die Effekte auch in allen
anderen Grafikstufen verwendet wer¬
den. Man muß dann lediglich die Größe
des Bildschirmspeichers sowie die
Anzahl der benötigten Byte pro Zeile
entsprechend anpassen. In Grafikstufe
15 errechnet sich die Bildschirmgröße
beispielsweise aus 192 Zeilen und 40
Byte pro Zeile. 192 multipliziert mit 40
ergibt also 7680.
(Wolfgang Czemy/wb)
PROGRAMM-STECKBRIEF
Programmname
Graf ik'SpIeiere ien
Programmtyp
Grafik
Programmiersprache
Turbo-Basic XL
Programmlänge
7939 Byte
tür Computer
Atari 800 XU130 XE
zusätzliche Hardware
Diskettenlaufwe rk
EingabehiJfe
PrCffsummer
Bemerkung
Effektvolle Grafikmanipulation
üeserservice
Diskette SPIELE.TUR
67
TURBO-BASiC
100 REM SPIELEREIEN MIT DEM <WT>
110 REM MOVE BEFEHL IN TURBO BASIC <2D>
115 REM —-- <0D>
120 REM VON WOLFGANG CZERNY <XN>
130 — <JI>
160 EXEC DECLARE <LK>
170 EXEC DEMO <WV>
175 DO <FC>
177 EXEC TEXTEIN <IQ>
180 EXEC XKLAPPT <KP>
1?0 EXEC XKLAPPB <ZP>
200 EXEC XMIRROR <RG>
210 EXEC XCOPYT <XB>
220 EXEC XCQPYB <MT>
230 EXEC VCGPYL ■ <SZ>
240 EXEC YCOPYR <WN>
250 LDDP <CH> ^
500 END <XQ>
999 — <LD>
1000 PROC DECLARE <DD>
1010 DIM C8000),B^<S00O>,LEER#C800) <WC>
1020 A#C1>=‘*-ICTL ,l":A#(8000)="tCTL
A#(2>^A# <HV>
1025 B#(1)="£CTL ,>"=B#^S000>=”^CTL
B#C2>=B# <LX>
1030 LEER#<1) ="<:CTL , J";LEER# t800) =" CCTL
, 1: LEER# (2) =^LEER# < JV >
1040 ENDPROC <O0>
1090 — <WF>
2000 PROC TEXTEIN ' <BK>
2010 EXEC PUTPIC <YR>
2020 MOVE DPEEK(88)+3840,ADR(B#),800 <LS>
2030 MOVE ADR(LEER#),DPEEK(SB)+3840,800 <LF>
2040 TEXT 0,98, “DIES*IST^1N“ <IN>
2050 TEXT 0,107,"TEXTFENSTER” <JU>
2060 PAUSE 400 <WE>
2070 MOVE ADR(B#),DPEEKC8e)+3840,800 <SF>
2080 PAUSE 400 <WK>
2090 EXEC 6ETPIC <OK>
2100 ENDPROC <0F>
2110 — <VK>
5000 PROC XMIRROR <MD>
5010 FOR J=1 TO 10 <DI>
5020 EXEC PUTPIC <YX>
5030 FOR 1=7680 TO 0 STEP -^40 <PX>
5040 MOVE ADR(A#>+1-40,DPEEK(88)+7680-1,
40 <LG>
5050 NEXT I <FI>
5060 NEXT 3 <FW>
5070 PAUSE 500 <WW>
5075 EXEC BETPIC <PB>
5080 ENDPROC <PE>
5090 — <WJ>
6000 PROC XKLAPPT <EJ>
6020 EXEC PUTPIC <YY>
6030 FOR 1=3840 TO 0 STEP -40 <MY>
6040 MOVE ADR<A#)+I-40,DPEEKCS8)+7680-1,
40 <LH>
6050 NEXT I <FJ>
6070 EXEC EFFEKTE <FT>
6080 EXEC GETPIC <0L>
6090 ENDPROC <PI>
6099 — <XU>
7000 PROC XKLAPPB <S0>
7020 EXEC PUTPIC <YZ>
7030 FOR 1=7630 TO 3840 STEP -40 <C0>
7040 MOVE ADR CA#)+1-40,DPEEK(88)+7680-1,
40 <LI>
7050 NEXT I <FK>
7070 EXEC EFFEKTE <FU>
7080 EXEC GETPIC <0M>
7090 ENDPROC <PJ>
7099 — <XV>
8000 PROC XCOFVt <FB>
8020 EXEC PUTPIC <2A>
8030 FOR 1=0 TO 3840 STEP 40 <NH>
8040 MOVE ADR CA#)+I,DPEEK(Sa>+3800+1,40 <KF>
8050 NEXT 1 <FL>
8060 PAUSE 500 <WW>
8070 EXEC GETPIC <0K>
8080 ENDPROC <PH>
3090 — <WM>
9000 PROC XCDPYB <eA>
9020 EXEC PUTPIC <ZB>
9030 FOR 1=3840 TO 7680 STEP 40 <AS>
9040 MOVE ADR(A#)+I,DPEEK(88)-3840+1,40 <RQ>
9050 NEXT I <FM>
9060 PAUSE 500 <WX>
9070 EXEC GETPIC <OL>
9080 ENDPROC <PI>
9999 — <YP>
10000 PROC YCOPYL <AH>
10020 EXEC PUTPIC <NV>
10030 FOR 1=0 TO 191 <IZ>
10040 MOVE DPEEKCSS)+1*40,DPEEK<SS>+1*40
+20,20 <UJ>
10050 NEXT I <6D>
10060 PAUSE 300 <BY>
10070 EXEC GETPIC <CL>
10080 ENDPROC <VD>
10099 — <MF>
10100 PROC YCOPYR <EI>
10120 EXEC PUTPIC <NY>
10130 FOR 1=0 TO 191 <JC>
10140 MOVE DPEEK(88)+1*40+20,DPEEKCSS)+I
*40,20 <LX>
10150 NEXT I <GG>
10160 PAUSE 300 <CB>
10170 EXEC GETPIC <CO>
101S0 ENDPROC <VG>
10199 — <MI>
11000 PROC GETPIC <BA>
11010 MOVE ADR(A#),DPEEK(88),7680 <SR>
11020 ENDPROC <UH>
11999 — <NI>
12000 PROC PUTPIC <SG>
12010 MOVE DPEEKCBS),ADR CA#>,7680 <EJ>
12020 ENDPROC < UJ >
13000 PROC EFFEKTE <ZZ>
13010 POKE 764,255 <RH>
13020 REFEAT <HM>
13030 POKE 708,403POKE 709,202 <2J>
13040 POKE 710,1485PAUSE 5 <VD>
13050 POKE 708,202=POKE 709,149 <UJ>
13060 POKE 710,40=PAUSE 5 <NS>
13070 POKE 708,148=POKE 709,40 <KU>
13080 POKE 710,202=PAUSE 5 <PF>
13090 UNTIL PEEK(764) 0255 <DJ>
13100 ENDPROC <UG>
13110 — <ap>
15000 PROC DEMO <PW>
15010 X1=80;V1=70=0=0=DES <IA>
15020 GRAPHICS 31:C=20 <CS>
15040 FOR 1=1 TO 1000 STEP 5 <0D>
15050 Q=Q+1:IF Q>3.5 THEN Q=1 <JL>
15060 COLÜR Q:R=I/10:T=I <FU>
15070 X=R*COS<T):Y=R*SIN(T) <CC>
15080 IF Y+YIM51 THEN 15140 <BE>
15090 PLOT X+XI,Y+YI <WW>
15100 X=CI+C)/16*COS(I+C+90) <AE>
15110 Y=CI+C)/16*SlN(I+C+70> <DL>
15120 DRAWTO X+XI,Y+VI <JT>
15130 NEXT I <61 >
15140 ENDPROC <VA>
Listing zu »Turbo-Basic-Grafikdemo«
68
TURBO-BASIC
Mehr Tempo für Player Missiles
ln normalem Basic ist die Positionierung von Play-
ern und Missiles eine zeitaufwendige Ange¬
legenheit, in TurboBasic XL dagegen nicht
■ sich schon einmai mit der Player-Missile-Grafik
Atari-Computer auseinandergesetzt hat, der
w » weiß, daß die horizontale Verschiebung recht ein¬
fach ist. Die vertikale Positionierung hingegen gestaltet sich
schon wesentlich aufwendiger. Das Programm »PMMOVE«
demonstriert, wie man den MOVE-Befehl in Verbindung mit
der Player-Missile-Grafik sinnvoll einsetzen kann. Die Aus-
v/ahl, welchen Player man bewegen möchte, erfolgt mit den
Tasten 1 bis 4, Und hier eine kurze Programmbeschreibung;
Prozedur »DECLARE«
Hier werden die Stringvariablen dimensioniert und vier
Strings mit den Werten für die verschiedenen Player verse¬
hen. Die Höhe jedes Players beträgt in diesem Fall acht Zei¬
len. Ober- und unterhalb ist jeweils eine Leerzeile hinzuge¬
fügt, damit beim Verschieben der gdte Player nicht jedesmal
extra gelöscht werden muß.
Prozedur »INIT«
Hier werden die Basiswerte für die Player-Missile-Erzeu-
gung festgelegt. Zudem wird der Speicherbereich der Player
gelöscht. Auch diese Maßnahme wird mit Hilfe des MOVE-
Befehls durchgeführt. Die Anfangspositionen der vier Player
sind durch die Felder X() und Y(} festgelegt.
Prozedur »PIVI-BAUEN«
Die Strings, die für das Aussehen der Player verantwortlich
sind, werden durch den MOVE-Befehl in die entsprechenden
Speicherbereiche verlegt. Es folgt dann die Fixierung der
horizontalen Positionen.
(Wolfgang Czerny/wb)
PROGRAMM-STECKBRIEF
Progfammname
P layer/M issile- Mover
Programmtyp
Utility
Program m ierspracJie
Turbo Basic XL
Programm länge
2372 Byte
für Computer
800 XLyi30 XE
zusätzliche Hardware
keine
Eingabehilfe
AMPEL
Bemerkung
Das Programm zeigt, wie man mit den
speziellen Turbo-Basic-Befehlen Player
Missiles behandeln kann
Leserservice
Diskette (PMMOVE.TUR)
100 REK PLAYER/MISSLE STEUERUN6
<RV>
10110
FDR 1=1 TO 10
<RA>
llß REM - IM TÜREÜ-BASIC
<KB>
10120
READ W;L00K2^CI,I)=CHRSCW)
<RX>
120 REM
<AM>
10130
NEXT I
<FY>
130 REM von Ual^gang Czerny
<WV>
10140
FOR 1=1 Tü 10
<RM>
140 REM
<AQ>
10150
READ Ws LOOK3$^ (1,1) =CHRS CW>
<TB>
145 —
<JZ>
10160
NEXT 1
<eK>
150 EXEC DECLARE
<Lr>
10170
FOR 1=1 TO 10
<RY>
155 GRAPHICS 31
<XC>
10100
READ L0aK4S(1,1)=CHR^(W)
<UF>
160 EXEC IMIT
<DD>
10190
NEXT I
<GW>
170 EXEC PM_BAUEN
<CD>
10500
REM LOOKl
<IT>
1000 DO
<TM>
10510
DATA*0,1,2,4,8,144,224,224,240,0
<WO>
1010 REPEAT
<EC>
10520
REM L00K2
<JQ>
1020 GET EIN
<IF>
10530
DATA*0,240,224,224,144,8,4,2,1,0
<RB>
1030 UNTIL (EIN>4S AND EIN<53) OR
E1N=42
10540
REM L00K3
<KN>
QR EIN=43 OR EIN=45 OR EIN=61
<DI>
10550
DATA-.0,128,64,32,16,9,7,7,15,0
<ZL>
1040 IF EIN>48 AND EIN<53 THEN NR=
EIN-43
<QA>
10560
REM LOOK4
<LK>
1050 IF EIN^42 THEN X(NR)=X(NR)+1
<NO>
10570
DATA^0,15,7,7,9,16,32,64,128,0
<BV>
1060 IF EIN=43 THEN X(NR)=X(NR)-1
<QR>
10990
ENDPROC
<WI>
1070 IF EIN=45 THEN YCNR)(NR>-1
<TS>
10999
—
<NS>
1080 IF EIN^61 THEN Y(NR)=Y(NR)+1
<QF>
11000
PROC iNlT
<XC>
10^?0 IF Y (NR) >255 THEN Y(NR)=0
<MP>
11010
PMB=PEEK(106)-40= POKE 54279,PMB
<RL>
1100 IF Y(NR)<fl THEN Y(NR)^255
<C0>
11020
PMB=PMB*256 = NR=1
<BU>
1110 IF X(NR)>255 THEN X(NR)=0
<KM>
11030
POKE 559,62:REM SINGLE RES.
<YC>
1120 IF X(NR)<0 THEN X(NR)=255
<BP>
11040
FOR 1=53256 TO 532S9
<PR>
1130 POKE 53247+NR,XtNR)
<VQ>
11050
PmCE 1,0
<VK>
1140 IF NR=1 THEN MQVE ADR(COOKIS>
,PMB+1
11060
NEXT I
<BJ>
024+Y(l),10
<HX>
11070
FOR 1=704 TO 707
<wv>
1150 IF NR=2 THEN MOVE ADR<L00K2*)
,PME+1
iioeo
POKE 1,255
<ID>
2B0+Y(2),10
<RT>
11090
NEXT I
<GV>
1160 IF NR=3 THEN MOVE ADR(L00K3$)
,PMB+1
11100
FOR 1=1024 TO 1792 STEP 256
<ej>
536+Y(3),10
<BY>
11110
MOVE ADR(LEER$),PMB+I,256
<0A>
1170 IF NR=4 THEN MOVE ADR(L□□K4^:>
,PME+1
11120
NEXT I
<FW>
792+Y(4),10
<LU>
11140
X C1)=50:Y(1)=5O: X(2)=60
<0Q>
2000 LOOP
<xv>
11150
Y<2)=60:X(3)=70:Y(3)=70
<VB>
2010 END
<PT>
11160
X(4)=80=Y(4>=80
<JR>
2099 —
<XQ>
11190
ENDPROC
<VM>
10000 PROC DECLARE
<TT>
11199
—
<MK>
10010 DIM Y<4),X(4)
<AW>
12000
PROC PH_BAUEN
<TS>
10030 DIM LOQK1$(10),LOOK2$C10)
<FC>
12010
MOVE ADR(LOOKIS),PMB+1024+Y(1),10
<XO>
10040 DIM LOOK3^(10) ,LOOK4^:(10)
<IK>
12020
MOVE ADR(L00K2S),PMB+12S0+V(2),10
<EF>
10050 DIM LEERS(256)
<CB>
12030
MOVE ADR(L00K3S),PMB+1535+Y(3),10
<KA>
10060 POKE 730,1
<UF>
12040
MOVE ADR(L00K4S >,PMB+1792+Y(4) ,10
<RW>
10070 RESTORE
<D0>
12050
FOR 1=1 TO 4
<KR>
10080 FOR 1=1 TO 10
<RZ>
12060
POKE 53247+I,XCI)
<ZR>
10090 READ W;L00K1^(I,I)=CHR^<W)
<SE>
12070
NEXT I
<GP>
10100 NEXT I
<EM>
12080
POKE 53277,3
<QY>
Programm zur Player-Missile-Steuerung (Turbo-Basic XL)
12090
ENDPROC
<VL>
69
TURBO-BASIC
Daten
komprimiert
gespeichert
Wer Speicherplatz auf Diskette sparen möchte,
der kann in Turb(>Casic XL zum Speichern und
Laden von numerischen Daten auch die Befehle
»%PUT« und »%GET« verwenden.
Basic-
Befehl
Ausf ührnngszeiten in Sekunden
Benötigte
Sektoren
Erweitertes
tOSO’Laufweri^
Normales
1050-Laufwerk
Atari-
3lO'Lauhrtrerk
Mit
Verify
Ohne
Verify
Mit !
Verify
Ohne
Verify
Mit
Verify
Ohne I
Verify
PRINT
32.74
27.48
5S.22
35.32
56.22 I
34.02
104
INPUT
21.2
20.68
34.48
34.34
32.43
32.48
%PUT
19.34
16.68
23.98
17.64
27-30
16.50
43
%GET
11.42
11.86
16.28
16.12
15,26
15.26
Tabelle mit den Ausführungszeiten unter Verwendung der
verschiedenen Befehle, mit denen sich Daten speichern und
laden lassen.
as Atari-Basic kennt zum Speichern und Laden von
Daten mehrere Anweisungen. Zum Schreiben be¬
nutzt man die Befehle PRINT und PUT, zum Lesen die
Befehle INPUT und GET. Unter Turbo-Basic XL allerdings ver¬
fügt man neben den Anweisungen BPUT und BGET, die für
die Blockspeicherung zuständig sind, auch über die Befehle
%PUT und %GET.
In diesem Fall sollen jedoch nur diejenigen Befehle
betrachtet werden, mit denen man Gleitkommazahlen auf
Diskette speichert oder von Diskette lädt. Wie das Listing
zeigt, kann man dazu die Befehle PRINT und INPUT bezie¬
hungsweise %PUT und %GET verwenden. Diese beiden
Befehlspaare führen zwar dieselbe Operation aus, gehen
dabei aber unterschiedliche Wege. Speichert man eine Gleit¬
kommazahl mit Hilfe des PRINT-Befehls, so benötigt jede Zahl
8 Byte Speicherplatz auf Diskette Verwendet man hingegen
für denselben Vorgang den %PUT-Befehl, benötigt eine
Gleitkommazahl nur mehr 6 Byte Speicherplatz.
Im Listing werden nun 1 000 Zufallszahlen in einem Feld
abgelegt und auf die beiden verschiedenen Methoden auf
Diskette gespeichert. Anschließend laden wir sie wieder.
Wie man der Tabelle entnehmen kann, spart man bei der Spei¬
cherung von nur 1 000 Zahlen mit den %PUT- und %GET-
Befehlen immerhin 56 Sektoren auf Diskette. Das sind rund
6,8 KByte Es versteht sich, daß gespeicherte Zahlen jeweils
nur von dem äquivalenten Lese-Befehl gelesen werden
können.
Neben dem geringeren Speicherbedarf hat die Verwen¬
dung von %PUT und %GET auch noch einen weiteren Vor¬
teil. Die benötigten Schreib- und Lesezeiten verringern sich
um eh«a 50 Prozent. Die genauen Zeiten, sind in der Tabelle
festgehalten. Hierbei wurden übrigens drei verschiedene
Disketten-Laufwerke verwendet. Ein Atari-810-Laufwerk,
das neuere 1050-Laufwerk und ein aufgerüstetes 1050-
Laufwerk (wie im Artikel »Rasende Daten« in diesem Heft
beschrieben).
{Wolfgang Czerny/wb)
PROGRAMM-STECKBRIEF
Programmname
%PUT- und %GET-Demo
Programmtyp
Demo
P rog rammlersprache
Turbo-Basic XL
Programmlänge
1008 Byte
für Computer
aile
zusätzliche Hardware
Diskettenlaufwerk
Eingabehilte
Prüfsummer
Bemerkung
Leserservtce
Diskette (PUTGETTUR)
1 10 -
<YW>
20 REM - XPUT und X6ET Demo
<AR>
30 REIM — von Fr^k Ostrowski —
<YF>
40 -
--
<YZ>
1.00
? ”XPUT*De(nonstration“
<ZZ>
110
DIM AC1000)
<wx>
120
? "Creating-i^Array”
<DB>
130
FOR I-l TO 1000
<GZ>
140
A(I>=RND
<FK>
150
NEXT I
<8ß>
160
—
<JO>
170
7 “PRIMT^File“
<AK>
1G0
—
<JS>
190
T^TIME
<PG>
200
OPEN #1,B,0,”D:RNDTST-DAT''
<sx>
210
FOR 1=1 TO 1000
<GW>
220
? #1;ACI)
<UU>
230
NEXT I
<FY>
240
CLOSE #1
<LG>
250
? (TIME-T)/50i"-.Sekunden-
<DC>
260
—
<JP>
270
T=TIM£
<PD>
280
OPEN #1,4,0/'D:RNDTST-DAT"
<RN>
290
FOR 1=1 TO 1000
<Hi1>
300
INPUT #1,A:A(I>=A
<RF>
310
NEXT I
<FV>
320
CLDSE #1
<L_D>
330
? "^INPUT:.^"; <TIME-T>/50; "-.Sekunden"
<FF>
340
DIR "Djf^DTST.DAT"
<MV>
350
DELETE D i RNDTST - DAT "
<GX>
360
—
<JQ>
370
7 ^^XPLrr^File"
<BU>
380
—-
<JU>
390
T=TIME
<PI>
400
OPEN #1,8,0,"D:RNDTST.DAT"
<S2>
410
FOR 1=1 TO 1000
<GV>
420
yj^UT #l;Aa>
<YN>
430
NEXT I
<6A>
440
CLOSE #1
<LI>
450
? "^"/-PUT-..;*" ; (TIME-T) /50; "-.Sekunden"
<VJ>
460
—
<JR>
470
T=TIME
<PF>
400
OPEN #1,4,0,"D;RNDTST-DAT"
<RP>
490
FOR I=l TO 1000
<HQ>
500
XGET #l,A=Aa)=A
<EB>
510
NEXT I
<FX>
520
CLOSE #1
<LF>
530
2 "-.XGET*:-" ; tTIME“T^ /50; "^Sekunden“
<LA>
540
DIR "D:RNDTST-DAT"
<MX>
550
DELETE "D;RNDTST.DAT"
<GZ>
Listing zy »%PUT und %GET« (Turbo-Basic XL)
70
Ordnung
muß sein
»Wer suchet, der findet« ist das Motto vieler Pro-
grammsammlungen. Mit »Happy-Disksorter« wird
die Verwaltung einer Softwaresammiung zum Kin¬
derspiel. Sehen Sie selbst.
E ine Programmsammlung kann so schnell wachsen,
daß man den Überblick über seine wertvolle Software
verliert. Dann legt man Karteikarten an, oder hält auf
losen Zetteln fest, welche Programme sich auf welcher Dis¬
kette befinden. Nun, ideal scheinen diese Lösungen nicht. Da
sich ein Computer aber auch hervorragend zur Datenspei¬
cherung eignet, liegt es nahe, ihm diese Aufgabe der Pro¬
grammverwaltung zu übertragen. Dazu benötigt man natür¬
lich spezielle Software.
»Happy-Disksorter« besteht aus zwei Teilen. Erstens dem
Maschinenspracheteil (Listing 1) mit dem Menübild und der
geänderten Display-List, zweitens dem Hauptprogramm
{Listing 2). Gearbeitet wird nur mit dem Hauptprogramm.
Listing 1 wird stets hinzugeladen und liegt dann sozusagen
im Hintergrund vor.
Bevor Sie mit »Happy-Disksorter« arbeiten können, müs¬
sen beide üstings eingetippt sein. Dann laden und starten
Sie zuerst Listing 1. Dieses Programm erzeugt das Maschi¬
nenfile mit dem Namen »MENU.PIC« auf Diskette Anschlie¬
ßend brauchen Sie nur noch Listing 2 aufzurufen und zu star¬
ten. Es folgt dann automatisch das File »MENU.PIC« und Sie
gelangen in das Hauptmenü vom »Happy-Disksorter« (Bild).
Beachten Sie, daß sich dieses File unbedingt auf der glei¬
chen Diskette wie das Hauptprogramm befindet. Später brau¬
chen Sie dann nur noch das Hauptprogramm aufzurufen, da
das Maschinensprache-File nur einmal auf Diskette ge¬
schrieben werden muß.
Befinden Sie sich einmal im Hauptmenü, können Sie schon
die ersten Programmnamen eingeben. Die Namen dürfen
maximal 25 Zeichen lang sein. Anschließend folgt die Frage
nach dem Umfang des Programms in Sektoren und des Inde¬
xes zum schnellen Auffinden von Programmen.
Um ins Menü des »Happy-Disksorters« zu gelangen, betä¬
tigt man bei der Frage nach dem Programmnamen einfach die
RETURN-Tasta Daraufhin erscheint am linken oberen ßild-
schirmrand ein Pfeil, den man mit den Cursortasten zu dem
gewünschten Symbol bewegen kann. Die nochmalige Betäti¬
gung der RETURN-Taste führt die Funktion aus.
Suchen
Man gibt entweder die Eintragsnummer, mit der Jedes Pro¬
gramm versehen wird, oder einen unverwechselbaren Teil
des gesuchten Programmnamens ein. Sollte ein Eintrag mit
dem Suchbegriff übereinshmmen, wird er auf dem Bildschirm
ausgegeben. Durch Drücken der RETU RN-Taste gelangt man
wieder zum Ausgangsmenü zurück.
Listen
Die eingetragenen Namen in abfallender Reihenfolge auf
dem Bildschirm ausgeben. Ist der Bildschirm mit Namen
gefüllt, wird nach Betätigung der Leertaste die nächste Seite
auf dem Bildschirm ausgegeben. Mit der ESC-Taste gelangt
man jederzeit zurück zum Hauptmenü. Die Ausgabe eines
bestimmten Eintrags bewirkt die RETURN-Taste.
Sortieren
Nach dem Index oder dem Namen sortieren.
Eintrag löschen
Die Auswahl der zu löschenden Daten erfolgt wie unter
»Suchen«. Der gesuchte Programmname erscheint dann auf
dem Bildschirm und wird durch Drücken der Taste J gelöscht.
Diskeften-Menü
Mit diesem Symbol gelangt man in ein weiteres Menü:
1. Auflisten des Directorysin Laufwerk 1. Der Listvorgang läßt
sich mitderSTARTTasteoderCONTROL-1 unterbrechen. Am
Ende gelangt man mit einer beliebigen Taste zurück ins
Untermenü.
2. Speichern der im RAM-Speicher vorliegenden Programm¬
namen. Es genügt zur Erkennung des Dateinamens die
ersten acht Zeichen einzugeben. Oie RETURN-Taste bringt
den Benutzer wieder zurück ins Untermenü.
3. Laden einer auf Diskette gespeicherten Programmliste.
Die Eingabe erfolgt wie unter Punkt 2 beschrieben.
4. Alle Eintragungen einer zu katalogisierenden Diskette wer¬
den automatisch in die im RAM-Speicher vorliegende Datei
übernommen. Durch Drücken irgendeiner Taste, ausgenom¬
men 1 bis 4, gelangt man zum Hauptmenü zurück.
Liste drucken
Es besteht die Wahl zwischen einem zwei- und dreispaltigem
Ausdruck. Als Drucker ist ein Epson FX80 vordefiniert. Auch
hier gelangt man mit Betätigung irgend einer Taste zum
Hauptmenü zurück.
Fehlermeldungen«
Sollte ein Fehler auftreten, springt das Programm automa¬
tisch ins Hauptmenü zurück. Wählt man anschließend die
Funktion »Fehlermeldungen«, wird der Fehler auf dem Bild¬
schirm beschrieben. (Andreas Kubelka/wb)
Zeile 7040 - Die Zeichen, die zwischen Anführungszeichen stehen, bewirken einen Ausdruck iiri
ncrmalen Modus. Diese Einsteilung ist für zweispaltigen Ausdruck mit 00 Zeichen pro Zeile verant¬
wortlich.
Zeile 7100 - Uimschaftung auf Ausdruck mit 132 Zeichen pro Zeiie und in drei Spalten.
Es müssen also stets die Zeichen zwischen Anführungszeichen geändert werden. Am besten orien¬
tieren Sie sich gn Ihrem Df uckerhandbuch.
PROGRAMM-STECKBRIEF
Program mname
Happy-Dfsksort er
Program mtyp
Utility
Program m iersprache
Atari-Basic
Programm länge
10034 Byte
für Computer
800 XU130 XE
zusätzliche Hardware
Dis kett eniaufwerk
Eingabehilfe
Prüfsummer
Bemerkung
Das Programm besteht aus zwei
Teilen. Zuerst Listing 1 starten und
anschließend üsCng 2.
üeserservice
Diskette (DISKSORT.BAS/
DISKMENU-BAS)
lür
a
M ?J
Hr, »> Prosrapwt
<<<
5«k
Xn
MJ. »ane i^L
•12
12
M2 POS
•35
mtr
PW
•42
mk
ftüTORUH
145
MS P0P
•35
mmr
M6 RtfTORftii
•?•
R»
M7 STRATECO
145
•75
RR
M9 msmren
••3
RR
%LP TURBO
•!•
RR
•iJ. RUTKT
••7
RR
5CR5TR
•••
RR .
•13 »«Hl
«35
RR
•14 IW
•4#
RR
•15 mmu
•!•
RR
Das ^Kappy^Disksorter«-Menü
71
Zelle
Beschreibung
10 Ms 200
Initialisterung
300 bis 390
Eingabe des Namens mit Anzahl der Sektoren und dem
Index
400 bis 440
MenO-^swahl
1000 bis 1050
Auflisten der Namen
1500 bi^ 1510
Suchen eines Namens aus der Liste
2000 bis 21T0
Name In der gesamten Liste suchen
2500 bis 2510
Eingabe ctes gesuchten Namens
3000
Parameter setzen für Listen m abfallender Reihenfolge
4000 bis 4040
Sortierfoüttne
5000 bis 5200
Name löschen
6000 bis 6050
Disketten-Untermenü
6100 bis 6140
Schreiben des Directorys
6200
Bngabe des Rtenamens
6410 bis 6440
Liste abspeichem/laden
6500 bis 6630
Übernahme des Directorys in die Liste
7000 bis 7130
Druckeraus^e
7400
Name In Kanal D: schreiben
7600 bis 7510
Namennummer ln Kanal D: schreiben
7600
Überschrift In Kanal D: schreiben
8000 bis 9200
Fehlermeldung
Programmbe&chreibung
Emsprufigadressen für nAaschinenroutlnen
Adresse 38786 String search
Adresse 3S925 Bubbie Sort
Variable
Beschreibung
US
—enthält die Adresse der Wiaschinenroutine zum
Laden und Speichern
D$
—String für alle Daten
A$
—Nimmt Bngaben entgegen
P
—Position des Pfeils beim Auflisten
c
—Zähler
0
—Enthält Kanalnummer, in den geschrieben wird
Kanal: 0 = Bildschirm
Kanal. 1 - Drucker
ER
—Fehlercode
LD
-“Enthalt die zu bearbeitende Position in D$
L
—Länge von A$
l
—Für Schfetfen und PfeilposiEon beim Menü
A
—Nimmt Eingaben Ober GET entgegen
CNT
—An^l der Daten In DS
STA
—Die Startnummer b^m Listen oder die aktuelle
Position
STÖ
—Stopposition beim listen
PLMI
-Gibt die Ustrichtung an
F
—Gibt beim Suchen die Position an, an der die Eingabe
gefunden wurde
R
—Restwert für die Druckerroutine, um die Startnummer der
nächsten Spalte zu finden.
S2
—Startnummer der 2, Spalte beim Drucken von *
3 Spalten
VariablenEiste
100 GRAPHICS HzPOKE 710,0: OPEN
7"-.P0KE 752,1 <HE>
110 POSITION 3,10:7 DISKETTE^IN^LAUFWER
l ^ÜND RETURN " <aL>
120 GET #l,A:CLOS£ #l = OPEN 4t 1 ,8,0, "D= MEN
U-PIC" <02>
130 POSITIQN 5,12=7 "SCHRE1B£*FILE-.==>^D
:ttENU-PIC*' <HZ>
140 TRAP 300 <KS>
150 FOR 1^1 TO 1214 <HB>
160 READ A:B=B+A <WO>
170 PUT #1,A:1F 1/43=INT(I/43> THEN POKE
404e5+P,PEEK(4048S+P >+128:P=P+1 < AI>
188 NEXT I <GH>
300 POSITION 10,14: IF B091431 THEN 7
ATA^FEHLER" < RS >
310 IF B=S^1431 THEN ? "FI LE^BESCHRIEBEN" <HH>
320 ? :? :END <MP>
1000 DATA-..216,104,104,133,204,104,133,20
3.104.133.209.104.133.208.104.133.215.10
4,133,214,104,104,133,205,104,104 <BW>
1010 DATA*133,206,169,0,133,212,169,0,13
3,213,162,0,160,0,177,214,224,0,208,2,13
2,216,209,208,208,43,232,228,206 <OS>
1020 DATA*240,22,200,196,205,240,50,72,1
52.72.138.168.177.214.133.207.104.168.10
4,165,207,24,144,219,72,165,204 <YU>
1030 DATA^133,213,165,203,133,212,104,16
2,8,224,0,240,17,224,0,240,6,160,0,177,2
14,162,0,164,216,200,196,205,208 <DP>
1040 DATA*186,165,208,24,101,205,133,208
,144,2,230,209,165,203,208,6,165,204,240
,7,198,204,198,203,24,144,156,96 <XX>
1050 DATA*216,104,56,233,3,133,217,104,1
33,204,184,133,203,104,133,215,104,133,2
14,104,133,210,104,133,209,162 <RI1>
1060 DATA*Ö,184,104,157,0,1,232,228,217,
208,246,56,165,209,233,2,133,289,165,210
,233,0,133,210,48,108,165,209,133 <ZO>
1070 DATA*.211,165,210,133,212,165,204,13
3,206,133,203,165,283,135,205,24,181,214
,133,207,165,208,101,215,133,208 <TT>
1080 DATA*160,0,185,0,1,190,2,1,134,218,
190,1,1,200,200,200,132,216,168,136,177,
285,209,207,240,12,165,218,208
1090 DATA*4,144,16,176,46,144,44,176,10,
200,202,208,234,164,216,196,217,208,210,
193,211,169,255,197,211,208,6,166
1100 DATA*212,240,11,198,212,165,283,133
,206,165,207,24,144,172,165,213,248,4,13
4,213,208,148,96,134,213,160,0
1110 DATA*177,205,170,177,207,145,205,13
8,145,207,200,196,214,208,241,240,203,0,
0,2,0,0,0,P,8,0,0,0,120,0,0,0,0
1120 DATA*0,62,0,0,0,0,8,0,0,0,0,0,0,0,0
,0,0,0,0,0,0,8,0,8,8,0,2,0,0,0,16,0,0,0,
0,56,0,0,0,0,0,54,0,0,0,0,112,0
1130 DATA*0,0,0,0,0,8,0,0,0,8,0,0,0,0,0,
0,0,0,2,8,0,0,32,0,0,0,0,56,0,0,0,0,15,6
2,0,0,0,0,56,0,0,0,0,0,0,0,0,8
1140 DATA*0,0,8,0,0,0,0,0,0,0,2,0,0,0,64
,15,192,0,0,72,15,192,0,0,13,182,0,0,0,0
,56,0,0,0,31,255,252,0^0,15,255 '
1150 DATA*248,0,0,0,0,0,0,0,0,15,128,0,0
,128,8,64,0,0,128,8,64,0,0,15,54,240,0,0
,127,255,248,0,0,24,31,252,0,0
1160 DATA*13,255,176,0,0,30,0,0,0,0,0,7,
0,8,1,0,8,64,0,1,0,8,64,0,0,13,123,172,0
,0,127,255,248,0,0,24,31,240,0
1170 DATA*0,15,255,240,0,0,127,128,0,0,0
,7,226,0,0,18,1,248,127,240,2,1,248,127,
240,0,15,8,192,0,0,12,204,192,0
1180 DATA*0,24,31,240,0,0,13,255,176,0,0
,255,192,0,0,0,4,32,0,0,23,1,8,0,16,4,1,
8,0,16,0,0,8,192,0,0,12,204,192
1190 DATA*0,0,24,31,252,0,0,15,255,240,0
,1,243,224,0,0,0,4,32,0,0,28,1,8,0,16,8,
1,8,0,16,0,0,8,240,0,0,12,204,192
1200 DATA*0,0,31,255,252,0,0,13,255,176,
0,1,225,224,0,0,0,4,63,248,0,30,63,15,25
4,16,16,63,15,254,16,0,0,8,0,0
1210 DATA*0,12,204,192,0,0,31,247,252,0,
0,15,255,240,0,0,3,224,0,0,0,4,0,8,0,0,3
3,0,2,16,0,33,0,2,16,0,0,62,0,0
1220 DATA*0,12,204,192,0,0,31,227,252,0,
Listing 1 zu »Happy-Dlsksorter«. Bitte mit dem Prüfsummer eingeben.
<TP>
<DN>
<MW>
<6E>
<UV>
<HV>
<YS>
<PH>
<PY>
<QV>
<QX>
<NK>
<LF>
<HC>
0,13,255,176,0,0,7,192^0,0,0,4,0,0,0,0,3
3,0,2,16,0,33,0,2,16,0,0,28,0,0 <RZ>
1230 DATA*0,12,204,192,0,0,31,193,252,0,
0,15,255,240,0,0,15,128,0,0,0,4,0,8,0,0,
33,255,194,16,0,33,255,194,16,0 <TX>
1240 DATA^0,S,0,0,0,12,204,192,0,0,31,22
7,252,0,0,15,255,240,0,0,31,0,0,0,0,4,0,
3,0,0,32,0,67,240,0,32,0,67,240 <QU>
1250 DATA^0,0,0,0,0,0,12,204,192,0,0,31,
247,252,0,0,0,0,0,0,0,62,0,0,0,0,4,0,3,0
,0,32,0,66,0,0,32,0,66,0,0,0,0 <EQ>
1260 DATA^0,0,0,12,204,192,0,0,31,255,25
2,0,0,127,255,254,0,0,62,7,223,124,0,4,0
,8,0,0,32,0,66,0,0,32,0,66,0,0 <IS>
1270 DATAv.0,0,0,0,0, 12,204,192,0,0,31,24
7,252,0,0,76,0,6,0,0,0,6,216,96,0,7,255,
248,0,0,32,0,126,0,0,32,0,126,0 <0S>
1280 DATA^O,15,188,240,0,0,12,204,192,0,
0,31,227,252,0,0,127,255,254,0,0,62,7,22
3,124,0,0,0,0,0,0,32,0,64,0,0,32 <LG>
1290 DATA*0,64,0,0,13,182,192,0,0,12,204
,192,0,0,31,227,252,0,0,127,255,254,0,0,
62,6,195,12,0,0,0,0,0,0,32,0,64 <CA>
1300 DATA*0,0,32,0,64,0,0,15,188,192,0,0
,12,204,192,0,0,31,227,252,0,0,127,255,2
54,0,0,62,6,223,124,0,0,0,0,0,0 <IT>
1310 DATA^63,255,192,0,0,63,255,192,0,0,
13,182,192,0,0,12,204,192,0,0,31,247,252
,0,0,127,255,254,0,0,0,0,0,0,0 <Wn>
1320 DATA*0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
13,188,240,0,0,15,255,192,0,0,31,255,252
,0,0,12,0,48,0,0,0,0,0,0,32,79 <BD>
1330 DATA*195,152,15,15,15,15,15,15,15,1
5,15,15,15,15,15,15,15,15,15,15,15,15,66
,64,156,2,2,2,2,2,2,2,2,2,2,112 <KN>
1340 DATA*2,112,2,2,2,2,2,2,2,2,2,2,65,1
1,156 <!□>
Listiog 1 zu »Happy-Dislcsorter«^ <Schtuß)
10 OPEN tt2,4,0,’-K=*‘ <bT>
20 US=ADRr‘>_^CTL , >^ CTL N >/tCTL B>Xh“lCT
L P>-Z^CTL OiCCTL CI 1CTL_M>R^CTL C3htCT
L n ^UiCTL OhC CTL m xtCTC Oh^ CTL m v^CT
L C>h'[CTL_M>X<CTL ^CTL P>_^<CTL L> C
CTL M> R ^CTL C> *Vd) - CCTL N> / CCTL B> CCT\_ _
>"):P=7 <NZ>
40 OPEN #1,4,0,"D=MENU-PIC":I=USR<US,387
86,1214) <YU>
50 POKE 7O8,10:POK£ 709,I0=PQKE 710,0;PO
KE 82,0;POKE 560,11 <DC>
200 DIM (24000>,A#C25> <IW>
300 TRAP 300:POKE 559^34:CL0SE #1:PQP :E
R=PEEKt175):POKE 195,0s? "^ESC CTL <><ES
C CTL => 1 ESC CTL =1”:LD^LEN() <AD>
310 POKE 752,0;POKE 39977+P,2;POKE 39979
+P , 2= ? " ^ : INPUT # 16; A$: L=LE
N(A±) <BL>
320 IF L=0 THEN 400 <UN>
325 IF L<25 THEN FDR I^L+1 TD 25;A*<I,I>
= ‘^^*';NEXT I <GC>
327 D# (LD-*-1 , LD+25) =AS s ( LD+26, LD+30) = " 0
00 ^^^^ <BS>
330 POSITION 1,5;? “Sektor*#-i.INPUT
ttl 6 ;A^;L=LEN(A^>;IF L=0 OR L>3 THEN ? *'C
ESC CTL 2J";:G0T0 330 <IB>
350 D$(LD+29-LEN(A^l,LD+28)-A^ < DX >
360 POSITION 4,7:? “Indexe: 5 :INPUT #16
;AS:IF LENCAS)<2 THEN ? "lESC CTL 2J" 5 :G
□TG 360 <JN>
380 (LD+29,LD+30)=<I,2) <CJ >
390 GOTO 300 <MU>
400 POKE 752,1:? "iESC CTL <I";I^2 <K 6 >
üstlng 2 zu »Kappy-Disk$orter«.
Bitte mit dem Prüfsummer eingeben.
(Fortsetzung auf Seite 74_>
H. P. Blomcyer-eanenslein/R. Soth
Datenkomitiunikation und
Ukale Compuier-NeizweTke
2, überartwitate Auflage
Fabruar 1985, 28^ Seiten
Das Thema Datenkommunihaftion und
Rechnefnetze {Telematik) wird mit zu¬
nehmender Computerisierung unserer
Gesellschaft immer mtehr gn Bedeutung
gewinnen. Wer die EntwieWung der
Zukunft nicht verpassen will, sollte sich
<iaher in dieses wichtige Thema recht¬
zeitig einarbeiten. Dazu bietet das vor-
Tegende Buch die beste Möglichkeit.
Von Spezialisten geschrieben und den¬
noch iehcht verständlich führt es in das
komplexe Gebiet ein. Für entsprechend
vongebüdete Lfiser wenderr auch die
physikalischen und mathematischen
Zusammenhänge erläutert
MT 790
ESBK 3-89090-07^ OM DO,-
W. Jakobsen
Lexikon der modemen Elektronik
Juni 1985. 280 Seiten
Die zweite überarbeitete uiad erweiterte
Auflage dieses Standard-Werks bringt
ausführliche Ertäutefungenzuca. 3000
englischspraohigeri F^hbegriffen aus
der Welt der allgemeinen EtektroniPt,
Mik/oeJektronik, Computertechnik und
Software Das deutsch-englische Stich¬
wortverzeichnis und die Querverweise
zu den einzekien Stichwörtem machen
es zum idealen Nachschlagewerk fOr
Beruf, Ausbikdurig und htebby.
Eest,-Nf. MT 7S2
ISBN 3-89090-080-1 DM üZ,-
R Rösenbeck
Personal Computer Lexikon
2. überarbeitete Auflage
Oktober 1985. 200 Seiten
Dieses luexikon mit seiriten mehr als
1700 Stichwerten, mit gut lesbaren
Erklärungen und Htnfergrundinfornia-
tienen, mit emem ausgeerbeiteteri Vef-
weisungssystem und der Gegenüber-
steNung englischer urxi deutscher
fächbegriffc stellt ein unentbehrliches
Nachschlagewerk und Hilfsmittel für die
Arbeit mit Microoomputem dar.
BesL-Mn MT 758
ISBN 3-89090-11*-X
DM 32 ,-
Maikt STMhniii-Fiwhbüeher ertialten Se b« Ititem Buchhändler.
Markt&rechnik
BUCHVERLAG
M.-P. Gottlob/G. Strecker
BTX protossionell eingesetzt
1984. 287 Seiten
Wer sich mit dem Gedanken ti^l, selbst
BTX-AntHeter zu werdec, dieses neue
Medium in irgendeiner Weise beruflich
und geschäftlich zu nutzen, derbenötigl:
weitergehende informatiocen. als sie ei¬
ne Bnführung zu geben vermag. Das da¬
zu nötige Wissen vemnittelt das vorlie¬
gende Buch. Es hilft Ihnen, völlig neue
MögBchkeiten in Marketing und Wer¬
bung, bei Diensdeisturtgen. bei derlnfor-
matiorhsdistrlbution und bei Schulungen
zu erschließen, kurz: das neue Medium
BTX professionell, das heiBl kostensen¬
kend und gewinr>bringend einzusetzen.
• BTX professionell riutzen!
Best.-Nr. MT 530 ___
ISBN 3-922120-52-0 QM 68 ,—
Hffc-niiserstsrafl« z, 8D13 Hur kd Mbiicima
73
410 POSITION 1,1:? "^ESC ESO^ESC CTL -J
■':GET #2, A: POSITION 1,1:? " : 1 = 1+5* CA=4
2 AND I<37>-o*tA=43 AND I>25 <RA>
430 IF A=155 AND (LD>0 OR 1=27 GR 1=37)
THEN CNT=LD/30:ON <l-2>/5+l GOTO 2000,10
00,3000,4000,5000,6000,7000,S000 < UC>
440 GOTO 410 <Ne>
1000 STA=CNT:STO=0:PLMI=-1 <IP>
1010 D=0sC=D:7 "-CESC CTL <>":GOSüB 7600:
? '*CESC CTL =J<;ESC CTL =>":POKE 3V977+P,
n2:POKH 39979+P,112 <yN>
1020 GOSUB 7400:7 <WK>
1030 BTA^STA+PLNI <SX>
1035 IF STA=STO THEN GOSüB 1100:GOTO 300 <RV>
1040 IF PEEK<S4)=17 THEN GOSUB 1100:GOTO
1010 <HN>
1050 GOTO 1020 <ÖD>
1100 POSITION 3,P+4:? CESC ESC^ ^ESC CTL
*>":GET #2,A:IF A=32 THEN RETURN <NS>
1103 IF A=43 OR A=42 THEN STA=STA-PLMI:S
TO=0+ C CNT+1> * C STO=0):PLHI=-PLNI:RETURN < MN >
1105 IF A=27 THEN 300 <AX>
1107 IF A=155 THEN 1500 <NC>
1108 POSITION 3,P+4:7 <NW>
1110 P=P+1*<A=61 AND P<14)~1*CA=45 AND P
>0)=POSITION 3,P+4:7 "CESC ESOCESC CTL
*>" <EQ>
1120 FOR 1=1 TO 5=P0KE 37975+1+P,2+110*C
1=2 OR I=4>:NEXT IsGOTO 1100 <RN>
1500 UD=0sPOSITION 3,P+4:F0R 1=0 TO 2:7
"CESC CTL +>"; :LD=LD+10""I#(PEEK<93)-16> :
NEXT I:LD=CLD-1>*30:? "CESC CTL <>** <Ü0>
1505 IF LD<0 THEN 300 <IS>
1510 POSITION 12,3:7 (LD+1,LD+25>;"CES
C TAB>CESC TAB^CESC TAB>CESC CTL =3CESC
CTL *5CESC CTL *JCESC CTL *JCESC CTL *>C
ESC CTL *>”;D^(LD+26,LD+2S);"CESC CTL =>
CESC CTL =>CESC CTL +JCESC CTL +>CESC CT
L +J(LD+27,LD+30):POSITION 0,3:GOTO
310 <MR>
2000 TRAF 2020:GOSUB 2500:GOTO 2030 <00>
2020 GOSUB 2100 <XP>
2030 STA=STA-P:IF STA<1 THEN STA=1 <YG>
2040 STO=CNT+l:PLMI=l:GOTQ 1010 <LF>
2100 F=USR C3Ö786,CNT,ADR(,ADR) ,30,
LENtAS>>:lF F=0 THEN 300 <BV>
2110 STA=CNT-F+liRETURN <MU>
2500 ? "CESC CTL OCESC CTL =1 CESC CTL =
> CESC TABJGebej^TerniAQderANumiiier*ein CESC
CTL =>":? “CESC TAB5===>^''; = INPUT #16;A«
:STA=VALCA^):IF STA<1 OR STA>CNT THEN 30
0 <UK>
2510 RETURN <PH>
3000 STA=1:ST0=CNT+1:PLMI=1:G0T0 1010 <JD>
4000 ? "CESC CTL <>" <KT>
4010 POSITION 0,6:7 "CESC TAB>l*=>*Namen
^sortieren CESC CTL =:^ " : 7 "CESC TABJ2^=>*
Index^sortierenCESC CTL =>":GET #2,A:P0K
E 559,0 <BZ>
4020 IF A=49 THEN I=USR(38925,ADR,30
,CNT,1,28,0,29,2,0) <20
4030 IF A=50 THEN I=USR C38925,ADR tD«>,30
,CNT,29,2,0,1,28,0) <VA>
4040 POKE 559,34:GOTO 300 <SQ>
5000 TRAF 5820:GOSUB 2500:GOTO 5030 <TQ>
5020 GOSUB 2100 <XS>
5030 7 "CESC CTL =>":GOSUB 7400:7 :? "CE
SC CTL =>CESC CTL =>CESC TAB>CESC CTL
CESC CTL *>CESC CTL *>Name^Loeschen*<J/N
V'-_GET #2,A:IF A074 THEN 300 <FX>
5100 IF STA=CNT THEN 5200 <XJ>
5110 D^C5TA*30-29,CNT*30-30> =D^tSTA*30+l
,CNT*30) <WT>
5200 D^(CNT*30-29)="":CNT=CNT-1:GOTO 500
0 <EG>
6000 7 "CESC CTL OCESC CTL => CESC CTL =
JCESC CTL =>CESC CTL =>CESC CTL =JCESC C
TL =>CESC CTL CESC TAB:M^=>^Dii-eiztory C
ESC CTL =>":? "CESC TAB>2^=>^SpeiehernCE
SC CTL =:J" = 7 "CESC TAB>3^=>*LadenCESC CT
Lrstmg 2 zu »Happy^Disksorter« (Schluß)
L =3":? "CESC TAB>4*=>*Dir-..CESC ESC J CESC
CTL *>^Natne": 6 ET #2,A <WE>
6040 IF A>4S THEN ON A-48 GOTO 6100,6200
,6200,6500 <JX>
6050 GOTO 300 <01>
6100 OPEN ^H,6,0,"D:*.*" <i<R>
6110 7 "CESC CTL <>":? =7 ,“Fi1enams^^Ex
t. _^^Laenge":? , " CCTL ri> CCTL rt> CCTL M3
CCTL M3CCTL M3CCTL M>CCTL M>CCTL M3**CCT
L M3CCTL M3CCTL _^*CCTL t13 CCTL M3 CC
TL MJCCTL M3CCTL M3CCTL M>" <SV>
6120 INPUT # 1 ;AS:IF A^ (2,2) THEN 7
:? ,A$:GET #2,A:CL0SE #1=G0T0 6000 <PT>
6130 IF PEEK(53279)=6 THEN 6130 <BV>
6140 POSITION 0,4:7 "CESC SHIFT DEL>":PO
SITION 10,17:7 AS(3,10),ASCII,13),A^(15,
17>:GOTO 6120 <AC>
6200 POKE 752,0:7 "CESC CTL =ICESC CTL =
>Fil 0 name^?^C CTL Y> CS^Zeichen) CCTL Y> = *"
5 :INPUT #16;AS=P0KE 752,1:L=LEN<AS>:IF L
=0 OR L >8 THEN 6000 <QC>
6410 AS<11)=AS(1,L):AS(1,2)="D:":A^(3>=A
SCll, 10 +L):AS<3+L)=".STR" <BA>
6420 IF A=50 THEN OPEN #1,8,0,AS:7 #1;LD <KJ>
6430 IF A=51 THEN OPEN #1,4,0,AS:INPUT #
1; LD; DS="-.." : DS CLD-1 > =DS: DS C2> =DS <XA>
6440 I=USR(US,ADR(DS),LD):GOTÜ 6000 <JB>
6500 POKE 559,0:OPEN #1, 6 ,0,"D:*-*” <LB>
6510 INPUT #1;AS:IF AS (2,2) THEN PO
KE 559,34=CLOSE #l:GOTO 6000 <DI>
6520 DSCLD+26,LD+28)=ASC15,17)=AS=ASC3,1
O) : AS <9) : DS (LD+1 ,LD+
25)=AS:DS(LD+29)="**" <SY>
6530 LD=LD+30:GOTO 6510 <WM>
7000 7 "CESC CTL =>CESC CTL =>CESC CTL =
>CESC CTL =>CESC CTL = J CESC TAE> l-,.==>*Dr
iicke*2*SpaltenCE3C CTL =>":? "CESC TABI2
*==>*Drucke*3*Spalten" <PH>
7020 GET #2,A:1F A<49 OR A>S0 THEN 300 <VN>
7030 D=1:C=0!OFEN #D,4,0,"P=":IF A=50 TH
EN 7100 <5J>
7040 7 #D;"CESC ESOJCCTL GOSUB 7600
:GOSUB 7600=7 #D:7 #D <XV>
7045 STO=INT(CCNT-0-1)/2)+l <NF>
7050 FOR 1=1 TO CNT <TK>
7060 STA=I:GOSUB 7400:STA=STO+I=GOSUB 74
00:7 #D:NEXT 1:GOTO 300 <GT>
7100 ? #D5"CESC escJ!CCTL DJ":GOSUB 7600
:GOSUB 7680:GOSUB 7600:7 #D:? #D <AQ>
7110 ST0=INT(CNT/3):R=CNT/3-ST0 <TN>
7120 FOR 1=1 TO CNT:S2=I+ST0+1*(R>8) <JL>
7130 STA=I:GOSUB 7400:STA=S2:GOSUB 7400:
STA= S2+STO+1*(R >0.5):GOSUB 7400:7 #D:NEX
T I <WU>
7400 GOSUB 7500=7 #D;AS;";DS(LD-29,LD“
5) ; “**";DS(LD“-4,LD-2) ; ; DS(LD-1,LD) ;
*";=RETURN <FA>
7500 C=C+1:IF OCNT THEN 7 #D:CLDSE # 1 :G
OTO 300 <TZ>
7510 AS="00O":AS C 4’LEN C STRS(STA)))=STRS <
STA):LD=STA*30 s RETURN < XI>
7600 7 #D; "Nr-***** >>>*Programm-.<<<**^*
k I n ; = RET URN < AV >
8000 TRAP 9200:POKE 39982,7:POSITION 0,9
: ? " " ; : GOSUB 900O+ER < X J >
8002 7 :7 "CESC TAB>CESC TABJCESC TAB>CE
SC TABiDruseke*eine*Ta^te"iGET #2,A:POKE
39-982,2: POKE 195,0: GOTO 300 <KM>
9000 7 "*^KEIN*FEHLER“:RETURN <SA>
9137 7 "-..^FILE^FEHLER": RETURN <PX>
9138 ? "^GERAET*FEHLT":RETURN <inQ>
9144 ? "FEHLER*iri*GERAET": RETURN <BR>
9162 7 "^DISKETTE^VOLL“:RETURN <NI>
9163 7 "*SYSTEM^FEHL£R":RETURN <HQ>
9165 7 "FILENAME*F£HL£R":RETURN <FX>
9167 7 "FILE^GESCHUEZT":RETURN <EI>
9169 7 "DIRECTORY*VOLL"=RETURN <NE>
9170 GOTO 9165 <XH>
9173 7 "FORMAT*SCHLECHT":RETURN <YT>
9200 ? "-..*FEHLER^";ER:GOTO 8002 <GI>
74
Submission -
ein Weg
voiier
Gefahren
Böse Zungen behaupten, es gibt keine Heiden
mehr. Falsch! Auf gar mancher Diskette eines
Atari 800XL/130XE kämpfen sie für das hohe ideal
der Freiheit.
ur die Besten werden überleben. Unter diesem
Motto gilt es sich zu beweisen, denn in den tiefen
Gängen des Labyrinths im Spiel ^Submission« lauert
der Tod mit seinen tausend Gesichtern.
Ziel der Mission ist die Befreiung einer Frau. Der Weg zu ihr
führt durch verschiedene Ebenen, die durch Leitern mitein¬
ander verbunden sind. Das Kiettem ist dabei noch das ein¬
fachste, aber es wäre kein Action-Spiei, gäbe es nicht vieie
Gefahren, die einem das Leben schwermachen. Da plagt man
sich mit Krokodilen, Spinnen und Minen, auch an Selbst¬
schußanlagen fehlt GS nicht. Unterwegs kann man Gold¬
schätze aufsammeln, für die es natürlich Punkte gibt. Pro
gelungener Befreiungsaktion gibt es dann einen Bonus. Die
Abwechslung kommt nicht zu kurz, denn je nach Belieben
stehen sieben verschiedene Schwierigkeitsgrade zur Verfü¬
gung. Ein weiterer Pluspunkt ist die leichte Handhabung des
Spiels. Die einzelnen Spielvarianten ändert man über die
SELECTTasta Durch Drücken der STARTTaste ist man gleich
mitten im Geschehen und nur noch auf die meisterliche
Handhabung des Joysticks angewiesen.
Submission« ist zu 100 Prozent in Maschinensprache
geschrieben. Daraus ergibt sich auch die Schnelligkeit des
Spielablaufs. Bevor Sie jedoch das Usting zu »Submission«
eingeben, müssen Sie unbedingt den AMPEL aus diesem
Sonderheft abtippen. Das erleichtert Ihnen die Eingabe von
Atari-Maschinensprach-Programmen. Automatisch werden
sämtliche Tippfehler erkannt und auf dem Bildschirm ange¬
zeigt. (Peter Raab/wb)
Peter Blümer, der Autor des Spiels »Submission«, ist
unseren Lesern schon bekannt. In Happy-Computer, Aus¬
gabe 1/85, veröffentlichten wir bereits ein anderes, aller*
dings in Basic programmiertes, Spiel »Die Schatzhöhle«.
Mittlerweile ist für ihn das Wort Maschinensprache kein
Fremdwort mehr, wie das Spiel »Submission« beweist. Die
Umsetzung von der Idee zum tatsächlichen Spiel ist vor¬
züglich gelungen. Obwohl das zugehörige Usting ent¬
sprechend lang ist, wird sich der Aufwand, es in den Atari
einzugeben, wirklich lohnen.
PROGRAMM-STECKBRIEF
Programmname
Submission
Programmtyp
Spiel
P rog rammi ersprache
Assembler
Programmiänge
11 688 Byte
für Computer
800 XL/130 XE
zusätzliche Hardware
Diskettenlaufwerk oder
Kassetten- Recorder
Eingabehilfe
AMPEL
Bemerkung
Labyrinth-Spiel
Leserservice
Diskette (SUBMISS.COM)
O0Bfl=FF
FF
OO
06
BA
06
A9
00<4F>
0130
02
02
02
02
02
02
02
02<32>
0260:03
00
00
0O
00
0O
00
00<E5>
0009=80
44
02
85
41
eD
C6
ß2<22>
0138
02
02
02
02
02
02
02
02<3A>
0266;00
00
00
00
00
00
00
O0<6C>
0010:8D
C5
02
8D
CS
02
AD
30<E8>
0140
Ol
03
03
03
03
03
03
03<41>
0270=00
02
02
02
02
02
02
02<73>
0018=02
85
CE
AD
31
02
85
CF<72>
0148
03
03
03
03
03
03
03
03<4A>
0278;02
02
02
02
02
02
02
02<7C>
0020;A0
0B
A9
46
91
CE
CS
A9<A2>
0150
03
03
03
03
03
00
0O
O0<3D>
0280:02
02
02
02
01
03
03
03<83>
0028=57
91
CE
C8
A9
06
91
CE<CA>
0158
00
00
00
00
00
O0
00
00<5A>
0288:03
03
03
03
03
03
03
03<8C>
0030;CB
A9
06
91
CE
138
A9
07<36>
0160
00
00
00
OO
00
00
00
00<62>
0290=03
03
03
03
03
03
03
03<94>
0030191-
C9
A9
06
91
CE
C8<8F>
0168
00
00
OO
0O
O0
00
00
00<6A>
0298:03
00
00
00
00
9F
00
A0<38>
0040= A9
06
91
CE
A9
36
8D
C4<O0>
0170
0O
00
00
00
00
00
00
00<72>
O2A0:O0
9F
00
00
00
oa
OO
00<4C>
0048=02
A9
01
85
09
AO
50
A2<39>
0178
00
O0
OO
00
00
00
00
O0<7A>
02A8:OO
02
02
02
Ol
OO
OO
00<95>
0050=06
A9
06
4C
5C
E4
DS
EE<43>
0180
OO
00
00
00
m
00
00
00<S2>
02B0;00
9F
O0
AO
00
9F
00
0O<D0>
0058:07
02
4C
SF
E4
O0
0O
0O<BA>
0189
00
00
00
00
00
0O
00
00<8A>
0288:00
OO
0O
00
00
03
03
03<D1>
0060= 00
0O
00
2C
2F
21
24
29<92>
0190
00
00
00
00
00
OO
00
0O<92>
O2C0:83
00
00
OO
00
00
00
0O<46>
0068=:^
27
00
OO
00
00
00
00<09>
0199
00
00
00
00
0O
0O
00
00<9A>
02C8:00
00
0O
00
00
F8
23
F3<£S>
0070= 00
00
00
00
00
OO
00
0O<70>
01A0
00
00
00
00
00
00
O0
00<A2>
02DO:24
OO
00
00
00
02
02
02<F4>
0078=00
00
00
00
00
0O
00
00<7S>
01A8
00
00
OO
00
00
44
44
O0<42>
02D8:01
00
00
00
00
00
00
00<5D>
0080:00
00
00
00
O0
00
00
00<80>
OlBO
47
48
02
02
02
02
02
02<E6>
O2EO:00
00
00
00
00
00
00
00<E4>
0088:00
00
F3
F5
E2
ED
E9
F3<ED>
01B8
01
00
00
00
OO
00
00
00<3e>
02E8£O0
03
03
03
03
00
OO
00<56>
00901F3
E9
EF
EE
00
00
00
00<O1>
OICO
00
45
45
O0
C9
4A
03
03<31>
02FO= 00
00
00
00
00
00
00
0©<F4>
0098:00
00
OO
00
O0
OO
O0
0O<98>
OlCS
03
03
03
03
03
FC
22
F7<E0>
O2F8:00
00
OO
00
00
02
02
02<0B>
00AO;00
00
00
00
00
OO
00
00<AO>
OIDO
23
00
00
00
00
00
00
0O<64>
0300;01
00
00
00
00
00
00
O0<B6>
O0A8i 00
00
00
0O
00
00
O0
22<CA>
01D8
0O
45
45
00
48
4C
02
02<62>
0309:00
00
OO
00
00
00
00
0O<0E>
00B0:39
0O
30
25
34
25
32
00<3E>
01EO
02
02
02
02
01
00
00
00<CC>
0310= 0O
OO
DE
03
03
00
00
00<1A>
0088=22
2C
35
25
2D
25
32
O0<2E>
OiEB
00
00
00
00
00
46
46
00<8C>
0318:00
00
00
00
00
00
00
O0<lE>
00CO;00
E2
02
E3
02
OO
06
0C<O£>
O1F0
CE
CD
03
03
03
03
03
03<CA>
0320:00
00
00
00
00
00
00
O0<26>
00C8:00
0D
00
00
22
00
22
FB<5C>
01Fa
03
02
02
02
01
00
00
00<6S>
0328:00
28
25
2C
30
0E
OE
0€<7B>
00DO;22
AO
5F
A2
E4
A9
06
20<CD>
0200
00
00
00
00
00
00
OO
0O<04>
0330; 0E
00
00
00
OO
OO
0O
a0<3D>
00DG:5C
E4
4C
72
49
00
OO
0O<8A>
0208
00
00
00
00
00
03
03
03<21>
0338:00
00
O0
00
00
00
00
00<3E>
00EO100
00
00
00
00
00
00
0O<E0>
0210
03
00
O0
00
00
00
00
00<95>
0340: 00
00
00
00
00
OO
00
0O<46>
00EBi00
00
00
00
00
00
00
00<E8>
0218
00
00
00
00
00
00
00
O0<1C>
0348;00
00
00
00
00
00
00
0O<4E>
0OF8:00
00
00
OO
00
00
OO
O0<FO>
0220
00
02
02
02
01
00
00
00<0D>
0350=00
00
00
00
m
00
00
00<56>
OOFS:00
00
00
00
00
00
00
0O<F8>
0228
00
00
00
00
00
00
00
0O<2C>
0358= 02
02
02
02
02
02
02
02<3E>
0100=00
00
O0
O0
00
00
0O
O0<O2>
0230
00
00
00
00
00
03
03
03<49>
0360: 02
02
02
02
02
02
02
02<66>
0109=00
00
00
00
00
00
00
O0<0A>
0238
03
00
00
00
00
00
00
00<BD>
0368: 02
02
02
01
03
03
03
03<6D>
0110:00
00
00
00
00
00
00
0O<12>
0240
00
00
00
00
00
00
00
00<44>
0370:03
03
03
03
03
03
03
03<76>
0118=00
00
00
00
00
00
O0
00<1A>
0248
00
02
02
02
01
OO
OO
00<3S>
0378:03
03
03
03
03
03
03
03<3E>
0120:00
00
00
00
00
00
OO
0O<22>
0250
00
00
OO
00
00
00
00
O0<54>
0380:00
00
00
00
OO
9F
00
O0<Oi>
0128:00
00
00
00
O0
02
02
02<38>
0258
00
00
00
00
O0
03
03
03<71>
0388:00
00
00
00
00
00
O0
AO<2E>
Ltsting zu »Submission«. Bitte mit AMPEL eingeben.
75
0390: il£)
00
OO
00
00
OO
00
00<96>
0396:00
9F
00
00
00
00
00
0ß<46>
I33A0; 00
DO
00
A0
00
00
OO
0O<AO>
03A8I02
02
02
02
01
0O
OO
00<9S>
03B0:44
44
00
47
48
02
02
02<A6>
03BQ:02
02
02
01
03
03
03
03<7D>
03C0-03
00
00
00
45
45
0O
C9<50>
03Ca:4A
03
03
03
03
F4
24
EF<64>
031>0:25
03
03
03
02
02
02
02<D8>
0303101
0O
OO
00
45
45
O0
4B<E1>
O3E0:4C
02
02
02
02
02
02
01<8A>
03ES:O3
03
03
03
03
OO
OO
0O<D9>
B3r0i4S
46
OO
CE
CD
03
03
03<8Ö>
03FB:03
03
03
03
02
02
02
02<6F>
0400:02
02
02
02
02
02
02
O2<08>
0408:02
02
02
02
02
02
02
O1<0F>
0410:03
03
03
03
03
03
03
03<1Q>
0413:03
03
03
03
03
03
03
03<20>
0420:03
03
03
03
02
02
02
02<19>
0423:02
02
02
02
02
02
02
02<30>
0430:02
02
02
02
02
02
02
01<37>
0433;03
03
03
03
03
03
03
03<40>
0440:03
03
03
03
03
03
03
03<4a>
0448:03
03
03
03
02
02
02
02<41>
0450:01
00
DO
00
AO
00
00
9F<7C>
0453:00
00
OO
02
02
02
02
01<9D>
0460:03
03
03
03
03
O0
El
0O<1S>
0468:A0
00
0O
9F
OO
El
00
03<C0>
0470:03
03
03
03
02
02
02
02<69>
0478:01
00
00
00
A0
0O
00
9F<AS>
0480:00
OO
OO
02
02
02
02
01<C5>
0488:03
03
03
03
03
00
00
00<78>
0490:A0
OO
OO
9F
00
00
OO
03<D5>
0498:03
03
03
03
00
00
00
9F<12>
O4A0:0O
ftO
00
9F
00
AO
0O
9F<A8>
04A8:00
A0
00
9F
00
00
00
00<82>
0480:00
00
0O
9F
00
AO
00
9F<C0>
04B8:00
AO
00
9F
OO
AO
00
9F<F0>
O4C0:O0
OO
00
O0
0O
00
OO
9F<67>
04C8:9F
00
00
A0
A0
F0
25
EB<24>
04D0:26
OO
00
A0
A0
00
00
9F<81>
0488:9F
00
00
00
00
OO
00
9F<CF>
04E:0:9F
00
OO
AO
AO
OO
00
A0<D7>
04E8:A0
00
00
9F
9F
OO
00
00<B7>
04F01O0
O0
0O
0O
00
vm
OO
0O<FÖ>
04F8:0O
O0
0O
O0
00
00
00
00<00>
0500:02
02
02
Ol
OO
00
0O
0O<DB>
0508:00
00
00
00
00
00
00
00<12>
0510:00
00
00
00
03
03
03
03<47>
0513:02
02
02
02
02
02
02
02<22>
0520: 02
02
02
02
02
02
02
02<2A>
0523:02
02
02
Ol
03
03
03
03<31>
0530:03
03
03
03
03
03
03
03<3A>
0533:03
03
03
03
03
03
03
03<42>
0540=02
02
02
02
02
02
02
02<4A>
0543:02
02
02
02
02
02
02
02<52>
0550:02
02
02
01
03
03
03
03<59>
0553:03
03
03
03
03
03
03
03<62>
0560:03
03
03
03
03
03
03
03<6A>
0568:00
00
OO
00
00
00
00
O0<72>
0570:00
00
00
00
00
00
00
00<7A>
0578:00
00
O0
00
0O
0O
O0
00<Ö2>
0580:00
00
00
O0
00
OO
00
O0<8A>
0583:00
00
OO
00
00
00
O0
00<92>
0590:00
00
00
00
00
00
00
O0<9A>
0593:00
00
O0
00
00
00
O0
Ba<A2>
05AO:00
00
00
00
00
00
00
00<AA>
05A3:O0
00
00
00
00
00
OO
0O<B2>
05BO:00
00
00
m
OO
00
00
O0<BA>
0588:00
00
0O
00
00
OO
00
0O<C2>
0500:00
00
02
Ol
00
00
00
O0<lß>
0508:00
00
00
00
00
EC
26
E7<B5>
0SD0:27
00
00
0O
00
00
O0
00<6E>
O5DS=02
Ol
03
03
00
00
00
0O<B4>
05E0:00
O0
00
00
00
00
00
0O<EA>
O5E8:O0
00
OO
00
03
03
02
OKIO
05F0:00
00
00
OO
00
00
00
O0<FA>
OSFSiOO
00
OO
00
00
OO
00
0D<02>
0600:02
01
03
03
OO
00
OO
00<1)D>
0608:00
00
00
00
00
OO
00
0O<14>
0610:00
00
00
OO
03
03
OO
O0<4O>
0613:00
OO
00
00
00
OO
0O
00<24>
0620:00
00
OO
00
00
00
00
0O<2C>
0623:00
OO
00
00
OO
OO
00
0O<34>
0630: 0O
OO
00
O0
OO
00
00
O0<3C>
0638:00
OO
0O
00
OO
00
D0
0O<44>
0640:00
OO
00
00
00
OO
00
O0<4C>
0648:00
OO
0O
O0
00
00
00
O0<54>
0650:00
OO
00
00
00
0O
00
O0<5C>
0653:00
00
00
OO
00
00
OO
O0<64>
0660:OO
00
00
00
00
00
00
0O<6C>
0668:00
00
00
00
00
00
DO
0O<74>
0670:00
00
00
DO
00
00
00
00<7C>
0678:00
00
02
02
02
02
Dl
00<FE>
0630:00
00
47
48
00
44
44
0D<93>
0688:00
00
00
00
OO
00
03
03<9D>
0690:03
03
03
00
00
00
C9
4A<1A>
0698:00
45
45
00
DO
00
00
00<9E>
06AO:00
00
02
02
02
02
Ol
00<27>
06A3:OO
O0
4B
4C
00
45
45
00<7O>
O6B0:00
00
00
00
m
DO
03
03<CS>
06B8:O3
03
03
00
0O
00
CE
CD<DO>
06C0:OO
46
46
00
00
00
00
00<O7>
Q6C8:00
00
00
00
00
Ea
27
34<F6>
06D0:2B
00
00
00
00
00
00
0O<F0>
06D8:00
00
00
00
DO
00
DO
00<E4>
06EO:00
OO
00
00
00
00
00
00<EC>
O6ES:00
OO
OO
00
00
00
OO
00<F4>
O6F0:OO
O0
0O
OO
DO
O0
02
02<03>
06F8:02
Ol
00
00
00
00
DD
00<45>
0700:00
AO
00
00
9F
00
00
00<2B>
0708:00
00
03
03
03
03
0O
00<CA>
0710:00
00
O0
00
00
A0
00
0O<9C>
071S:9F
O0
00
OO
OO
00
35
2S<86>
0720:2E
29
E6
IB
3D
50
IB
BA<i5>
0728:E9
lE
53
83
BB
E6
IB
E6<9E>
0730:F0
23
3S
23
53
BC
58
IE<94>
0738;87
BD
23
03
87
23
BC
58<66>
0740:F0
EF
59
24
BD
87
53
S8<A0>
0748:BD
88
23
88
BC
E9
D7
OA<AC>
0750:50
EF
F0
23
56
BC
89
F1<A9>
0758: 56
23
BC
89
Fl
26
5B
50<10>
0760;BD
23
58
BC
88
87
90
59<20>
0768:24
BD
5B
BD
90
59
24
a7<4B>
0770:23
BC
58
38
BD
53
5B
26<3D>
0778:23
Fl
89
BC
23
2D
C5
56<CE>
0780:Fl
89
BC
23
Fl
39
FS
26<D2>
0788:Fl
89
BC
95
23
95
A6
2D<15>
0790:C4
F9
Fl
89
62
56
A6
95<EC>
0798:20
C4
C4
F9
23
Fl
F8
40<43>
07A0;41
49
41
41
41
41
42
42<AF>
07A8:42
42
40
41
40
42
43
44<S8>
07B0:43
43
43
43
42
43
44
43<B4>
07B8:44
43
43
43
43
42
43
44<1B>
07C0:44
44
43
42
42
44
44
43<34>
07CB: 44
43
41
43
49
41
43
44<46>
07D0;45
45
45
45
45
45
45
45<S6>
0708:45
45
46
46
41
44
43
43<44>
07E0:43
44
43
46
44
44
44
46<E7>
07ES: 44
46
44
44
43
43
43
43<DF>
07F0:44
44
42
46
46
45
45
45<6B>
07Fa:45
45
47
46
45
45
45
45<2D>
0B00:45
45
45
46
46
45
45
45<D3>
0808:47
45
47
48
47
47
47
45<63>
0810:45
47
45
43
47
47
47
47<DA>
0818:47
45
45
46
2F
29
2A
2A<A2>
0820:70
70
70
46
5C
22
06
C6<EC>
0828:56
29
07
06
06
06
06
02<45>
0830:02
02
02
02
C6
34
22
06<6B>
0838:06
06
46
CF
24
06
06
06<CD>
0340:46
5C
22
06
41
2F
29
0O<FF>
0848:00
O0
00
DO
0O
00
00
00<58>
0850:OO
00
OO
OO
DD
OÖ
OO
00<6O>
0858:00
00
DD
0D
00
08
O0
oo<6a>
0860:F3
F5
E2
ED
E9
F3
F3
E9<14>
0868: EF
EE
00
00
00
00
00
00<6B>
0870:00
00
00
00
00
00
00
00<30>
0878: O0
OO
0O
00
00
00
OQ<3e>
0880:00
OO
00
DO
00
22
39
O0<3B>
0888:30
25
34
25
32
00
22
2C<B4>
0390:35
25
2D
25
32
00
OO
00<CD>
0893= 00
00
23
2F
30
39
32
29<EB>
ß8A0:27
23
34
00
11
19
18
15<06>
08A8;00
00
00
00
00
OO
OO
00<D8>
O3B0:00
00
OO
00
00
00
OO
oo<co>
08B8:00
00
00
00
00
00
0D
2C<F4>
08C0E21
33
34
OD
33
23
2F
32<3A>
08CB:25
lA
0O
O0
OO
00
0O
00<F1>
08DO:OO
0O
OO
OO
OO
28
29
27<FA>
08D8:28
0D
33
23
2F
32
25
1A<3F>
08E0:10
lO
lO
10
18
10
lO
0D<D0>
03E8:0O
00
00
DO
0O
0O
0D
O0<FS>
08FO;00
00
00
00
00
00
00
0O<0O>
O8F8:00
00
00
OO
00
00
00
00<08>
0900:00
00
00
00
00
00
OO
0O<12>
0908:80
O0
OO
OO
0O
0O
OD
00<1A>
0910:00
OO
30
32
25
33
33
0O<A7>
0918:33
25
2C
25
2ß
2A
26
2B<SE>
Listing 2u ^Submission« (Fortsetzung)
0920:23
34
D0
34
2F
00
23
2e<FB>
0926=21
2E
27
25
00
33
34
21<E3>
0930:32
34
29
2E
27
00
33
35<34>
0938=22
OO
00
00
00
ma
DD
0O<5B>
0940:00
00
00
00
00
00
00
0D<52>
0948:00
00
00
OO
DO
DO
11
00<7C>
0950:00
OO
00
00
00
OO
00
00<62>
0958:00
00
00
00
DO
00
00
00<6A>
0960:00
OO
0O
00
OO
00
00
00<72>
0968:00
30
32
25
33
33
00
33<7B>
0970:34
21
32
34
00
34
2F
0O<9D>
0978:30
2C
21
39
00
2E
25
37<9F>
0980:00
27
21
2D
25
00
00
DfiKSO
0988:00
OO
00
00
m
00
00
fl0<9A>
0998:00
00
OO
00
DO
OO
00
00<A2>
0998:00
00
00
OO
00
00
00
0O<AA>
09AO: 00
00
00
00
00
00
O0
00<B2>
09AB:00
00
m
OO
00
00
DO
00<BA>
09B0:00
00
00
00
00
80
00
00<C2>
09B8:A9
00
BD
2F
02
BD
C5
02<71>
09C0:8D
C8
02
BD
C6
02
A9
40<DD>
09C8:BD
OE
D4
A2
00
BD
2F
29<D3>
09D0:9D
86
06
EQ
E0
46
DO
F5<92>
09D8=A9
80
8D
F4
02
A9
A6
SD<88>
09E0:C4
02
A9
86
8D
30
0(2
A9<9C>
09E8:D6
8D
31
02
PO.
00
BD
5D<4C>
09F8;48
9D
D9
29
ES
EO
OB
D0<99>
09F3:F5
A9
6E
8D
OO
02
A9
:^<09>
OAO0:8D
01
02
A9
C0
8D
OE
D4<06>
0AO3:A9
22
BD
2F
D2
AD
IF
DO<CE>
0A10:C9
05
DO
IB
AD
73
30
C9<E2>
0A18:OO
DO
14
A9
27
2B
B5
2B<B7>
OA20:Ol
8D
78
30
EE
59
2A
AD<9F>
0A2a:59
2A
C9
13
DO
05
A9
11<D4>
0A30:BD
59
2A
AD
IF
DO
C9
07<C1>
0A3S:DO
05
A9
OO
SD
78
30
EE<23>
0A40:79
30
AD
79
30
C9
FF
D0<3C>
0A43:08
A9
00
BD
79
30
20
E6<04>
0A50;35
AD
78
30
C9
00
DO
B9<DB>
0A58:AD
IF
D0
C9
86
D0
B2
A9<SE>
0A60:0i
SD
78
30
4C
7E
49
4S<40>
0A68:86
CC
AD
DB
D4
C9
3C
BO<6A>
0A7O:1F
A9
79
8D
09
D4
A2
00<11>
OA78:A5
CD
8D
DA
D4
8D
19
D0<97>
0A80=E6
CD
E9
E0
DF
D0
Fl
A9<3B>
OA8B:OE
8D
17
DO
A6
CC
63
4®<13>
0A9O:A9
A4
8D
18
DO
A9
30
aD<4a>
0A98:OA
m
8D
09
D4
A9
34
QD<27>
0AA0=16
D0
A9
16
8D
17
DO
A9<3B>
0AA8;1E
8D
19
D0
4C
93
2B
B6<10>
OABD:2B
Bl
2C
AF
AF
AC
AA
A8<1A>
0AB8: A5
A2
AO
0A
00
00
0D
01<3D>
0AC0:00
00
00
OA
00
00
01<76>
0A€8:00
01
OO
0A
00
00
00
01<BE>
OADO:O0
00
OO
0A
01
OA
Dl
01<BS>
0ADS=O1
01
01
0C
OC
DA
08
06<2D>
0AE0:04
OO
F3
F3
60
6D
79
79<7B>
OAE8=A2
A2
90
90
60
60
79
79<4F>
0AF8:90
90
B6
B6
5B
5B
79
79<36>
0AFa;9O
90
A2
A2
51
51
6C
6C<D3>
0BO0:30
80
51
00
51
00
51
0O<AD>
0B08:51
00
60
00
60
00
60
O0<94>
OBI0:60
OO
5B
00
SB
O0
60
0CK3D>
OBlB:5B
0D
6C
6C
6C
6C
6C
6G<55>
0B2O:6C
00
79
79
79
00
79
79<5A>
0B2B:79
00
90
90
90
0D
90
90<13>
0830:90
00
B6
B6
B6
00
B6
B6<F7>
0B39:B6
00
A2
A2
A2
A2
A2
A2<14>
0B40:A2
00
A2
00
A2
OO
A2
0D<CD>
0B48:A2
OO
90
OO
90
OO
90
00<C4>
OB50:9O
OO
79
00
79
DO
79
0D<12>
0B50:79
00
6C
6C
6C
6C
6C
6C<4C>
0B60:6C
00
60
00
60
DO
60
OD<FB>
OB6S:60
00
90
OO
90
00
90
00<C5>
0B70:90
00
5B
5B
SB
00
5B
SB<D4>
OB7B:5B
00
30
80
80
80
80
B0<A3>
0B30=8O
00
EA
A0
AB
A2
2C
A9<F9>
0B83= 07
20
5C
E4
A9
CD
SD
OE<61>
0B9O:D4
A9
00
8D
08
D2
8D
7D<E5>
0B98:30
8D
7C
30
8D
7A
30
BD<F8>
0BA0:7B
30
A9
03
BD
DF
D2
6D<4B>
OBA8:D8
86
CE
AE
7A
30
BD
B2<60>
0BBO:2C
63
2D
E5
2B
8D
00
D2<07>
,OBB8;AE
7C
30
BD
E5
2B
C9
O0<BD>
OBCO:F0
06
BD
D6
2B
8D
01
D2<A6>
0BC8:AD
7C
30
C9
07
DO
29
A9<19>
OBDOeOO
8D
7C
30
BD
03
D2
E£<9e>
06D8:7A
30
EE
TB
30
AD
7A
30<84>
0BEO: C9
20
DO
14
A9
DO
8D
7A<99>
iaBES:30
AD
70
30
09
00
D0
08<62>
0EB0:01
01
01
00
00
30
30
24<3B>
1178:08
08
CT
08
CS
CT
CT
CT<1F>
0BF0^A9
00
80
7B
30
EE
TD
30<76>
fBEB8:24
24
20
20
20
20
20
a0<B7>
1180:C8
CS
08
08
08
08
08
CS<F7>
0BF8: EH
70
30
AD
70
30
09
00<2B>
0EO0:00
00
00
00
00
00
00
00<DC>
1188:08
08
CT
08
08
08
08
CT<CF>
0O00;F0
23
AE
7B
30
BD
05
2C<E0>
OE08:00
00
00
BE
2F
B9
30
E2<5F>
1190:CS
CS
OS
CS
08
08
CS
CS<C6>
0008:8D
06
02
18
69
01
80
02<8E>
0ED0;E2
E6
E3
E4
£5
E6
E2
El<55>
ll9a:C8
CB
ca
C8
CS
CS
ca
C8<BE>
0010:D2
A9
A4
80
83
02
80
07<3A>
0ED8:30
30
30
60
30
90
60
30<45>
11A0:CS
CS
C8
ca
C8
C8
08
00<ra^>
0018:D2
AD
7B
30
09
80
00
0S<A3>
0EE0:96
55
96
55
70
7C
96
34<42>
11A8:C8
C8
00
20
2D
20
20
2D<1B>
0020: A9
00
SO
7B
30
AE
7A
30<43>
0CE8:08
58
F8
96
0A
34
94
54<4A>
11B0:00
CS
ca
ca
C8
20
20
2D<D4>
0C2B:8D
BE
2B
80
04
02
09
00<49>
0EF0:76
08
08
AS
16
80
32
D2<E0>
11B8:2D
2D
2D
20
20
20
2D
20<BA>
0C30SF0
09
AE
70
30
BD
DE
2B<6B>
I^F8;00
40
00
80
00
00
00
00<2C>
11C0:2D
2D
2D
20
20
2D
2D
20<AZ>
0038;8D
05
02
A9
02
80
08
D2<D5>
aF00:00
00
50
50
50
00
50
®a<2E>
1108:2D
2D
2D
B2
32
76
33
2D<17>
0040;A6
OE
40
62
E4
A0
62
AZ<34>
0F08:00
00
00
00
50
00
00
00<A0>
11D0;C8
CS
C8
C8
CS
C8
ca
C8<07>
0048:E4
A9
07
20
30
E4
A9
C0<1D>
0F10:00
50
O0
00
00
5A
00
00<6B>
llDSiCe
08
CS
CS
08
CT
CB
C8<FF>
00505BD
04
A2
00
A9
00
9[K06>
0F18:00
00
00
00
00
50
00
00<77>
11E0:C8
08
CT
08
08
08
08
GS<96>
00^:00
02
ES
E0
09
00
ra
A9<0C>
0F20:50
00
00
50
00
50
00
50<FS>
HE8:2D
2D
2D
2D
20
20
2D
2D<09>
00^: 03
80
0F
02
60
64
20
SF<66>
0F2S:00
00
00
00
00
00
00
50<96>
11F012D
2D
2D
20
2D
2D
ZD
ZD<11>
0C69:2E
00
00
00
3F
7F
FS
F0<67>
0F30:00
00
00
00
5A
00
00
00<19>
11F8:2D
20
20
20
2D
2D
2D
2D<F9>
0070: E0
00
00
00
60
00
10
3C<62>
0F38:00
00
00
00
00
00
50
00<F6>
1200:20
2D
2D
20
20
20
20
2D<DF>
0078:26
0E
lE
lE
0E
26
3E
3C<SC>
0F40;00
00
5A
00
00
00
00
00<89>
i:aia:2D
2D
2D
20
20
20
2D
2D<27>
0080:10
00
00
00
00
00
60
70<O7>
0F48:5A
00
00
00
50
50
00
46<1C>
1210:20
20
20
20
20
20
2D
2IK30>
0088:3E
lE
00
00
00
00
00
00<07>
0F50:00
00
00
00
00
50
00
50<FF>
1218:20
20
20
20
2D
2D
20
20<17>
0090;00
00
06
0A
IF
2E
30
3E<5B>
0F58:00
00
00
00
50
00
00
00<F0>
1220:2D
2D
2D
ZD
20
20
20
42<51>
0098:10
18
00
00
18
30
60
60<20>
^60:50
00
00
00
50
00
00
00<A0>
1228:24
81
3C
3C
3C
41
A4
00<14>
00A8:30
18
00
00
00
18
14
12<71>
0F68:00
50
00
00
00
00
00
00<9A>
1230:00
00
3C
3C
3C
00
00
1A<93>
0CAB: 12
14
tB
10
00
00
00
00<D2>
GF70:00
00
50
00
00
00
00
00<9S>
1238:06
lA
2E
42
56
6A
7E
92<AF>
0CB0;00
00
00
00
3E
7F
FS
P0<94>
0F7Ss50
00
00
El
00
A0
00
00<4F>
1240;7E
6A
56
42
2E
lA
06
1A<SC>
0OB8:£0
00
00
00
60
00
IC
3C<5A>
0F80:00
5A
30
00
00
00
00
00<3B>
1248:ID
09
10
31
45
59
60
S1<BD>
0000:2E
26
32
78
70
7E
7E
3C<40>
0F8S:00
00
00
00
00
00
00
00<A6>
1250:95
81
6D
59
45
31
ID
B9<24>
0008:18
00
00
00
00
80
81
C7<BS>
0F90:00
00
00
00
00
00
00
00<AE>
1258:ID
20
0C
20
34
4Ö
50
70<FD>
0CD03E7
66
00
00
O0
00
BQ
00<F5>
0F98:B0
00
00
01
00
lE
10
01<7S>
1260:84
98
84
70
5C
48
34
20<FC>
0088:00
00
06
0A
IF
3E
30
3E<DE>
^A0; lA
00
1A>
00
00
00
02
04<17>
1268=00
20
17
03
17
2B
3F
53<E4>
0OE0:18
18
00
00
10
18
00
06<89>
0FAa;06
00
08
00
FF
70
6E
6E<FB>
1270=67
7B
3F
TB
67
53
3F
2B<EE>
0CE8:03
01
00
00
28
38
28
2C<5E>
0FE0:7C
00
A0
70
A0
AB
A0
00<0F>
1278:17
03
17
23
0F
23
37
4B<BC>
eH:F0:24
64
44
00
00
00
00
00<ß8>
&FBS-^7C
00
70
70
70
70
00
7C<19>
1280;5F
73
87
9B
87
73
4D<C9>
0CF8:00
00
00
00
FC
FE
IF
0F<3B>
0FC0:00
70
00
70
70
70
00
7C<FF>
1238=37
23
BF
23
30
0E
00
1F<FD>
0D00:07
03
03
03
06
0O
38
3C<CB>
W^S‘-7C
00
7C
BA
30
B5
31
64<F2>
1290:48
50
72
00
77
33
35
34<5D>
0008:64
70
78
78
70
64
7C
3C<34>
0FD0:00
A0
7C
00
A0
AB
7C
7C<34>
1298: A2
00
08
02
A9
FF
S0<9C>
0010:38
00
00
00
00
00
06
0E<60>
0FD8: A0
70
70
AB
00
70
64
64<9S>
12A0:02
02
A9
8D
03
02
A0<36>
0D18;7C
78
00
00
00
00
00
00<4E>
OFE0:7C
7C
7C
A0
7C
70
70
7C<47>
i2A8:02
20
A0
33
A9
F3
SD
02<2B>
0020:00
00
60
50
FS
74
BO
7C<4C>
0FE8:A0
70
70
70
64
00
70
7C<42>
I2E0: D2
A0
02
20
AB
33
EB
E0<61>
0D28:18
18
00
00
18
OC
06
06<57>
0FF0:00
70
70
00
70
00
70
7C<0D>
12B8:0A
D0
E2
A9
00
8D
00
D2<B4>
0030:00
18
00
00
00
18
28
48<4F>
0FF8:64
70
70
00
70
00
70
■7C<47>
1200:60
84
04
A9
00
85
14
A5<AA>
0038:48
28
18
08
00
00
00
00<O3>
1000:00
70
70
64
64
70
70
7C<64>
1208: 14
C5
D4
O0
FA
60
F3
79<5B>
0040:00
00
00
00
FC
FE
IF
ra^<7F>
1008:70
70
70
00
70
70
7C<FA>
1200= D9
60
CI
60
86
5E
A2
51<49>
0048: 07
03
03
03
06
00
IC
3C<DB>
1010=7C
7C
7C
7C
A0
70
7C
7C<F6>
1208=90
48
80
40
A2
00
A9
05<36>
0050:34
24
00
lE
3E
3E
3E
3E<05>
1018:70
00
7C
00
70
7C
00
7C<2F>
12E0:8O
08
02
BD
AD
33
8D
02<20>
0058:38
00
00
00
00
01
81
E3<F8>
1020:70
70
00
7C
70
00
70
00<E9>
12EB:D2
A9
AF
8D
03
D2
A0
08<F4>
0060:E7
66
00
00
00
60
2E
Sß<7C>
1028:00
70
70
70
A0
00
5F
30<AS>
12F0S 20
A0
33
ES
E0
0E
00
EB<BS>
0068: 2F
00
00
00
00
00
60
50<2A>
1030:21
60
00
30
30
21
30
30<92>
12Fa;60
AD
7F
30
C9
01
00
56<CA>
0070:F8
74
0C
70
18
18
00
00<0E>
1038:00
5F
00
30
30
30
30
00<D5>
1300= EE
80
30
AD
80
30
09
0S<51>
0078:08
18
30
60
C0
80
00
00<aC>
1040:30
00
30
00
30
30
30
00<1D>
1308:00
08
A9
00
80
80
30
EE<E1>
0080:10
10
10
36
22
22
22
02<72>
1048:30
30
00
30
90
00
30
30<1B>
1310:81
30
AE
31
30
BD
E5
2B<09>
0088:02
00
00
00
00
00
00
00<A3>
1050:00
21
30
30
30
30
30
30<S2>
1318:8D
04
02
A9
AA
38
ED
S0<F6>
0090:FC
FE
3F
IF
0F
07
03
03<9F>
1058:30
00
60
21
90
30
5F
30<5S>
1320:30
EO
80
30
80
05
02
EC<94>
0098:06
00
30
34
26
0£
iE
3E<52>
1060:30
30
30
30
5F
30
30
30<F1>
1328= 7E
30
00
2A
A9
00
80
7F<93>
0OA0:IF
0F
07
03
02
80
F8
78<95>
1068:30
5F
21
30
30
00
30
30<A9>
1330:30
SD
05
02
AD
7E
30
1S<37>
0DAa:00
00
00
0O
00
00
00
0B<C2>
1070:00
30
00
30
30
SF
30
30<26>
1338:69
08
ao
7E
30
AD
81
30<75>
0000:00
00
m
00
00
00
00
00<CA>
1078: 00
30
00
30
30
00
30
30<B1>
1340:09
19
90
0A
A9
00
SD
S1<S3>
0088:00
00
00
00
40
60
50
F8<EE>
1080:21
60
30
5F
30
30
30
30<C7>
1348:30
A9
08
80
7E
30
A2
0C<4E>
0000:70
0C
70
18
00
08
18
30<BC>
1088:5F
00
30
30
30
30
5F
30<S0>
1350:20
87
40
20
B4
3C
60
36<6B>
0008 :E0
00
E0
B0
98
DO
60
30<16>
1090:30
60
30
30
30
30
00
60<B8>
1358:34
31
35
20
67
34
AE
6F<DB>
0000:00
00
00
00
00
00
00
00<EA>
1098:00
30
60
00
60
30
30
00<B0>
1360:30
BO
EB
2F
09
00
F0
23<67>
0DD8:00
00
00
BO
00
00
3F
7F<F0>
10A0:60
30
00
60
00
00
60
60<13>
1368:80
02
D0
BO
95
31
88
A9<AD>
0I>E0;FC
F8
F0
E0
00
00
60
00<B2>
10ABS 30
60
05
Bl
BE
51
Bl
00<39>
1370:FC
A2
00
99
00
7E
08
E8<34>
0DE8:30
20
64
70
78
70
F8
F0<48>
i0B0:81
Bl
51
BE
Bl
00
Bl
00<4A>
137S:E0
03
D0
F7
AE
6F
30
BD<07>
0OF03E0
00
40
01
IF
lE
00
00<F3>
10B8:81
Bl
Bl
Bl
00
Bl
00
B1<FA>
1380:95
31
38
E9
06
A8
A9
30<85>
0DF8;00
00
00
00
00
00
00
a 0 < 12 >
1000:00
Bl
Bl
Bl
00
Bl
Bl
00<62>
1388:99
00
TB
60
A2
00
A9
00<27>
0E00I00
00
00
00
00
00
00<1C>
1008:81
BE
om
B6
31
Bl
32
81<25>
1390;9D
00
7E
9D
00
7ß
ES
E0<48>
0F0a:00
O0
00
02
06
0A
IF
3E<1S>
1000:Bl
00
51
BE
Bl
Bl
Bl
B1<&E>
1398: FF
00
F3
60
AO
0E
00
C9<9A>
0E10:30
3E
18
00
10
18
0C
07<D6>
1008: Bl
81
00
Bl
51
BE
81
Bl<02>
i3A0:00
F0
05
A9
01
80
69
30<3B>
0E18:03
07
0D
19
3B
36
00
00<73>
10E0:8i
81
81
81
81
Bl
81
B1<EC>
13A8:AD
69
30
09
01
F0
0E
A9<7E>
0E20:00
00
00
00
00
00
00
00<3C>
10E8:ei
Bl
BE
51
Bl
Bl
00
B1<F3>
13B0:B9
BD
06
00
80
68
30
A9<Z3>
0E28:00
00
00
00
m
00
00
00<44>
10F0:B1
00
81
00
S1
El
BE
S1<1S>
13BS:06
80
02
02
60
AD
69
3B<30>
0E30:00
00
7E
FF
FF
7E
7E
FF<F7>
10Fa:Sl
00
81
00
Bl
Bl
00
ßl<EA>
13Ü5:C9
01
r0
01
60
A2
00
CE<F5>
0E3^:7E
24
00
7E
30
30
7E
7E<41>
1100:B1
51
BE
£1
Bl
81
81
S1<E3>
1308:68
30
ES
E0
06
00
F8
AD<B6>
0F40:3C
3C
3C
30
30
00
00
00<76>
1108:81
Bl
00
Bl
81
81
81
B1<E7>
13D0:0A
D2
SD
02
02
AD
68
30<F1>
0E48:40
40
60
60
08
08
00
0C<8A>
1110:81
81
Bl
Bl
81
81
31
00<41>
13DS:8D
06
DQ
80
04
D2
A9
86<08>
0E50:00
00
00
00
00
00
00
00<6O>
111S:B1
00
81
81
0O
Bl
81
81<04>
13E0:8D
05
02
AD
68
30
09
14<BC>
0E58:00
81
81
00
18
19
19
01<FC>
1120:00
Bl
81
00
Bl
00
00
B1<1S>
13E8iB0
10
A9
00
80
69
30
BD<95>
0E60:43
02
80
80
80
50
2F
BD<9E>
1128:Bl
Bl
Bl
20
2D
FF
08
C8<8a>
13F0:04
02
8D
05
02
A9
B9
BD<C2>
0E68:2F
80
80
00
00
30
30
24<B9>
1130:08
CS
C8
FF
20
20
20
2D<B6>
13F8: 68
30
60
AD
IF
D0
09
07<E5>
0E70:24
24
04
04
04
04
04
00<A0>
1138:08
CB
08
CS
08
08
OB
C8<5A>
1400;D0
05
A9
00
80
78
30
AD<B6>
0E7B:00
00
00
00
00
00
7E
FF<90>
1140:08
08
08
08
08
ca
ca
C8<B6>
1408:78
30
09
00
00
28
AD
1F<29>
0E80;FF
7E
7E
FF
7E
24
00
7E<50>
1148:08
C8
OS
CÖ
08
CB
08
C8<8E>
1410:00
09
06
O0
21
A9
40
SD<CB>
0E88:30
30
7E
7E
3C
30
30
3C<EC>
1150:20
20
20
20
20
20
2D
2D<F1>
1418:0E
D4
A2
00
8E
2F
02
8A<6F>
0E90:30
00
00
00
08
03
00
0C<4F>
1158=20
2D
20
2D
2D
2D
2D
2IKD7>
1420:90
00
00
ES
E0
0C
D0
Fa<E7>
0E9e:40
40
60
60
00
00
00
B0<F6>
1160:20
20
20
20
20
2D
2D
Z0<S2>
1428:A9
01
8D
78
30
20
FD
38<4E>
0EA0:00
00
00
00
00
81
81
00<CS>
1168:08
08
CS
08
08
08
08
C8<2F>
1430:20
96
40
40
72
49
60
AO<BF>
0EAB:9e
98
98
80
02
43
01
01<C3>
1170:08
08
CB
08
08
CS
ca
ca<27>
1438:04
00
09
00
05
A9
01<A6>
Listlng zu »Submission« (Fortsetzung)
77
1440:80
6B
30
AD
05
00
C9
04<17>
1710
A9
BB
SD
89
25
80
90
25<56>
19Fa:30
80
0O
D0
80
01
00
AE<10>
1448=00
05
A9
01
80
6B
30
C9<F6>
1720
90
66
23
80
60
23
60
AD<CF>
19rS:6F
30
DO
12
32
DO
09
EH<7F>
1450:05
00
05
A9
01
80
6B
32<5D>
1728
05
00
C9
08
OO
34
A9
01<;08>
1A00:6F
30
20
26
36
4C
OB
3C<8B>
1458:35
ES
35
30
60
AO
6B
30<B4>
1730
80
7F
30
AD
70
30
C9
78<SA>
KAOSrOD
8E
32
00
09
CE
6F
30<DF>
1460:C9
01
F0
01
60
A9
00
S5<E6>
1738
90
11
A9
00
BD
90
25
aD<01>
1A10:20
26
36
4C
OB
3C
60
60<B3>
1468:14
20
52
20
EE
C0
02
CE<fl0>
1740
60
23
AE
6F
30
A9
03
90<E1>
1A1B=20
77
34
AD
0F
00
C9
0O<C4>
1470:CI
02
AO
C0
02
80
00
D2<9r>
1748
DO
4A
60
AO
70
30
C9
6E<7A>
1A20:F0
50
20
7B
3B
AD
78
02<9ß>
1478:A9
C8
80
01
02
AS
14
C9<43>
1750
BO
10
A9
00
80
89
25
BO<CB>
IA2S:C9
00
00
12
AD
B5
30 q9<E4>
1480:64
00
E9
A9
00
BD
0O
Dß<7S>
1758
66
23
AE
6F
30
A9
02
9O<O0>
1A30=01
FO
09
EE
71
30
A9
00<BE>
1408:80
01
00
CE
7C
48
20
S2<2D>
1760
DD
4A
AD
90
2S
C9
00
D0<8A>
1A38:80
85
30
20
33
3B
20
C6<69>
1490=20
20
BB
33
20
77
33
AO<C0>
1768
10
AD
90
25
CD
66
23
D0<44>
1A40S3B
AO
78
02
C9
00
12<3C>
1498:7C
48
C9
10
DO
03
4C
F0<FC>
1770
08
A9
04
AE
6F
30
9D
DD<7S>
1A4Ö:AD
SS
30
C9
82
FO
0B
CE<7A>
14AO:34
20
52
20
4C
A6
49
AIK40>
1778
4A
44
38
CC
38
AO
EB
4A<14>
lA5a:71
30
A9
00
SD
35
30
20<35>
14AO:0A
00
C9
02
00
05
A9
01<E7>
1780
SD
FB
4A
60
AE
75
30
BD<D4>
1ASS:33
39
AD
85
30
C9
00
D0<4B>
1480:00
6B
30
C9
03
00
05
A9<9A>
1788
BE
ZF
SD
6A
30
60
EE
76<ßA>
1A60;11
AE
6F
30
90
9B
30
SD<BO>
1488:01
80
6B
30
60
AD
86
30<E7>
1790
30
AD
76
30
C9
05
00
0D<DC>
1A68:70
30
20
A9
3A
A9
00
8D<7C>
14C0:C9
01
F0
22
AO
05
00
C9<8F>
1798
A2
00
BD
0A
33
90
10
Sl<78>
1A70:85
30
A9
00
SO
lE
00
6CK6D>
1408:09
F0
04
C9
01
DO
17
AD<AF>
17A0
ES
£0
09
00
F5
C9
OA
D0<A8>
1A7S:AD
72
30
C9
00
00
03
4C<A3>
1400:70
30
C9
64
90
06
CE
70<BC>
17A8
10
A2
OO
8e
76
30
BD
12<1C>
1A80:41
3B
4C
5E
3B
60
A2
00<22>
1408:30
4C
BE
C9
63
B0
06<71>
17B0
33
90
10
81
EB
EO
08
D0<38>
lABB:AC
71
30
90
47
3B
42
3C<A6>
14E0E EH
70
30
4C
BE
35
60
20<A5>
17B9
F5
60
EE
82
30
AD
82
30<C2>
1A90:26
2F
99
00
7C
9D
4A
2F<67>
14£S:A9
3A
AD
87
30
C9
00
F0<Q6>
17C0
C9
08
OO
tc
A9
9C
80
27<FE>
lA98i99
00
TD
E9
C8
E0
24
DO<FT»
14r0:05
A9
IF
80
BB
30
60
AE<ES>
17C8
26
80
2E
26
80
FE
27
8D<4C>
1AA0:EE
A9
01
90
86
30
60
A2<7A>
14FS:6F
30
BO
DD
4A
C9
00
DOCAO
1700
06
2S
A9
90
BD
2A
26
BD<68>
1AA8:00
AC
71
30
BD
6E
2F
99<93>
1500:00
A2
19
20
87
40
AE
6F<3D>
17D8
31
26
BD
FF
27
BD
07
2S<6B>
1AB0:00
7C
BO
92
2F
99
00
70<ED>
1508:30
A9
01
90
DO
4A
60
E6<65>
17E0
C9
10
00
21
A9
90
8D
27<00>
1AB8= C8
E8
E0
24
D0
EE
A9
01<99>
1510:35
El
36
EE
60
30
AD
61KA5>
17E8
26
80
2E
26
80
FE
27
SD<AC>
1AC0:BD
86'
30
60
AE
6F
30
AD<C7>
1518:30
C9
14
00
17
A9
0O
aD<F8>
17F0
06
28
A9
9C
BD
2A
26
SD<FÖ>
1AC8:71
30
18
69
21
DD
95
31<71>
1520:60
30
80
6E
30
20
35
3F<C0>
17FB
31
26
80
FF
27
80
07
2ß<4B->
1AO0:O0
3C
A9
01
80
85
30
A9<2C>
1520:20
B7
3E
20
45
3F
20
89<CA>
1800
A9
00
SO
82
30
60
CD
38<2E>
lADB: 00
80
86
30
AE
6F
30
BD<6B>
1530:3F
20
DF
3F
C9
0A
D0
0B<C0>
1808
CS
39
48
18
AD
0B
04
C9<F7>
1AE0;95
31
C9
BE
DO
28
EE
6F<92>
1538=20
45
3F
20
89
3F
A9
01<01>
1810
46
BO
10
AO
74
30
80
0A<B1>
1AE8:30
AD
6F
30
C9
3D
F0
OA<4D>
1540:80
6E
30
A9
CE
18
6D
6E<C2>
1818
D4
80
lA
00
A9
80
80
09<FC>
lAFO:C9
09
90
06
CE
6F
30
CE< 93>
1548:30
80
IB
23
80
16
25
8D<9D>
1820
D4
68
40
A9
78
80
0A
D4<7C>
lAF8s6F
30
20
FD
38
20
26
36<8a>
1550:09
27
60
AE
6F
30
A9
00<1D>
1828
BD
09
04
A9
00
80
18
DO<3S>
1900:AE
6F
30
BO
18
31
69
01<10>
1550:80
2F
02
A9
00
80
30
02<S4>
1830
8D
lA
D0
A9
lA
SD
17
D0<B2>
IBOB:80
71
30
20
41
3B
60
AD<4B>
1560: A9
06
8D
31
02
BD
35
28<3B>
1838
68
40
A2
00
A9
00
90
0O<E6>
1B10:71
30
AE
6F
30
DO
18
31<CS>
1568:05
SS
BD
B2
28
85
59
A0<D2>
1840
7C
90
00
TD
90
00
7E
9D<AC>
1B18:D0
39
A9
02
80
85
30
A9<21>
1570:00
Bl
58
99
00
06
CB
CO<D3>
1848
00
7B
E8
E0
FF
DO
ED
60<S3>
1B20:00
80
86
30
6F
30
BD<B1>
1578:50
00
F6
BO
9B
30
80
03<43>
1850
EE
9A
30
AO
9A
30
C9
03<3D>
1928: 18
31
C9
21
D0
25
CE
6F<EF>
1580:00
20
79
36
20
36
34
20<6F>
1858
00
49
20
67
39
20
A0
39<40>
1930:30
AD
6F
30
C9
3C
FO
0A<BB>
1508: CH
35
20
80
37
20
20
37<7D>
1860
20
09
39
20
12
3A
A9
00<C2>
1B3B:C9
07
90
06
EE
6^
30
EE<5E>
1590: ft9
3E
SO
2F
02
60
A9
00<02>
1868
80
9A
30
EE
95
30
AC
95<02>
IB40:6F
30
20
26
36
BD
95
31<10>
1598:85
14
A9
00
80
lE
D0
A5<5E>
1870
30
BE
IB
33
A9
A7
18
6D<3F>
1B48:E9
23
80
71
30
20
FD
3S<öe>
15A0:14
C9
14
00
F5
60
A2
0O<F2>
1S7B
BB
30
9D
37
26
90
El
26<FC>
1950:20
5E
39
60
18
AD
70
30<23>
1500:09
00
9D
00
7F
ES
EO
FF<35>
1880
ca
ÖE
IB
33
A9
00
90
37<58>
1958:69
96
BD
70
30
90
05
A9<04>
15B0:D0
F6
AE
6F
30
BD
18
31<E2>
1888
26
90
El
26
aa
BG
BE
1B<9C>
1960:30
80
70
30
AD
70
30
BD<E5>
1SBB:SD
93
30
BD
95
31
eo
94<C6>
1890
33
90
37
26
90
El
26
AD<34>
lB6B:O0
00
80
01
D0
60
AD
aa<i3>
i5C0:30
AE
93
30
A9
C3
90
00<11>
1398
95
30
C9
0F
00
05
A9
00<15>
lB70:3a
60
88
30
BD
00
02
A9<80>
15C0:7F
E8
EC
94
30
D0
F5
AE<3F>
1BA0
80
95
30
60
EE
96
30
AC<42>
1B78:A4
80
01
02
60
A9
28
aD<AS>
1500:93
30
A9
FF
90
00
7F
9D<D6>
ISAB
96
30
BE
2C
33
A9
A7
18<CD>
1980:00
DZ
AD
89
30
SD
01
D2<E1>
1508:01
7F
8A
18
69
0A
AA
EC<E1>
18B0
60
BB
30
90
37
26
9D
El<34>
IBB8:60
AD
6C
30
43
3C
39
3D<43>
15E0394
30
90
EE
60
A2
00
AC<8A>
18Ba
26
C3
BE
2C
33
A9
00
9D<41>
1990:C9
A0
F0
11
CE
6C
30
CE<70>
15E0s71
30
BO
£4
20
99
00
7C<F5>
18C0
37
26
90
El
26
88
88
BE<51>
iB98:6C
30
A9
C8
BD
06
02
A0<F7>
15F0=BD
18
99
00
70
GS
ES<A9>
iSCS
2C
33
90
37
26
9D
£1
26<DD>
19A0:6C
30
8D
07
02
60
AD
05<09>
1SF0=E0
24
00
EE
60
A2
00
AC<29>
1800
AD
96
30
C9
0F
00
05
A9<69>
19A8=D0
C9
02
00
32
20
52
20<52>
1600:71
30
BO
64
20
99
0O
7C<12>
laoa
00
SO
96
30
60
EE
97
3ß<4D>
19B0:20
85
2C
A0
0O
AZ
FA
20<32>
1608:00
08
20
99
00
70
ca
E2<47>
ISEO
97
30
BE
30
33
A9
A7<A9>
1998:87
40
CS
CO
OA
D0
F6
AD<3F>
1610:36
47
37
ES
E0
24
DO
EE<BD>
18ES
18
60
BB
30
9D
37
26
9D<7E>
1BC0:7C
48
C9
15
FO
03
EE
7C<E4>
1610:60
A2
00
AC
71
30
BD
3C<91>
18F0
El
26
CS
BE
3D
33
A9
00<FE>
lBCa:48
AO
70
30
C9
00
FO
F9<97>
1620:2E
99
00
7C
BO
60
2E
99<A2>
iSFa
90
37
26
90
El
26
88
B8<4B>
lBD0:2a
44
20
20
C7
3C
EE
75<46>
1628:00
70
CS
ES
E0
23
00
EE<44>
1900
BE
30
33
90
37
26
C9
39<AD>
1BD9:30
EE
72
48
4C
A6
49
60<4F>
1630:60
A2
00
AC
71
30
BD
AC<£9>
190B
4A
3A
90
El
26
AO
97
3a<DC>
1BE0:AE
75
30
E0
07
DO
0B
A9<D5>
1638= 20
99
00
7C
BD
DO
20
99<09>
1910
C9
0F
OB
05
A9
OO
80
97<AA>
1BE8:00
eo
75
30
AA
A9
11
eo<85>
1640:00
70
CÖ
E8
E0
23
D0
EE<1C>
1918
30
60
EE
98
30
AC
98
30<41>
1BF0= 72
48
BO
6F
33
8D
6F
30<D4>
1640:60
EE
72
30
AO
72
30
C9<1F>
1920
BE
4E
33
A9
A7
19
60
SB<70>
lßF8:BC
6F
33
A9
Ol
99
DD
4A<4B>
1650:02
D0
es
A9
00
80
72
30<F7>
1928
30
90
37
26
90
El
26
C8<47>
1CO0:60
EE
6C
48
AD
6C
48
C9<62>
16^= A9
00
80
73
30
60
EE
77<63>
1930
BE
4E
33
A9
00
90
37
26<CC>
1C09:1A
DO
08
EE
6B
48
A9
10<FE>
1660:30
AO
77
30
C9
02
00
0B<B0>
1938
90
El
26
88
88
BE
4E
33<3F>
1C10:8O
6C
48
60
EA
CE
6C
4B<62>
1668:A9
A6
80
C6
02
A9
00
SD<04>
1940
9D
37
26
90
El
26
AO
98<BE>
1C18:AD
6C
48
C9
0F
00
OF
AD<99>
1670= 77
30
60
A9
36
80
C6
02<S0>
1948
30
C9
OF
O0
05
A9
00
8D<7A>
1C20:69
48
C9
10
F0
37
CE
6B<1E>
1678:60
48
37
43
38
A2
00
9D<D7>
1950
98
30
60
EE
99
30
AC
99<1B>
lC2a:4S
A9
19
80
6C
48
A2
FF<31>
1680:F8
80
ES
E0
08
D0
FS
60<52>
1958
30
BE
5F
33
A9
A7
18
6D<A6>
1C30:A9
00
85
14
8A
38
E9
0C<^>
1688: A2
00
90
00
81
ES
E0
0S<AC>
i960
8B
30
9D
37
26
90
El
26<1A>
lC3a:AA
AS
14
C9
01
DO
FA
SE<97>
1690SD0
F8
60
EE
83
30
AO
83<40>
1968
CS
BE
5F
33
A9
O0
9D
37<43>
iC40:O0
02
8A
18
69
01
BD
02<22>
1698:30
C9
32
DO
0A
A9
18
20<95>
1970
26
90
El
26
88
98
BE
5F<99>
1C4B:D2
A9
A8
BD
01
02
80
03<3D>
16A0:48
37
A9
O0
20
53
37
C9<S9>
1978
33
90
37
26
9D
El
26
AD<S6>
1C50SO2
EO
0A
B0
DB
A2
32
20<0B>
16AS:64
00
0A
A9
00
20
48
37<CE>
1980
99
30
C9
0F
D0
05
A9
00<39>
1C58:S7
40
4C
C7
3C
A9
00
8DC6F>
16B0:A9
18
20
53
37
C9
96
D0<3S>
1988
BO
99
30
60
4B
3A
46
3B<6E>
1C60:O0
02
80
01
D2
8D
02
D2<69>
16B8:08
A9
00
80
83
30
20
53<54>
1990
EE
73
30
AO
73
3B
C9
0S<15>
1C68:B0
03
D2
60
AD
OA
02
30<D1>
16C0:37
60
20
4B
38
AE
6F
30<5E>
1998
DB
03
20
18
37
A9
00
BD<£2>
1C70:OB
A9
00
80
08
30
A9
64<5B>
16C8:BD
DO
4A
C9
01
00
13
A0<7E>
19A0
85
30
60
AO
86
30
C9
00<76>
1C78:SD
EE
30
60
A9
00
80
EE<4D>
i6O0:6A
30
80
89
25
90
90
25<73>
19 AS
00
43
AD
78
02
C9
07
D0<B5>
1CB0:30
A9
64
SD
08
30
60
3A<F0>
1608=38
£9
Ol
BD
66
23
80
6D<89>
19B0
18
EE
70
30
20
A9
3A
AIK44>
1C88=3D
35
3E
AD
89
30
C9
00<E3>
16E0;23
60
C9
02
00
15
A9
00<13>
19B8
72
30
C9
00
00
08
A9
A4<64>
1C90=D0
3C
AD
Ö7
30
C9
00
D0<42>
16eS:aD
09
2S
SO
66
23
AO
6A<1F>
19C0
SD
6C
30
4C
DO
36
4C
0O<CE>
1C9S:3S
AD
86
30
C9
00
00
2£<SE>
16r0:30
80
90
25
3S
E9
01
8D<90>
19CÖ
37
C9
0D
00
18
CE
70
3a<AF>
1CA0=AD
Ö4
02
C9
0O
O0
27
AD<27>
t6FS:6D
23
60
C9
03
D0
15
A9<6A>
1900
20
A9
3A
AD
72
30
C9
00<5C>
ICABsZa
02
C9
0B
D0
08
A9
01<D7>
1700:00
80
90
25
80
60
23
AD<A2>
1900
DB
09
A9
A4
SD
6C
30
4C<84>
ICBOiBD
87
30
4C
83
30
C7
07<41>
1700:6A
30
80
89
25
38
E9
01<6E>
19E0
es
36
4C
ES
36
AD
87
30<B7>
ICBB:D0
09
A9
02
BD
97
30
4C<36>
1710:80
66
23
60
C9
04
D0
0E<74>
19ES
C9
01
D0
Ol
EA
60
AO
70<E5>
1 1CC0:B3
3D
C9
0F
00
08
A9
03<46>
Listmg zu »Submission« (Fortsetzung)
78
ICGB
8D
87
30
4C
83
3D
A9
00<C5>
1FA0:lA
D0
0B
EE
61
48
A9
10<3S>
2278^
:46
5C
22
06
46
04
22
06<67>
ICDQ
SD
87
30
60
A9
00
8D
SS<A5>
IFABsBD
62
48
AD
61
48
C9
1A<31>
2280
46
FC
22
06
46
5C
22
86<F9>
1C08
30
CE
71
30
CE
71
30
CE<0B>
1FB0-D0
08
EE
60
4S
A9
lO
8D<2E>
2288
42
2E
48
02
02
41
FO
42<B9>
1CE0
71
30
CE
71
30
60
AD
S7<SD>
1FB8:61
48
AD
60
40
C9
lA
D0<2E>
2290
70
70
C6
0C
22
46
5C
22<23>
ICEO
30
C9
01
D0
06
CE
70
30<FF>
1FC0:O8
EE
5F
48
A9
10
8D
6008>
2298
06
46
EC
23
06
46
EC
23<55>
1CF0
4C
A9
3D
C9
02
D0
03
EE<20>
1FC8:48
AD
SF
48
G9
lA
D0
0a<F9>
22A0
06
46
7F
24
06
46
7F
24<F3>
ICFS
70
30
20
A9
3A
20
9E
^<CE>
IFDOiEE
5£
48
A9
10
8D
5F
48<CD>
06
46
7F
24
06
46
7F
24<DB>
tüm
AD
87
30
C9
01
D0
2E
AD<5S>
iFDBzAD
5E
48
C9
lA
DO
08
EE<E7>
2280
06
46
4C
23
06
46
74
23<SA>
1D08
88
30
C9
10
80
03
4C
84<DO>
1FE0Z5D
48
A9
10
8D
5E
48
60<C3>
22fl8
06
46
5C
22
86
42
2E
4S<I>4>
ID10
3e
C9
lE
80
03
4C
CA
3D<74>
IFES:ÖE
84
30
A2
00
20
38
40<AF>
22C0
02
02
41
23
43
70
70
C6<58>
IDie
4C
CA
3D
AE
71
30
A0
00<01>
1FF0SES
EC
84
30
D0
F7
60
A2<4S>
22C8
0C
22
46
5C
22
06
46
5C<1A>
1D20
B9
Ö4
2E
9D
00
7C
B9
AE<34>
IFFBzFF
E8
BD
5D
48
C9
lO
F0<92>
22D0
22
06
46
SC
22
06
46
5C<36>
iDza
2E
9D
00
7D
E8
C8
C0
24<B2>
2000= FS
BE
93
30
A2
FF
ES
BD<BA>
22D8
22
06
46
SC
22
06
46
37<29>
1D30
00
EE
4C
12
3E
AD
88
30<5C>
2008=EF
29
C9
10
F0
FS
BE
94<F2>
22E0
26
06
06
06
06
06
06
06<34>
1030
C9
10
B0
03
4C
6A
3E
C9<4E>
2010=30
AD
93
30
18
CD
94
30<34>
22ES
46
5C
22
86
42
2E
48
02<5E>
1040
lE
80
03
4C
F8
3D
4C
FQ<9F>
2O1B;B0
0F
AE
93
30
BD
50
4B<4C>
22F0
02
41
58
43
70
70
C6
0C<S9>
1D48
3D
AE
71
30
AO
00
B9
D2<FE>
2020z9D
EF
29
E8
E0
06
D0
F5<B9>
22FB
22
46
SC
22
06
46
0C
22<EF>
1DS0
2E
9D
00
7C
B9
FD
2E
9D<3B>
202B= 60
D0
18
AE
93
30
BD
EF<10>
2300
06
46
AC
22
06
46
5C
22<94>
1D5B
00
7D
E8
CB
C0
24
DO
EE<B7>
20305 29
18
DD
5D
48
90
E3
D0<12>
2308
06
46
5C
22
06
46
SC
22<A2>
1D60
4C
12
3E
££
88
30
20
25<4£>
2038=0D
EE
93
30
AD
93
30
C9<Ae>
2310
06
46
SC
22
06
46
5C
22<BA>
1D68
3C
20
94
35
AD
08
30
C9<5F>
2040=08
F0
03
4C
CA
40
60
E6<97>
2318
06
46
5C
22
06
46
5C
22<B2>
1D70
lE
90
36
A9
00
SD
0O
D2<E3>
2048=40
El
41
70
70
C6
0C
22<D4>
23^
86
42
2E
48
02
02
41
S7<15>
1D7S
8D
lE
D0
A9
10
BD
89
30<5B>
2050:46
SC
22
06
46
EC
23
06<55>
2328
43
70
70
C6
OC
22
46
5C<E7>
IDÖß
EE
71
30
EE
71
30
EE
36<10>
2058=46
EC
23
06
46
5C
22
06<69>
2330
22
06
46
6F
25
06
06
06<9B>
H>O0
3E
B6
3E
71
30
EE
71
30<78>
2060:46
D4
22
06
46
FC
22
06<08>
2338
46
5C
22
06
46
SC
22
06<C6>
1D90
AD
87
30
C9
01
D0
08
A9<5B>
2068=46
5C
22
06
46
0C
22
06<2A>
2340
46
5C
22
06
46
5C
22
DA<E3>
1D98
00
8D
87
30
20
9E
3E
4C<49>
2070:46
34
22
06
46
5C
22
S6<EF>
2348
43
D5
44
06
46
A7
24
06<65>
1DA0
E8
36
A9
00
8D
87
30
20<7A>
2078= 42
2E
4B
02
02
41
E6
40<AF>
2350
46
A7
24
06
46
5C
22
S6<84>
tüAS
9E
3E
4C
00
37
60
AD
S9<A8>
2080=70
70
C6
0C
22
46
SC
22<4F>
2353
42
2E
48
02
02
41
BC
43<03>
IDBB
30
C9
W
F0
09
CE
B9
30<Ba>
2088=06
46
OC
22
06
46
34
22<C4>
2360
70
70
C6
OC
22
46
5C
22<79>
IDBO
CE
Ö9
30
20
34
3C
60
AE<25>
2090:06
46
SC
22
06
46
0D
28<9A>
2368
06
46
SC
22
06
46
5C
22<C2>
IDCe
71
30
A0
ID
89
84
2E
9D<D2>
2098:06
46
0D
28
06
46
9C
23<:25>
2370
06
46
5C
22
06
46
24
23<6D>
IDCS
00
7C
B9
AE
2JE
9D
00
7D<98>
20A0=06
46
4C
23
06
46
74
23<76>
2373
06
46
24
23
06
46
SC
22<2C>
IDDO
E8
88
C0
00
D0
EE
4C
12<61>
20AB:06
46
5C
22
86
42
2E
4a<EB>
23S0
06
46
CF
24
06
46
F7
24<CE>
iDDO
3E
AE
71
30
A0
ID
B9
D2<62>
2080=02
02
41
IB
41
70
70
C60A>
2388
06
46
3C
22
86
42
2E
4S<E2>
1DE0
2E
9D
00
7C
B9
FD
2E
9D<C9>
20BB:0C
22
46
5C
22
06
46
4C<D7>
2390
02
02
41
EF
43
70
70
C6<D8>
IDES
00
7D
ES
88
C0
00
D0
EE<62>
20C0123
06
46
74
23
06
46
9C<6C>
2398
0C
22
46
5C
22
06
46
24<DS>
1DF0
4C
12
3E
AE
71
30
CA
CA<19>
20CB:23
06
46
9C
23
06
46
9C<E7>
Z3A0
23
06
46
74
23
06
46
SC<03>
IDFQ
CA
CA
CA
A0
00
A9
00
9D<10>
20D0=23
06
46
9C
23
06
46
9C<FF>
23A8
22
06
46
EC
23
06
46
14<98>
1E00
00
7C
9D
00
7D
E8
CB
G0<S3>
20D8:23
06
46
9C
23
06
46
9C<17>
23B0
24
06
46
5C
22
06
46
5C<A8>
1E0S
32
D0
F4
60
B7
3E
B2
3F<14>
20E0523
86
42
2E
48
02
02
41<C5>
23B8:
:22
06
46
SC
22
06
46
5C<A9>
1E10
AD
8C
30
C9
18
D0
A9<CB>
20E8:50
41
70
70
C6
0C
22
46<SA>
23C0:
:22
86
42
2E
48
02
02
41<53>
lEie
00
8D
8A
30
C9
21
D0
05<50>
20FO: 9C
23
06
46
24
23
06
46<2B>
23C8i
:24
44
70
70
C6
OC
22
46<1E>
1E20
A9
01
8D
ßA
30
AD
8A
30<A6>
20FS=24
23
06
46
5C
22
06
46<F5>
23DO:3C
22
06
46
SC
22
06
46<9F>
lE2a
C9
00
F0
31
CE
8C
30
AE<88>
2100=0D
28
06
46
0D
28
06
46<4B>
23D81
:E1
26
06
06
06
06
06
06<93>
iE30
BC
30
A9
90
9D
34
22
A9<FF>
2108:9C
23
06
46
24
23
06
46<0S>
23EO;
:06
46
SC
22
06
46
5C
22<6A>
iE3S
91
9D
35
22
A9
92
9D
36<A9>
2110=74
23
06
46
□C
22
36
42<B2>
23EB;
:06
46
SC
22
06
46
5C
22<42>
IE40
22
A9
00
9D
37
22
AD
SB<67>
2118=2E
48
02
02
41
85
41
70<B4>
23F0I
: 86
42
2E
48
02
02
41
59<F7>
1E4S
30
C9
01
D0
0F
A9
93
9D<CD>
2120=70
C6
0C
22
46
5C
22
06<1S>
23FSi
:44
70
70
C6
0C
22
46
5C<96>
1E50
34
22
A9
95
9D
36
22
A9<4S>
2128:46
31
27
06
06
06
46
5C<CF>
2400:
:22
06
46
4C
23
06
46
74<7S>
1E58
94
9D
35
22
60
EE
BC
30<C8>
2130:22
06
46
31
27
06
06
06<B3>
2408
:23
06
46
9C
23
06
46
1F<C2>
1E&0
AE
ßC
30
A9
96
9D
34
22<14>
2138:46
5C
22
86
46
31
27
06<22>
24101
:25
06
46
5C
22
06
46
9C<4C>
1E68
A9
94
9D
35
22
A9
99
9D<C7>
2140:06
06
46
5C
22
86
42
E2<13>
2418:
:23
06
46
EC
23
06
46
14<CC>
1E70
36
22
A9
00
9D
33
22
AD<I^>
2148=41
DD
42
2E
48
02
02
41<1C>
2420:
i24
06
46
5C
22
86
42
2E<42>
lE7e
SB
30
C9
00
D0
0F
A9
97<24>
2150:BA
41
70
70
C6
0C
22
46<ED>
2428
:48
02
02
41
88
44
70
70<9F>
1E80
9D
34
22
A9
98
9D
36
22<A4>
2158:5C
22
06
46
C4
23
06
46<73>
2430:
:C6
OC
22
46
5C
22
06
46<9C>
1E88
A9
91
9D
35
22
60
EE
8B<5D>
2160:C4
23
06
46
7F
24
06
46<40>
2433
:0C
22
06
46
84
22
06
46<1A>
lE9e
30
AD
8B
30
C9
02
D0
05<57>
2168=EC
23
06
46
14
24
06
46<11>
2440
:5C
22
06
46
5C
22
06
D6<A1>
1E9S
A9
00
8D
SB
30
60
AD
8e<6F>
2170=5C
22
06
46
0C
22
06
46<C9>
24481
:44
Di
45
46
IF
25
06
46<C3>
1EA0
30
C9
01
D0
03
CE
8D
3fiKE0>
2178:34
22
06
46
5C
22
36
42<2A>
24501
:SC
22
06
46
6F
25
06
06<92>
1EA8
C9
00
D0
03
EE
8D
30
AD<22>
2ia0=2E
48
02
02
41
E9
41
7B<EA>
2458
:06
46
5C
22
86
42
2E
48<A2>
1EB0
8D
30
C9
lA
D0
05
A9
00<;DF>
2188:70
C6
OC
22
46
5C
22
06<BD>
24601
:02
02
41
BD
44
70
70
C6<B0>
lEß8
8D
8E
30
C9
23
D0
05
A9<1C>
2190: 46
4C
23
06
46
74
23
06<D9>
2468
:OC
22
46
SC
22
06
46
C4<27>
1EC0
01
BD
3E
30
AE
SD
30
A9<1E>
2198:46
9C
23
06
46
9C
23
06<96>
24701
:23
06
46
C4
23
06
46
5C<EA>
1EC8
9A
18
6D
8B
30
9D
74
23<9B>
2iA0;46
9C
23
06
46
9C
23
06<SE>
2478
= 22
06
46
6F
25
06
06
06<S6>
tED0
9D
43
25
A9
00
9D
44
25<0A>
21ASi46
EC
23
06
46
14
24
06<1C>
2480;
:46
5C
22
06
46
D4
22
06<2B>
lEDS
9D
42
25
9D
75
23
9D
73<CS>
2180:46
SC
22
86
42
2E
48
02<B2>
2488:
:46
FC
22
06
46
5C
22
86<FD>
1EE0
23
60
AD
90
30
C9
01
D0<AA>
2188=02
41
LE
42
70
70
C6
0C<BC>
2490;
= 42
2E
48
02
02
41
FO
44<A7>
lEEO
03
CE
SF
30
C9
00
D0
03<D8>
21C0:22
46
9C
23
06
46
EC
23<AE>
2498
:70
70
C6
OC
22
46
SC
22<2F>
XEF0
EE
BF
30
AD
BF
30
C9
1S<76>
21C8:06
46
14
24
06
46
SC
22<63>
24A0:06
46
0C
22
06
46
ES
27<4B>
1EF8
D0
05
A9
00
SD
90
30
C9<46>
21D0:O6
46
5C
22
06
46
5C
ZZ<76>
24A8
= 06
46
SC
22
06
46
6F
25<3C>
1F0O
21
D0
05
A9
01
SD
90
30<S9>
21D8:06
46
SC
22
06
46
5C
22<7E>
24B0:
:06
06
06
46
SC
22
06
46<4E>
iFoa
AE
8F
30
A9
B3
3F
37
40<9g>
21E0=06
46
5C
22
06
46
5C
22<66>
24B9
:0C
22
06
46
84
22
06
46<9E>
1F10
9C
18
6D
86
30
9D
14
24<BB>
2LE8:86
42
2E
48
02
02
41
53<15>
24C0
:SC
22
86
42
2E
48
02
02<1C>
iFie
9D
0D
25
9D
AC
22
A9
9D<2Q>
21F0:42
70
70
C6
OC
22
46
5C<AB>
24C8
:41
23
45
70
70
C6
OC
22<E1>
1FZ0
3Ö
ED
ßB
30
9D
AD
22
A9<96>
21FS:22
06
46
C4
23
06
46
C4<53>
24D0
: 46
SC
22
06
46
0C
22
06<5B>
1F28
00
9D
0C
25
9D
0E
25
9D<5D>
2200:23
06
46
9C
23
06
46
9C<23>
24D8
:46
B4
22
06
46
5C
22
06<F2>
1F30
15
24
9D
13
24
9D
AB
22<B3>
2208:23
06
46
IF
25
06
06
06<4D>
24E0
:46
6F
25
06
06
06
46
5C<5D>
lF3a
9D
AE
22
60
AD
92
30
C9<93>
2210:46
9C
23
06
46
9C
23
06<F3>
24E8E22
06
46
OC
22
06
46
E5<E5>
1F40
01
m
03
CE
91
30
C9
00<0F>
2218:46
9C
23
86
42
2E
48
02<7E>
24F0
= 27
06
46
5C
22
86
42
2E<B9>
1F4S
D0
03
EE
91
30
AD
91
30<fd:
2220:02
41
88
42
70
70
C6
0C<A5>
24F8
= 48
02
02
41
56
45
70
70<4D>
IFSa
C9
18
D0
05
A9
00
BD
92<B4>
2228:22
46
5C
22
06
46
24
23<2F>
2500
:C6
OC
22
46
5C
22
06
46<92>
iFsa
30
C9
21
D0
05
A9
01
aD<5B>
2230:06
46
24
23
06
46
7F
24<E7>
2508
:6F
25
06
06
06
46
5C
22<17>
1F60
92
30
AE
91
30
A9
90
iB<13>
2238:06
46
7F
24
06
46
7F
24<4B>
2510
= 06
46
0C
22
06
46
AC
22<5S>
1F60
6D
88
30
6D
8ß
30
6D
8B<SS>
2240:06
46
7F
24
06
46
EC
DE<26>
2518
:06
46
SC
22
06
46
BF
25<7a>
1F70
30
9D
84
22
A9
91
la
6D<FD>
2248:42
D9
43
23
06
46
14
24<i3>
2520
= 06
46
BF
25
06
46
5C
22<4D>
1F7Q
SB
30
6D
8B
30
6D
SB
30<22>
2250=06
46
5C
22
86
42
2E
4e<AC>
2528
:S6
42
2E
48
02
02
41
89<F1>
1F80
9D
85
22
A9
98
18
6D
SB<D0>
2258:02
02
41
BB
42
70
70
C6<46>
2530
= 45
70
70
C6
0C
22
46
SC<D2>
iFsa
30
9D
06
22
A9
00
9D
87<0Ö>
2260;3C
24
46
SC
22
06
46
24<32>
2538
= 22
06
46
4C
23
06
46
24<72>
1F90
22
9D
83
22
60
38
40
E5<E2>
2268=23
06
46
24
23
06
46
SC<C2>
2540
= 23
06
46
5C
22
06
46
D2<93>
1F98
40
EE
62
48
AD
62
48
C9<7B>
2270:22
06
46
6F
25
06
06
06<52>
2548
= 45
CD
46
EC
23
06
46
14<C9>
Listing zu 7>Submissiort<c (Fortsetzung) ^
79
2^0:24
06
46
5C
22
06
46
0C<7C>
2818:05
05
05
05
05
07
05
1^<70>
2AE0;00
00
00
18
IS
00
03
06<S2>
2558=22
06
46
34
22
06
46
5C<42>
2820:05
05
05
OS
05
05
03
70<07>
2AE8:0C
18
30
60
40
00
7F
63<A8>
25£»a5 22
86
42
2E
48
02
02
41<B7>
2828:70
C6
0C
22
46
5C
22
06<2F>
2AF0:63
63
63
63
7F
00
38
1S<AS>
2568:BC
45
70
70
C6
0C
22
46<CF>
2830:46
0C
22
06
46
84
22
06<D9>
2AF8:18
18
3E
3E
3E
0O
7F
03<DB>
2570: a:
22
06
46
EC
23
06
46<B4>
2838:46
5C
22
06
46
6F
25
06<SF>
2B00;03
7F
60
60
7F
00
7E
06<A6>
2578:0F
26
06
46
SC
22
06
46<B2>
2840=06
06
46
SC
22
06
46
C6<0F>
2008:06
7F
07
07
7F
00
70
70<9F>
2Sß0s 4C
23
06
46
24
23
06
46<DA>
2848:48
71
49
31
27
06
06
B6<S8>
2B10:70
70
77
7F
07
00
7F
60<86>
2588= 5C
22
06
46
0C
22
06
46<69>
2850:46
5C
22
86
42
2E
48
02<CC>
2018=60
7F
03
03
7F
00
7C
6C<E7>
25TO: 34
22
06
46
SC
22
86
42<4B>
2858:02
41
A6
48
70
70
C6
0C<FD>
2B20:60
7F
63
63
7F
00
7F
83<66>
2598=2E
48
02
02
41
Fl
45
70<F2>
2360:22
46
SC
22
06
46
0C
22<74>
2023:03
IF
18
18
18
00
3E
36<7F>
25AO:70
C6
0C
22
46
5C
22
06<9D>
2868:06
46
34
22
06
46
5C
22<D9>
2B30;36
7F
77
77
7F
00
7F
63<FB>
25AÖ:46
0D
28
06
46
00
28
06<F2>
2370:06
46
BF
25
06
46
BF
25<67>
2038:63
7F
07
07
07
00
3C
3C<5C>
25603 46
SC
22
06
46
5C
22
06<43>
2873:06
46
9C
23
06
46
31
27<D1>
2B40:3C
00
3C
3C
3C
00
3C
3C<8C>
2588:46
5C
22
06
46
5C
22
06<AA>
2880:06
06
06
46
SC
22
86
42<32>
2848= 3C
00
3C
3C
18
30
06
0C<79>
25C0346
4C
23
06
46
74
23
06<11>
2888:2£
48
02
02
41
07
43
70<SA>
2B50:18
30
18
0C
06
00
00
7E<10>
25CB = 46
5C
22
36
42
2E
48
02<14>
2890:70
C6
0C
22
46
5C
22
06<97>
2058:00
00
7E
00
00
00
60
30<6F>
2500=02
41
26
46
70
70
C6
0C<69>
2898;46
31
27
06
06
06
46
5C<4D>
2B60;18
0C
18
30
60
00
7F
63<30>
25D8:22
46
5C
22
06
46
E7
25<6E>
2SA0:22
06
46
4C
23
06
46
74<BO>
2068:03
IF
FC
78
DF
79
IC
00<22>
25E03 06
46
E7
25
06
46
5C
22<11>
28AS:23
06
46
9C
23
06
46
24<FF>
2070:IC
00
18
18
IB
18
18
1B<C2>
25Ee= 06
46
CF
24
06
46
F7
24<FD>
2880:23
06
46
74
23
06
46
5C<2C>
2078:18
18
3F
33
33
7F
73
73<EB>
25F0:06
46
5C
22
06
46
IF
25<ES>
28B8:22
86
42
2E
48
02
02
41<4D>
2BS0:73
00
7E
66
66
7F
67
67<93>
25F8:06
46
5C
22
06
46
5C
22<86>
28C0:0A
49
70
70
C6
0C
22
46<65>
2088:7F
00
7F
67
67
60
63
63<:36>
2600:86
42
2E
48
02
02
41
SS<BD>
28CS:5C
22
06
46
4C
23
06
46<24>
2090:7F
00
7E
66
66
77
77
77<CD>
2608-46
70
70
C6
0C
22
46
5C<7F>
2800:74
23
06
46
9C
23
06
46<0B>
2098:7F
00
7F
60
60
7F
70
70<61>
2610:22
06
46
EC
23
06
46
EC<1E>
2808:9C
23
06
46
IF
25
06
46<33>
20A0:7F
00
7F
60
60
7F
70
70<59>
2618=23
06
46
5C
22
06
46
4C<E:7>
28E0:5C
22
06
46
9C
23
06
46<C7>
2BA8:70
00
7F
63
60
6F
67
67<AD>
2620= 23
06
46
74
23
06
46
5C<81>
28E8:9C
23
06
46
9C
23
86
42<9A>
2BB0:7F
00
73
73
73
7F
73
73<SA>
2628:22
06
46
5C
22
06
46
5C<16>
2SF0: 2E
48
02
02
41
30
49
72<C:9>
ZBB8:73
00
7F
IC
IC
IC
IC
1C<1F>
2630:22
06
46
5C
22
86
42
2E<F6>
28FB:49
60
4A
A2
FF
9A
20
S5<9D>
2BC0:7F
00
0C
0C
0E
OE
6E<3A>
2636:48
02
02
41
90
46
70
70<63>
2900;2C
20
96
40
4C
C3
2A
20<00>
2BCS:7E
O0
66
66
6C
7F
67
67<F1>
2640:C6
0D
22
46
SC
22
06
CE<EI>
2908= 44
20
A9
40
80
0E
04
A2<9E>
2BD0:67
00
30
30
30
70
70
7a<66>
264B:46
C9
47
46
0C
22
06
46<6E>
2910:FF
9A
AO
59
2A
80
72
48<37>
2B08:7E
00
67
7F
7F
77
67
67<4D>
2650:34
22
06
46
5C
22
06
46<11>
2918:38
E9
11
8D
75
30
A2
00<EA>
26E0;67
00
67
77
7F
6F
67
67<33>
2658:D4
22
06
06
06
46
5C
.22<5A>
2920=A9
10
90
50
48
E8
E0
07<EE>
2ÖEa:67
00
7F
63
63
67
67
67<DA>
2660: 06
46
4C
23
06
46
24
23<71>
2928:00
F6
A9
13
80
7C
43
A2<AB>
2BF0:7F
00
7F
63
63
7F
70
70<11>
2668= 06
46
5C
22
86
42
2E
48<8E>
2930:00
8E
10
00
8E
2F
02
SA<7D>
2Br8570
00
7F
63
63
67
67
67<16>
2670:02
02
41
C5
46
70
70
C6<2D>
2938:90
DD
4A
E8
E0
8C
00
F8<:^>
2C00:7F
07
7E
66
66
7F
77
77<FA>
2678:0C
22
46
5C
22
06
46
SC<£3>
2940:A9
10
80
6B
48
80
6C
48<59>
2C08=77
00
7F
60
7F
03
73
73<C1>
2680:22
06
46
5C
22
06
46
5C<DF>
2948: A9
78
80
07
04
A9
03
SIK43>
2C10:7F
00
7F
IC
IC
IC
IC
1C<FE>
2688= 22
06
46
C4
23
06
46
C4<FC>
2950:0A
00
A9
10
80
0C
D0
A9<98>
2C1S:1C
00
67
67
67
67
67
67<C0>
2690:23
06
46
5C
22
06
46
EC<1E>
2958:01
80
6F
02
A9
94
80
C3<00>
2C20=7F
00
67
67
67
67
6F
3E<EE>
2698=23
06
46
14
24
06
46
5C<03>
2960:02
A9
16
8D
C0
02
A9
1C<D4>
2C2S:IC
00
67
67
67
6F
7F
7F<SQ>
26fl0=22
86
42
2E
48
02
02
41<F9>
2968:80
CI
02
A9
Ctö
80
C2
02<3B>
2C30:67
00
73
73
73
3E
67
67<7C>
26A8:F8
46
70
70
C6
0C
22
46<3F>
2970:A9
78
30
F4
02
A9
A4
QD<BD>
2C38=67
00
67
67
67
7F
IC
1C<29>
26B0:5C
22
06
46
E7
25
06
46<7A>
■ 2978=C6
02
AE
75
30
BD
06
2F<SE>
2C40:IC
00
7F
66
6C
18
37
67<8E>
2688:E7
25
06
46
5C
22
06
46<DB>
2980:80
C4
02
80
00
2F
80
C3<9S>
2C4S:7F
00
lE
18
18
18
18
1S<0E>
26C0:4C
23
06
46
74
23
06
46<SE>
2988:02
BO
E4
2F
30
74
30
A9<BE>
2C50;lE
00
00
80
FB
80
OO
00<95>
26C8:5C
22
06
46
EC
23
06
46<2D>
2990:16
BD
C5
02
A9
FA
80
C7<DF>
2C58:00
00
00
00
00
00
FF
FF<AD>
26D0:14
24
06
46
SC
22
36
42<FC>
2998:02
20
93
3C
20
IF
30
20<2O>
2C60:FF
FF
FF
FF
FF
00
FE
FE<E9>
2600:2E
48
02
02
41
2D
47
70<26>
29A0:FD
38
20
26
36
AE
75
30<49>
2C6B:FE
FE
FE
FE
FE
00
F7
F7<B3>
26E0:70
C6
0C
22
46
SC
22
06<63>
29AB:BO
C7
2F
80
71
30
ED
CF<60>
2C70:F7
F7
F7
F7
F7
00
FF
FF<05>
26E8=46
95
27
06
06
06
46
5C<12>
2900=2F
8D
70
30
80
00
00
8D<30>
2C78:66
66
66
66
66
66
66
66<1B>
26F0:22
06
46
EC
23
06
46
0F<21>
2908=01
00
30
06
20
00
37
4c<c:o>
2080:66
66
66
66
66
66
66
66<53>
26FS:26
06
46
5C
22
06
46
BF<B3>
29C0; 3C
4A
20
E6
36
A9
08
8D<F6>
2C88;66
66
66
FF
FF
66
00
00<7B>
2700=25
06
46
BF
25
06
46
5C<38>
29C8:7E
30
A9
00
80
lE
00
3D<AC>
2C90:00
00
00
00
0F
IF
00
00<DD>
2708:22
86
42
2E
48
02
02
41<a3>
2900= 6B
30
SO
86
30
80
87
30<EE>
2C93;00
00
00
00
C0
C0
0F
OB<lD>
2710:62
47
70
70
C6
OC
22
46<C£>
2908:80
7F
30
80
81
30
BD
ca<i3>
2CA0:IF
03
0F
02
02
02
C0
C0<22>
2718:SC
22
06
46
E7
25
06
46<CF>
29E0:02
BD
7A
30
85
14
A9
03<59>
2CAB= CO
C0
CO
E0
EO
00
IF
2D<B0>
2720:E7
25
06
46
5C
22
06
46<FD>
29E8;8D
10
00
A9
CD
SD
00
a2<F6>
2CB0:4F
30
0F
10
3F
TD
C0
A0<A2>
2728:5C
22
06
46
El
26
06
06<73>
29F0:A9
38
BD
01
02
A9
C0
6E<06>
2C&8:90
E0
80
C0
E0
F0
00
00<0B>
2730:06
06
06
06
06
46
SC
22<C3>
29Fa:4A
OC
4A
80
0E
D4
A5
14<97>
2CC0:00
00
00
00
C0
CBi
05
0S<2C>
2738:86
42
2E
48
02
02
41
95<B4>
2A00:C9
02
00
FA
A9
01
85
14<3B>
2CC3;0S
05
05
05
ID
lO
05
0S<41>
2740:47
70
70
C6
0C
22
46
CA<B7>
2A08: 20
13
39
20
81
38
20
SS<DC>
2CD0: 05
ID
lO
01
01
01
02
07<BC>
2748:47
c:5
48
5C
22
06
46
0C<FB>
2A10;38
20
5£
37
20
08
33
20<28>
. 2CI>S:FD
FF
45
11
FF
00
00
00<20>
2750:22
06
46
AC
22
06
46
SC<C4>
2A18:F2
37
20
59
3C
20
CE
35<FF>
2CE0:55
FF
FF
FF
42
C6
00
00<9F>
2758:22
06
46
BF
25
06
46
BF<6A>
2A20:20
94
35
AD
7A
30
C9
i4<D4>
2CEa:40
F0
FE
FF
00
00
C2
77<08>
2760:25
06
46
5C
22
06
46
5C<S2>
2A2a:90
0E
A9
14
80
7A
30
aö<08>
21^0: 3Ü
IF
07
01
FF
00
00
00<97>
2768:22
06
46
5C
22
06
46
5C<E1>
2A30=12
35
20
7E
35
20
34
35<76>
2CFS:55
FF
FF
FF
42
63
00
00<2A>
2770:22
86
42
2E
48
02
02
41<2B>
2A38:E£
7A
30
20
06
34
20
59<42>
2000:15
BF
FS
E0
00
00
00
00C91>
2778:C4
47
70
70
C6
0C
22
46<56>
2A40:3E
AO
87
30
C9
O0
00
09<91>
2008: 0A
IF
7F
FF
00
00
00
00<0F>
2760;5C
22
06
46
BC
22
06
46<A5>
2A4S:20
03
3A
20
5E
3A
20
3A<00>
2010:54
FF
IF
07
00
00
40
EO<3B>
2788:34
22
06
46
5C
22
06
46<54>
2A50;3O
20
E6
35
20
40
3C
AIKS2>
2013: BE
FF
A2
88
FF
00
47
EE<40>
2790:EC
23
06
46
0F
26
06
46<15>
2A58=07
30
C9
00
F0
06
20
95<02>
2D20:OC
F0
80
8A
FF
00
00
iW<E4>
2798:5C
22
06
46
4C
23
06
46<73>
2A60:30
20
98
34
20
4B
3A
4C<6E>
2D28:18
66
3C
SA
99
90
24
42<FE>
27A0:74
23
06
46
5C
22
86
42<47>
2A68=71
4A
00
78
FB
78
00
00<05>
2030:81
99
66
3C
14
24
00
0O<63>
27AS=2E
48
02
02
41
F9
47
01<73>
2A70;00
00
00
00
00
00
00
0B<C4>
2038=00
18
7E
FF
7E
18
18
7E<3A>
27B»:05
05
05
05
05
05
05
05<7E>
2A78=00
IF
IF
18
18
18
18
1S<63>
2D40:FF
7E
18
00
00
00
00
00<BC>
27BS:05
05
05
05
05
06
05<08>
2A80:18
IF
IF
00
00
80
18
18<D4>
2048:06
FF
lE
13
24
42
0O
00<D0>
27C0:05
05
05
05
05
05
06
05<10>
2A88:18
F8
F8
00
00
00
00
00<ES>
2D50:00
00
FC
80
47
81
00
00<62>
27C8:05
05
05
05
05
06
05
05<1A>
2A90:00
FS
FS
18
18
18
00
00<S4>
2D58:00
00,
m
00
00
00
0O
00<ß2>
2700:05
05
05
05
05
05
04
0S<1F> ,
2A9S:00
FF
FF
00
00
00
00
00<GC>
2D60=00
00
3C
18
42
7£
FF
FF<AC>
2708:33
23
2F
32
25
lA
10
10<02>
2AA0;00
FF
FF
18
18
18
18
18<7F>
2068:7E
3C
42
24
31
3C
3C
3C<C8>
27E0:10
10
10
10
10
00
08
a0<CD>
2AA8:18
FF
FF
00
00
00
le
18<70>
2070:41
A4
76
C3
DF
C3
FB
FB<32>
27E8:15
10
10
38
lO
10
08
33<4E>
2AB0;18
18
18
18
18
18
78
1S<C2>
2078:C3
76
23
10
38
44
44
44<2E>
27F0:35
22
lA
11
00
08
00
2C<01>
2AB8;18
IC
IC
IC
7C
00
00
66<86>
2D80:44
38
10
92
92
FE
10
10<9A>
27F8:29
36
25
33
lA
13
08
02<5F>
2AC0;3C
FF
3C
66
0O
0O
00
18<F7>
2083:10
7C
FF
FF
00
FF
FF
00<93>
28003 05
05
05
05
0S
05
05
05<50>
2AC8:18
7E
18
18
m
00
00
00<0C>
2090= FF
FF
66
24
00
18
7E
0E<6F>
2808=05
05
05
05
0S
05
07
05<5C>
2AD0=0O
00
00
18
18
30
00
00<27>
2D98:A5
66
24
99
C3
66
18
i8<D0>
2810:05
05
05
05
05
05
07
05<64>
2ADB;00
7E
00
00
00
00
00
00<8E>
2DA0:24
66
E0
02
El
02
00
22<73>
Laeng;e 116 B 6 Sytes
Listing zu »Submission» (Schluß)
80
Vorsicht Falle!
Sie drehen in einem Autoscooter Ihre Runden.
Plötzlich rast Ihnen ein anderer Scooter entgegen.
Aber keine Panik, »Crazy Scooter« ist nur ein
Spiel.
eder fährt gerne einmal mit einem »Bleifuß« auf dem
Gaspedal. Aber bitte nicht auf echten Straßen. Wenn
Sie sich so richtig austoben möchten, dann starten Sie
doch Ihren Computer und laden Sie das Spiel »Crazy Scoo¬
ter«. Hier können Sie Ihre Reaktion unter Beweis stellen.
»Crazy Scooter« ist zu 100 Prozent in Maschinensprache
geschrieben. Es stellt eine Scooterbahn auf dem Rummel¬
platz dar. Sie’steuern das blaue Fstfirzeug, der Computer das
rosarote. Ihre Aufgabe besteht darin, alle Punkte auf der Fahr¬
bahn einzusammeln. Achten Sie aber auf das computerge¬
steuerte Auto! Bauen Sie einen Crash, ist eines Ihrer drei
Leben verloren. Rechts neben der Scooterbahn befindet
sich Ihre Spritanzeige. Geht Ihnen der Sprit aus, isfs ebenfalls
für ein Auto vorbei.
Sollten Sie dem anderen Auto einmal blitzschnell auswei-
Chen müssen, betätigen Sie einfach den Feuerknopf. Ihr Auto
beschleunigt dann augenblicklich, was sich allerdings auf
den Spritverbrauch auswirkt. Achten Sie also auf die Ben¬
zinzufuhr.
Haben Sie trotz Schwierigkeiten alle Punkte eingesam¬
melt, gelangen Sie in die nächsthöhere Spielstufe Ab dem
dritten Level kommt eine neue Schwierigkeit ins Spiel. In der
Spielfeldmitte erscheint eine Zahl, die die Anzahl der einzu¬
sammelnden Bonuspunkte angibt. Diese Punkte erscheinen
aber ganz willkürlich an irgendeiner Stelle der Bahn. Für
Jeden eingesammelten Bonuspunkt bekommen Sie 50 Punk¬
te. Sollten Sie eine Spielstufe mit zu wenig Bonuspunkten
beenden, verlieren Sie wiederum einen Scooter. Ab Spiel¬
stufe sechs wird es noch interessanter. Dann behindern Sie
noch Straßensperren, denen Sie geschickt ausweichen
müssen.
Jeder Level unterscheidet sich vom vorhergehenden.
Immerwieder gibt es neue Hindernisse. Stellen Sie doch eine
eigene Highscore-Liste auf, denn nur wenige werden die
Stufe zehn erreichen.
(Oliver Schmitt/wb}
PROGRAMM-STECKBRIEF
Programm name
Crazy-Scooter
Programm typ
Spiel
Programmiersprache
Maschi nensprache
Programmlänge
6030 Byte
tür Computer
800 XU130 XE
^usätzltche Hardware
DiskettenJaufwerk oder
Kassettenrecorder und Joystick
Eingabehilfe
AMPEL
Bemerkung
Sehr schnelles Aktion-Spiel
Leserservlce
Diskette (SCOOTER.COM)
00001
FF
40
90
3B
91
20
08<04>
0178:90
C9
O0
DO
09
20
EE
9E<F4>
02FO;1A
90
C9
03
FO
3B
C9
04<11>
000S:9D
20
EC
91
20
TD
99
20<AB>
0180:20
58
9E
4C
02
93
A9
O0<E0>
02FS:FO
3F
C9
05
FO
43
C9
06<32>
0010:lE
92
20
3B
92
20
E9
9C<BA>
0188:80
24
90
20
20
9E
20
71<75>
0300:FO
4C
34
93
2F
94
C9
07<61>
0018:A9
EB
80
30
02
A9
BB
aD<AF>
0190:94
20
EE
9E
20
39
94
A9<44>
0308:F0
SA
C9
08
FO
5E
C9
09<C9>
0020;31
02
A9
80
8D
F4
02
A0<1E>
0198:01
8D
2D
90
20
31
9D
A9<B5>
0310;F0
62
4C
77
90
A9
02
8D<5B>
0028;50
ft2
06
A9
07
20
SC
E4<99>
01A0;00
80
2D
90
4C
02
93
A9<9E>
0318:2B
90
8D
IB
90
A9
11
eD<Bl>
0030:A9
FA
m
lA
02
A9
C0
eD<15>
01A8:10
OD
A9
8A
SD
AA
BA
8D<3S>
0320:05
8A
A9
10
SD
D6
BA
2O<40>
0038:0E
D4
20
2E
92
20
B0
93<20>
01BO:AB
8A
8D
AC
BA
60
A9
00<32>
0328=7C
9D
20
lE
92
fi9
05
8IK47>
0040; rw
28
8D
01
D2
4C
Dl
92<39>
0188:80
00
02
A9
06
80
01
02<46>
0330:2C
90
4C
A7
93
A9
01
8D<2E>
0048:AD
84
02
C9
00
D0
OE
AD<98>
01CO:A9
F9
QD
28
02
A9
9E
BD<E6>
0338:2C
90
4C
A7
93
A9
02
8DC28>
00S0I2B
90
8D
0A
90
A9
3C
0D<44>
01CB=29
02
A9
01
SD
04
D4
aD<AE>
0340:2C
90
4C
A7
93
A9
02
8D<O0>
0058:00
D2
4C
9C
92
A9
5A
SD<ac>
01D0:23
90
60
AD
2C
90
C9
00<5C>
0348:2B
90
A9
03
8D
2C
90
4C<AF>
0060:00
D2
4C
9C
92
A0
02
B1CE4>
01D8:D0
Ol
60
CE
2C
90
AD
2C<14>
0350: A7
93
A9
0A
BD
IB
90
A9<9E>
0068:CB
4C
B8
90
20
45
99
A0<D8>
0iE0:90
18
69
10
BD
DD
09
60<29>
0358:04
BD
2B
90
A9
01
8D
2C<;7B>
0070:00
Bl
CB
AA
20
53
99
4C<5C>
01E8:20
4A
96
20
BC
99
20
09<12>
0360:90
4C
A7
93
A9
02
8D
2C<C3>
0078:DG
90
A0
28
BL
CB
C9
03<2S>
01F0=99
20
F4
9B
20
32
99
6fl<92>
0368:90
4C
A7
93
A9
03
8D
ZC<BF>
0080:F0
4C
C9
04
F0
48
C9
09<60>
01FÖ:A9
FF
80
lE
DO
AD
IF
D0<C5>
0370:90
4C
A7
93
A9
04
SD
2C<BB>
0088:F0
29
C9
2F
F0
2a
C9
38<C0>
0200;C9
06
38
92
33
93
00
F4<16>
037B:90
18
69
10
8D
DD
89
4C<B9>
0090;F0
39
60
20
6F
99
AC
00<DF>
0208:60
A9
00
8D
IC
90
80
1D<92>
0380:77
90
A9
AA
8D
01
02
A2<E4>
0098:81
CB
AA
20
61
99
E0
03<AB>
0210:90
80
lE
90
BD
IF
90
A9<15>
0388:00
BD
D2
93
BD
00
D2
A9<1A>
08A0:F0
2C
E0
04
F0
28
E0
09<E6>
0218:01
SD
lA
90
A9
0A
8D
1B<CD>
0390:00
85
14
A9
FF
BD
lE
Dß<3F>
00A8:F0
09
E0
2F
F0
08
E0
38<79>
0220:90
60
A9
14
SD
22
90
AD<7B>
039B:A5
14
C9
02
D0
FS
£8
E0<B3>
00B0;F0
19
60
4C
C0
95
A9
00<63>
0228:0A
90
C9
04
FO
04
20
63<A4>
O3A0:16
00
£6
60
10
IF
23
28<3A>
0088:80
32
90
20
B0
95
EE
32<Ci>
0230:92
60
20
A5
92
60
EE
20<AD>
03A8;2D
2F
35
3C
40
48
51
5B<9C>
00G0S 90
AD
32
90
C9
05
D0
F3<20>
0238:90
AE
20
90
A9
00
9D
D0<3D>
03BO:60
6C
79
BO
90
A2
B6
Cl<32>
00Cd;4C
09
92
4C
7F
91
68
68<A3>
0240:83
E0
B4
FO
08
£0
A0
10<42>
03BS:D9
F3
A2
00
BD
F6
93
9D<BC>
O0D0r68
68
4C
47
91
AD
05
9a<51>
0248:01
60
4C
45
94
A9
00
GD<a6>
03C0:D5
89
ES
E0
11
D0
F5
60<7O>
00D8;C9
0B
F0
0B
C9
07
F0
0C<FC>
0250:24
90
8D
02
D2
■20
20
9E<09>
00
21
00
2D
00
25
04<3C>
00E0:C9
0E
F0
0D
4C
30
91
A9<7E>
0258:20
20
94
20
Fl
94
20
74<77>
03D0;O0
04
2F
00
36
00
25
0O<B9>
0^8; 02
4C
41
91
A9
01
4C
4l<40>
0260:95
20
EE
9E
20
39
94
4C<B5>
0308:32
A2
00
BD
15
94
9D
DC<4C>
00F0;91
A9
04
4C
41
91
A9
03<49>
0268:82
9C
CE
22
90
AD
22
9a<57>
O3E0;8A
ES
E0
08
D0
F5
60
33<9S>
00F8;4€
41
91
68
68
AD
09
90<17> ■
0270:FO
B0
60
EE
20
90
AE
20<E3>
03Ee:23
28
37
21
23
28
2B
2F<42>
0100:C9
01
3C
91
37
92
F0
09<9C>
0278:90
A9
00
90
00
83
EO
&4<FA>
03F0:30
26
A2
00
BD
2E
94
9D<AF>
0108;4C
C8
92
CD
04
90
FO
EF<72>
0280:FO
CB
EE
20
90
AE
20
90<72>
03F8=DC
BA
EB
E0
0B
D0
F5
60<2B>
0110:60
AD
0A
D2
29
03
C9
00<F2>
0288;A9
00
9D
00
83
£0
B4
F0<00>
0400:^
35
30
94
2B
95
34
00<52>
01ie;F0
0B
C9
01
F0
0C
C9
02<41>
0290:BC
E0
AO
10
B5
60
AD
7S<F8>
0408:2F
26
00
26
35
25
2C
A9<D1>
0120:F0
0D
4C
6A
91
A9
OB
4C<F6>
0298:02
80
05
90
20
91
20<E8>
0410:00
AA
9D
DC
BA
E8
E0
0B<AE>
012a:6C
91
A9
07
4C
6C
91
A9<0A>
02A0:82
90
A9
00
85
4D
AD
05<B4>
0418:00
FS
60
A9
EF
8D
03
D2<32>
0130;0E
4C
6C
91
A9
0D
80
05<40>
02A8;90
C9
OB
FO
DB
C9
07
FO<01>
0138:90
A9
01
8D
09
90
20
0F<2D>
02B0;0D
C9
OE
F0
OF
4C
FC
92<61>
0140:91
A9
00
SD
09
90
4C
D1<BD>
0288:20
CD
96
4C
01
92
20
Sl<25>
0148:92
A9
00
BD
24
90
8D
02<C0>
02Cß=96
4C
01
92
20
72
97
4C<37>
0150:D2
20
20
9E
20
07
94
20<45>
02C8;D1
92
20
lA
97
4C
Dl
92<54>
015B:F1
94
20
74
95
20
EE
9E<D6>
02D0;AD
lA
90
C9
09
FO
3A
EE<9A>
0160:20
39
94
4C
B2
9C
AD
0F<40>
02D8;lA
90
20
7C
90
20
lE
9Z<D5>
i ■
0168:90
C9
9D
F0
01
60
A9
00<£F>
02EO;18
AD
lA
90
69
10
80
05<D1>
t-i6iing zu »
0170;BD
01
D2
8D
03
D2
AD
2C<F4>
02EB:8A
CE
IB
90
CE
IB
90
AD<2E>
Bitte mit AMPEL eingetien.
0420:AD
25
90
09
01
F0
10
A9<37>
06ES:F5
CE
01
90
20
5F
9C
A9<6C>
09B0:2O
53
99
4C
ES
99
A0
i3<93>
0420:BA
8D
01
02
A9
01
SD
25<39>
06F0=01
SD
04
90
20
9C
91
60<1A>
0988:Bl
CB
C9
03
F0
2F
C9
04<F0>
0430;70
A9
010
80
02
D2
60
A9<F4>
06F8= 20
66
98
AD
00
90
C9
0S<S3>
09C0:F0
2B
C9
09
F0
21
C9
2F<03>
0438:38
8D
CI
02
A9
Q0
SD
25<7B>
0700:D0
26
24
97
IF
9B
20
45<ßA>
09C8:F0
20
C9
38
F0
01
60
4C<07>
0440: 90
A9
45
SD
02
D2
60
A2<95>
0708:9B
20
B4
90
20
EA
98
A9<EE>
O9D0:7F
91
EO
03
F0
17
E0
04<12>
0448:00
BD
7F
94
9D
DD
8A
E8<24>
0710:00
AS
91
CB
A9
00
8D
02<49>
09D8:F0
13
EO
09
F0
09
E0
2F<C6>
04^0:E0
09
D0
FS
60
2E
2F
00<ED>
0713:90
A9
08
SD
03
90
20
42<3A>
09E0:F0
OB
EO
38
F0
E9
60
4C<9A>
0453:00
22
2F
2E
35
33
20
12<66>
0720:9A
20
61
99
20
FC
98
A9<C2>
09ES= 00
95
40
FO
90
68
68
AD<2C>
04Ä0:95
AD
26
90
C9
00
F0
01<B2>
0728:00
80
00
90
A9
00
AE
□0<FA>
09F0:07
90
09
01
F0
03
4C
0B<FE>
0468:60
20
E0
94
AD
0A
D2
29<C7>
0730:90
9D
06
80
EE
00
90
AE<A2>
09F8:91
68
68
A9
01
8D
08
90<62>
0470:01
C9
01
F0
iC
20
D9
94<F1>
0738:00
90
A0
00
B9
63
9A
9D<A2>
0A00;4C
FB
18
9A
13
9B
9A
AO<6D>
0479:BD
35
99
C9
00
F0
01
60<SC>
0740:08
80
ES
08
C0
08
DO
F4<9F>
0A08:14
Bl
CB
4C
DO
99
20
6F<F8>
0490:A9
2F
9B
35
89
BE
27
90<S4>
0748:20
5F
9C
A9
04
8D
04
90<3A>
0A10:99
AO
00
Bl
OB
AA
20
61<82>
0499:A9
01
BD
26
90
SD
28
90<50>
0750:20
90
91
60
20
A5
98
AD<DD>
0A18:99
4C
ES
99
20
6F
99
20<5E>
0490:60
20
D9
94
BD
75
8A
C9<BA>
0758:00
90
C9
00
D0
27
20
64<22>
0A20:53
99
A0
00
Bl
CB
AA
2ß<44>
0498:00
F0
01
60
A9
2F
9D
75<6S>
0760:9B
20
CD
90
20
EA
9S
A9<B7>
0A28:61
99
20
45
99
4C
ES
99<CA>
O4A0:8A
SE
27
90
A9
01
8D
26<C9>
0768:00
A0
14
91
CB
A9
08
8D<73>
OA30:A2
00
AC
02
90
BD
63
9A<S2>
04AS:90
A9
02
BD
28
90
60
AD<2B>
0770:02
90
A9
00
8D
03
90
2O<50>
0A33:99
08
80
CS
E8
EO
08
D0<A5>
04B0:0A
D2
29
0F
AA
60
CE
2A<E4>
0778:42
9A
20
6F
99
20
FC
98<E6>
0A40:F4
A9
00
AA
AC
03
90
99<76>
04B8:90
AD
2A
90
DO
06
A9
64<7E>
0780:A9
08
SD
00
90
CE
00
90<5A>
QA4S:0S
SO
08
ES
E0
0S
D0
F7<8D>
04C0:SD
2A
90
60
68
6S
60
AD<D4>
07SB:AE
00
90
A0
O0
B9
63
9AC3D>
OA50:60
5A
7E
5A
18
IS
5A
7E<63>
04CS:26
90
C9
01
F0
01
60
AD<E2>
0790:9D
08
60
E0
CS
C0
08
D0<1F>
0A5S:5A
A9
01
8D
07
90
AD
7e<S8>
04D0:28
90
C9
02
F0
09
A9
00<FE>
0798:Fa
A9
00
9D
08
80
20
5F<76>
OA60=02
C9
0E
FO
0C
C9
0D
F0<FS>
04De:AE
27
90
9D
35
09
60
A9<62>
07A0:9C
A9
03
SD
04
90
20
9C<SE>
0A68;20
A9
01
SD
08
90
4C
FB<7F>
04E0:00
AE
27
90
9D
75
8A
60<64>
07AS:91
60
AD
04
90
C9
03
F0<C2>
0A70:9A
A9
00
8D
06
90
20
82<39>
04ES:AD
lA
90
09
03
10
02
68<30>
07B0:26
C9
04
F0
01
60
20
B0<F9>
0A78;90
20
72
97
EE
06
90
AD<C8>
04F0:68
60
20
95
95
AD
2F
90<1F>
07BS:99
A9
00
AS
91
CB
A9
00<FC>
0^0: 06
90
C9
10
D0
F0
4C
FB<A7>
04FBiC9
00
F0
01
60
20
9F
95<4A>
0700:8D
02
90
A9
08
BD
03
90<1A>
0A88;9A
A9
00
8D
06
90
20
S2<21>
0500:AD
0A
2C
95
27
96
D2
29<S£>
0708:20
09
99
20
61
99
20
FO<F6>
0A90:90
20
lA
97
EE
06
90
AD<FS>
0508:01
C9
01
F0
IC
20
6D
95<B3>
07DO:98
A9
00
8D
01
90
60
20<D6>
0A9S;06
90
C9
10
D0
FO
4C
FB<81>
0510;BO
5F
89
09
00
F0
01
60<5F>
07D8:B7
99
A9
00
A0
14
91
CB<17>
0AA0:9A
A9
01
SD
07
90
AD
78<20>
0518:
9D
5F
89
BE
30
90<D9>
07E0:A9
00
8D
02
90
A9
08
ßD<Dl>
0AA8:02
C9
OB
F0
0C
C9
07
F0<D5>
0520:A9
01
SD
2F
90
BD
31
90<6a>
07E8:03
90
20
09
99
20
F0
9a<97>
0AB0; 20
A9
01
SD
08
90
4C
FB<3E>
0528:60
20
6D
95
BD
4F
SA
C9<66>
07F0:A9
00
8D
01
90
60
AD
04<5O>
OABS:9A
A9
00
SD
06
90
20
S2<D1>
0530:00
F0
01
60
A9
38
9D
4F<0C>
07F8:90
09
03
F0
05
C9
04
F0<2F>
0M:0: 90
20
CD
96
E£
06
90
AD<OB>
0538:8A
ÖE
30
90
A9
01
80
2F<53>
0900:23
60
20
98
IB
99
20
BE<6C>
0ACS:06
90
C9
10
D0
F0
4C
FB<CF>
0540:90
A9
02
BD
31
90
60
AD<B9>
0808:99
A9
00
A0
14
91
□B
A9<2E>
0ADO': 9A
A9
00
8D
06
90
20
82<D9>
0548;0A
D2
29
0B
AA
60
AD
2F<FE>
0910:08
SD
02
90
A9
00
8D
03<E9>
0ADS:9O
20
81
96
EE
06
90
AD<79>
0550:90
C9
01
F0
01
60
AD
31<S3>
0818:90
20
09
99
20
45
99
20<8A>
0AE0: 06
90
C9
10
D0
F0
4C
FB<C7>
0558:90
C9
02
F0
09
A9
00
AE<34>
0920:F0
98
A9
08
BD
01
90
60<SD>
0AE8;9A
A9
00
8D
07
90
68
6S<BE>
0560:30
90
9D
5F
89
60
A9
00<E6>
0828:20
CC
99
A9
00
AS
91
CB<A7>
0AFO=68
68
4C
Dl
92
AD
m
90<92>
0568= AE
30
90
9D
4F
8A
60
AD<1D>
0830: A9
08
BD
02
90
A9
00
8D<00>
OAFS:C9
01
D0
01
60
A9
3C
A2<FB>
0570:lA
90
C9
06
10
02
69
68<65>
0839:03
90
20
09
99
20
61
99<29>
0B00:89
20
14
9B
0F
9C
83
9B<AS>
0578:60
CE
2E
90
AD
2E
90
D0<F2>
0840:20
45
99
20
F0
98
A9
0S<FF>
0B08;A9
64
20
83
9B
A9
8C
20<AA>
0580:06
A9
64
8D
2E
90
60
6S<i5>
0848:8D
01
90
60
AD
04
90
C9<:36>
0B10;S3
9B
A9
B4
20
83
9B
60<8F>
0588:68
60
A9
00
9D
26
90
20<30>
0850=01
F0
05
09
02
F0
13
60<SF>
0B18:AD
08
90
09
01
D0
01
60<CE>
0590:74
95
A9
00
8D
2r
90
4C<D9>
0958:20
19
9A
A7
00
A0
01
9i<A2>
0B20:A9
05
A2
SA
20
83
9B
A9<95>
0598;C3
95
EE
0F
90
EE
OB
90<FA>
0S60:CB
20
FC
98
A9
00
SD
00<37>
0B28:2D
20
83
9B
A9
55
20
83<34>
05A0;AD
0B
90
09
0A
D0
0D
A9<B3>
0868:90
60
20
B0
99
A9
00
A8<6A>
0B3O= 9ß
A9
7D
20
83
9B
60
AD<7B>
05A8:00
BD
0B
90
A9
10
SD
AC<S2>
0870:91
OB
A9
m
SD
02
90
A9<SD>
0B3S:0S
90
09
01
D0
01
60
A9<SB>
05B0:BA
20
E4
95
IS
AD
OB
90<B7>
0878:08
SD
03
90
20
42
9A
20<B6>
OB40;CB
A2
89
20
90
9B
A9
CD<SE>
05B8:69
10
SD
AC
SA
60
EE
0C<7D>
0880:53
99
20
FC
98
A9
00
SD<14>
0B48:20
90
9B
A9
CF
20
90
9B<E9>
05C0:.90
AD
0C
90
09
0A
D0
OD<9B>
0888:00
90
60
AD
04
90
C9
01<64>
0B50;A9
Dl
20
90
9B
60
AD
08<^>
05CS:A9
00
8D
0G
90
A9
10
SD<6D>
0890;F0
05
09
02
F0
23
60
20<FF>
0B58:90
09
01
D0
01
60
A9
D5<35>
05D0:AB
8A
20
05
96
IB
AD
0C<59>
0898:20
9A
A9
00
A0
01
91
CE<21>
0B60:A2
89
20
90
9ß
A9
D7
20<£D>
05DQ:9Q
69
10
SD
AB
SA
60
EE<CD>
08A0; A9
08
8D
02
90
A9
00
SD<BD>
0B68:90
9B
A9
D9
20
90
9B
A9<F9>
05E0:0D
90
AD
0D
90
C9
0A
D0<43>
0eA8:03
90
20
42
9A
20
6F
99<E9>
OB70;DB
20
90
9B
60
C5
CB
D0<95>
O5E8:0D
A9
00
SD
0D
90
A9
10<88>
0SB0:20
FC
98
A9
08
8D
00
90<63>
OB78:16
E4
CO
D0
12
68
68
4C<56>
05F0:8D
AA
8A
40
26
96
18
AD<S6>
08BS:60
20
2E
9A
A9
00
AB
91<4D>
0BS0:6B
9A
05
CB
D0
09
E4
CC<76>
05F8;0D
90
69
10
8D
AA
SA
60<6i>
08C0:CB
20
6F
99
20
53
99
20<35>
0B88:D0
05
68
68
4C
B3
9A
60<1D>
0600:FE
0E
28
96
23
97
90
AD<26>
08C8:FC
9S
A9
08
SD
00
90
60<7E>
OB90 s AD
0E
90
CD
IF
90
F0
03<C5>
0608:0E
90
C9
0A
DO
0D
A9
00<05>
08D0:A9
00
8D
08
90
60
A9
Sl<13>
OB98;10
20
60
AD
0D
90
CD
1E<D5>
0610:SD
0E
90
A9
10
SD
A9
3A<91>
08DS:A0
00
91
OB
A9
82
CS
91<E7>
0BA0;90
FO
03
10
15
60
AD
0C<ED>
0618;4Q
47
96
18
AD
0E
90
69<6E>
0SE0:CB
60
A9
81
A0
00
91
CB<86>
OBASs 90
CD
ID
90
F0
03
10
0A<4C>
0620:10
8D
A9
SA
60
4C
47
96<55>
08EB:A9
82
A0
14
91
CB
60
A2<3D>
0060:60
AD
OB
90
CD
IC
90
10<92>
0628:A9
08
8D
00
90
8D
03
90<B4>
O8F0:00
AC
02
90
BD
2A
99
99<BD>
0BBS:01
60
AD
OB
90
SD
IC
90<44>
06303 A9
01
SD
19
90
A9
02
8D<AB>
0BF8:0S
80
C8
ES
E0
08
D0
F4<56>
OBCO:AD
0C
90
8D
ID
90
AD
0D<SA>
0638=04
90
8D
16
90
A9
07
SD<37>
0900:A9
00
IC
99
17
9A
AA
AC<16>
0BCS:90
BD
lE
90
AD
0E
90
SD<CE>
0640;05
90
A9
0A
80
0A
90
A9<05>
0908:03
90
99
08
80
CS
ES
ECK 26 >
0BD0;1F
90
A2
0O
A0
04
18
BD<S8>
0649:FF
SD
13
90
A9
64
80
2A<B0>
0910:08
D0
F7
60
00
E7
42
FF<1E>
OBD8:IC
90
69
10
99
BC
SA
ES<BF>
0650:90
8D
2E
90
A9
21
8D
20<0S>
0916:FF
42
£7
00
A9
3C
SS
CB<21>
0BE0:88
E0
04
D0
Fl
60
A9
3E<CC>
0658:90
A9
14
8D
22
90
60
20<D1>
0920:A9
89
85
CC
A9
00
A8
9a<7B>
0BE8= 8D
2F
02
A9
Ol
SB
6F
O2<07>
0660:C8
97
AD
01
90
09
08
D0<5F>
0928:CB
E6
CB
20
F0
98
60
3S<4B>
0BF0:A9
AS
SD
11
90
A9
78
8D<28>
0668:26
20
07
9B
20
9F
90
20<54>
0930:A5
CB
E9
Ol
85
CB
A5
CC<DD>
01^8=00
D0
SD
10
90
A9
SO
BIK63>
0670:EA
9B
A9
00
AS
91
CB
A9<2E>
0938sE9
00
85
CG
60
IS
A5
CB<83>
0000;07
D4
10
90
OB
9D
20
11<7C>
0678:00
8D
02
90
A9
0S
8D
03<AG>
0940:69
01
85
CB
A5
GO
69
00<4B>
OCOS:9D
20
4A
90
A9
00
AA
9D<27>
0680:90
20
09
99
20
53
99
20<1E>
0948:85
CC
60
IS
A5
CB
69
14<52>
0010=00
84
ES
D0
FA
20
38
9C<5F>
0688:F0
98
A9
00
SD
01
90
A2<F3>
0950:85
OB
A5
CC
69
00
85
CC<CS>
0C1S:A9
03
SD
ID
DO
60
00
E7<B3>
0690:00
5E
OS
S0
7E
10
80
E8<50>
0958:60
38
A5
CB
F9
14
85
CB<F5>
0C20:42
FF
FF
42
E7
00
5A
7E<87>
0690:E0
08
D0
F5
EE
01
90
20<A2>
0960:A5
CC
E9
00
85
CC
60
A9<D2>
0028= 5A
18
18
5A
7E
5A
A0
00<BO>
06A0:5F
90
A9
02
SD
04
90
20<54>
0968=00
SD
0B
90
SD
DC
90
BD<3A>
0030:AE
11
90
B9
28
9C
9D
00<EB>
06AS:9C
91
60
20
14
98
AD
01<52>
0970:0D
90
SD
0E
90
60
A9
00<OF>
06B0:90
C9
00
D0
27
20
26
9B<94>
0978:BD
01
90
SD
02
90
SD
07<Dä>
06B8;20
A6
90
20
EA
98
A9
00<73>
09803 90
BD
0B
90
8D
09
90
SD<76>
0600= A0
01
91
CB
A9
00
8D
03<FE>
0988:0F
90
8D
18
90
8D
25
90<CC>
06Ca:90
A9
0S
SD
02
‘90
20
09<2C>
0990:8D
26
90
SD
2D
90
SD
2F<AD>
f ictinn 711 n
06D03 99
20
45
99
20
F0
98
A9<FE>
0998:90
60
A0
15
Bl
CB
4C
D0<41>
vTd^y
0608=08
80
01
90
A2
00
lE
10<7E>
09A0:99
A0
01
Bl
OB
4C
DO
99<54>
Bitte mit AMPEL emgeben.
06E0;80
3E
08
80
ES
E0
06
D0<D6>
09A8:20
45
99
A0
00
Bl
CB
AA<2F>
(Fortsetzung)
82
0C33=84
ES
CB
C0
08
Ü0
F4
60<C8>
0F00S06
8D
04
0C40=A9
4C
BD
C0
02
A9
BC
SD<16>
0F0S:4C
20
9F
0C43:C4
02
A9
BA
80
Ct
02
A9<B0>
0F10:BD
23
90
0C50i73
8D
C6
02
60
A9
0O
aD<52>
0F1S:QO
C9
8D
0C5B=14
90
EE
14
90
A9
00
8D<09>
0F2OtEF
88
A9
0C60:15
90
EE
15
90
AD
15
90<9F>
OF2S;00
SB
A3
OC68;D0
FS
4C
D3
9C
20
8D
9C<C0>
0F30:00
A3
B2
0C70:AD
14
90
CD
OA
90
DO
E2<53>
0F38:A3
AF
AF
0C78;A9
0A
8D
0A
90
20
88
94<E2>
0F40:00
oo
00
0C80:4C
IC
95
AD
04
DO
C9
04<F9>
OF4S:2E
25
24
OCeS:F0
05
C9
05
F0
01
.60
A9<30>
0F50E2C
29
36
0C90E 00
8D
Ol
D2
80
03
D2
A9<OE>
0F58:28
2D
29
0C9S:01
8D
24
90
20
20
9E
20<AE>
0F60'.23
2F
30
0CA0=F1
94
20
74
95
20
EE
9E<F8>
0F6S:34
00
OB
0CA8:20
31
9D
20
E8
93
20
9£<1A>
C^70t00
22
39
0C]^;9B
20
2E
92
20
7C
90
20<39>
0F7S:21
27
21
0CB8:DD
91
20
7D
99
20
lE
92<52>
0FS0:2F
26
34
0CC0r20
E9
9C
20
73
9D
4C
77<DA>
0FS8:00
00
00
0CC8:90
CE
13
90
AD
13
90
C9<11>
0F90;B9
00
B3
0CD0S00
F0
03
4C
77
9C
AD
1B<AA>
0F9a:B2
OO
00
0CD8:90
8D
13
90
4C
00
7C
A9<31>
0FA0--23
2C
35
0CE0=11
8D
D5
SA
A9
Ol
BD
1A<34>
OFAÖ:2F
32
0O
0CE8:90
A9
03
8D
21
90
A9
0A<92>
0FB0:00
23
2F
0CF028D
IB
90
A9
04
8D
2B
90<4A>
0FB3:32
00
00
0CF3S A9
00
SD
2C
90
60
A9
77<27>
0FC0:Al
BA
B9
0D00r85
C9
OC
9D
07
9E
A9
9C<06>
0FC8:B4
A5
B2
0DO8:B5
CA
60
A9
00
AA
9D
O0<BF>
0FD0:£B
88
£6
0D10383
EB
D0
FA
A9
0C
A2
22<7A>
0FD8;00
8B
C6
0DI3:9D
O0
33
ES
EO
B5
DO
FS<E8>
0FE0=86
86
86
0D20;A9
04
8D
0C
D0
A9
C6
SD<1F>
0FES:86
86
86
0D2a=05
D0
60
CE
21
90
AD
21<33>
BFFOS86
86
06
0D305 90
C9
00
D0
05
68
68
4C<27>
0FF8:00
00
00
0D38-B5
9C
C9
02
F0
0C
C9
01<OF>
1000:00
O0
OO
0D40: F0
10
A9
00
80
CA
8A
4C<5E>
1008:0O
05
03
0D48i:5D
9D
A9
00
80
CC
BA
4C<01 >
1010:03
03
03
0D50;5D
9D
A9
00
80
CB
SA
AD<66>
1018:03
03
03
0D5S--2D
90
C9
01
F0
0E
AD
0F<F5>
1020z09
09
09
0D60:90
48
20
lE
92
68
8D
0F<96>
1028:09
09
09
0D68£90
4C
77
90
60
A9
OA
8D<£S>
1030100
04
09
0D70= CB
8A
SD
CC
8A
60
A0
35<6B>
1038=03
OO
00
0D785A2
39
A9
11
20
Fl
9D
A0<EA>
1040:03
07
09
0D80S 5F
A9
0D
20
Fl
9D
A0
B9<24>
1048:09
09
09
ODOe: A9
09
20
Fl
9D
AO
B3
A9<40>
1050:09
09
09
0D90:05
20
Fl
9D
A0
03
A2
BA<05>
1058:00
04
09
0D9a:A9
05
20
Fl
9D
A0
29
A9<BE>
1060:03
00
00
0DA0S 09
20
Fl
9D
AO
4F
A9
0D<93>
1068:09
04
09
ODAS:20
Ft
90
A0
75
A9
11
20<39>
1070:09
04
09
ODB0:Fi
9D
A0
49
A9
0F
20
05<0A>
1078:09
09
09
ODBQs 9E
A0
73
A9
OB
20
05
9E<03>
1080:00
04
09
0DC0:A0
9D
A9
07
20
05
9E
AB<;41>
1088:03
00
00
0DCS=C7
A9
03
20
05
9£
A0
CB<BÖ>
1090:09
04
09
0DD0:A9
03
20
05
9E
A0
A9<95>
1098:09
04
09
0DD3:07
20
05
9E
A0
7F
A9
0B<5B>
10A0:09
04
09
0DE0=2O
05
9E
A0
59
A9
OF
20<:49>
10AB:00
04
09
0DE8;05
9E
60
84
CB
86
CC
aD<09>
10B0:09
05
03
0DF0S12
90
A0
00
A9
09
91
CB<32>
10B8=O9
00
09
0DF8:CS
CC
12
90
D0
FS
60
B4<47>
10C0:09
00
09
0E00:CB
8D
08
9E
03
9F
12
9CK16>
10CS:09
OO
09
0E0S:A9
89
85
CC
A2
00
A0
O0<BC>
i0D0:E7
S9
E2
^101A9
09
91
CB
20
61
99
Ea<3F>
1008:09
00
09
0E13sEC
12
90
D0
F3
60
A9
fiF<A7>
I0E0:09
00
09
0E20:8D
01
02
20
73
9E
20
7E<E7>
10EB:00
04
09
0E2B:9E
20
89
9E
AD
24
90
C9<E4>
10F0:09
09
09
0E30:0O
F0
0F
A9
00
AB
AE
|1<C3>
l0Fa:09
04
09
0E33:90
9D
00
84
EB
CS
C0
0S<71>
1100:09
04
09
0E40;D0
F7
A9
00
AA
9D
08
80<eB>
1108:03
08
09
0E48:E8
E0
10
D0
FB
20
5B
9E<EC>
1110:00
04
09
0E501A9
00
8D
01
02
60
A9
00<ES>
1118:09
09
09
0E58:A8
91
CB
A0
Ol
Bl
CB
C9<2D>
1120:09
04
09
0E60;82
DO
07
A9
00
AO
01
91<C2>
1128:09
06
03
0E68:CB
60
A9
00
A0
14
91
CB<B2>
1130:03
03
03
0E70:60
A9
94
85
CF
A9
9E
85<9F>
1138:00
04
09
0e7B=D0
4C
AC
9E
A9
9C
85
CF<C0>
1140=09
09
09
0Eß0:A9
9E
85
D0
4C
AC
9E
A9<57>
1148:09
04
09
0ESe=A4
85
CF
A9
9E
85
DO
4C<7S>
1150:03
03
03
0E90:AC
9E
00
08
20
OA
50
14<S6>
1158:03
03
03
0E98;04
00
52
C0
0D
Bl
84
28<49>
1160:00
04
09
0EA0;23
ac
54
0Z 20
81
00
42<65>
1168:09
09
09
0EA8:11
48
AD
24
90
C9
00
F0<C6>
1170:09
09
09
0EB0:10
A0
00
AE
11
90
Bl
CF<CC>
1178:05
03
03
0E88:9D
00
84
E8
C8
CO
08
D0<S3>
1180:03
03
03
©ECO:F5
AO
Bl
CF
99
08
B0<r7>
1188:00
00
33
OECSiCa
C0
08
DO
F6
A0
00
B1<D6>
1190:00
00
00
0ED0:CF
99
10
80
C8
CO
08
D0<D0>
1198=10
10
10
0EDa:F6
A2
00
Ea
A0
00
AD
0A<37>
11A0:27
28
33
0EE0:D2
SD
00
02
C3
D0
F7
E0<75>
llAa:0O
OO
10
0EES:50
D0
F0
60
A9
00
85
14<96>
11B0:00
00
23
0EF0:A5
14
C9
FA
DO
FA
60
CE<B1>
1IBS:0A
OA
00
0EF8:23
90
AD
23
90
C9
00
F0<F9>
11C0:2C
00
i:
25
9F
04
D4<3E>
tlC8:O0
00
O0
00
OO
0O
O0
0O<EA>
08
8D
04
D4<01>
11D0:E3
BA
FF
8A
0O
00
00
00<4F>
EF
es
AD
EF<6E>
11D8:O0
0Q
O0
0O
OO
m
00
0O<FA>
05
A9
00
SD<B3>
11E0:0O
00
0O
00
0O
00
OO
00<02>
8D
lA
02
60<ED>
11ES:00
00
00
0O
O0
0O
O0
0O<0A>
00
00
00
00<46>
11F0:0O
00
06
20
06
48
8A
4B<33>
BA
B9
OO
^<DB>
1iFSs A6
Dl
BD
14
06
SD
OA
D4<E5>
A5
B2
00
00<50>
1200:SD
16
DO
E6
Dl
68
AA
6S<BO>
25
33
29
27<rF>
1208:40
7E
7C
7A
76
76
74
76<0B>
22
39
00
2F<30>
1210:78
7A
7E
7A
78
76
74
76<2S>
32
OO
33
23<7A>
1218:78
7A
7C
7£
BO
BA
BC
38<S2>
34
00
00
0O<5E>
1220:38
00
80
FB
80
00
00
00<24>
32
29
27
2S<81> '
1228:00
0O
00
0O
00
00
E7
42<5C>
11
19
18
15<34> .
1230:FF
FF
42
E7
OO
O0
0O
00<4A>
30
32
2F
30<12> i
1238=00
00
00
00
0O
00
0O
O0<5C>
24
21
00
33<CS>
1240:FF
FF
00
00
00
18
18
1B<48>
21
32
25
0O<B5>
1248:18
18
18
18
18
OO
0O
00<A3>
A3
B2
Al
BA<7F>
1250:IF
IF
18
IB
18
18
18
1B<31>
AF
AF
B4
A5<DC>
1253:IF
IF
00
00
0O
00
0O
O0<53>
00
00
25
3a<ii>
1260=F8
F8
18
IS
18
18
18
18<8S>
29
36
00
26<5D>
1268:F8
FB
0O
O0
0O
O0
OO
00 <a 6 >
21
30
30
39<D0>
1270^18
18
00
00
00
5A
7£
5A<63>
30
35
34
25<23>
1278:18
SA
7E
5A
OO
3C
42
99<92>
00
00
A3
B2<E7>
1280:Al
Al
99
42
3C
18
18
ie<SF>
B3
A3
AF
AF<E1>
1288:00
0O
OO
OO
00
02
06
0C<CC>
00
00
00
OO<60>
1290:18
30
60
40
OO
OO
18
0C<19>
70
30
30
D6<14>
129azFE
OC
18
0O
OO
00
O0
0a<Al>
89
86
86
S6<45>
12A0:OO
00
00
00
0O
7C
C6<0B>
86
86
86
86<75>
12A8:C6
□6
C6
7C
00
18
38
1S<9A>
86
86
86
86<ED>
12B0:18
18
18
7E
00
7C
C6
0C<4B>
41
EB
88
00<D8>
1288:18
30
60
FE
OO
7C
C6.-06<44>
00
00
00
O0<16>
t2C0:0C
06
C6
7C
OO
OC
IC
3C<9i>
O0
OO
00
00<20>
12CS:6C
CC
FE
OC
00
FE
80
80<aF>
03
03
03
03<27>
12D0:FC
06
C6
7C
OO
7C
C6
C0<22>
03
03
03
03<3O>
12D8:FC
C6
C6
7C
OO
FE
06
OC<FC>
m
04
09
09<76>
12E0:13
30
30
30
00
7C
C6
C6<4S>
09
00
00
O0<01>
1288:7C
C6
C6
7C
00
7C
C6
C6<Ci>
09
09
09
04<43>
12F0:7E
06
C6
7C
O0
OO
00
0O<4S>
03
03
03
03<EF>
12F8I0O
00
0O
O0
OO
OO
BO
0O<1C>
03
03
03
03<O5>
1300:00
OO
00
00
00
00
O0
0O<26>
00
04
09
04<2B>
1308:00
00
00
00
00
00
0O
00<2E>
09
09
09
09<6B>
1310:00
0O
80
00
00
00
00
0O<36>
09
04
09
04<57>
1318:00
O0
O0
OO
OO
00
00
0O<3E>
09
05
03
03<40>
1320:00
FC
80
D7
81
0O
00
a0<CE>
03
03
03
07<33>
1328=00
OO
00
0O
O0
00
00
00<4E>
00
04
09
04<95>
1330:OO
FE
E2
8E
FE
82
82
e2<77>
09
09
09
09<47>
1338:00
FC
E6
SE
FC
SE
E6
FC<D0>
09
04
09
04<0F>
1340:00
FE
FO
80
80
80
FO
FE<CB>
09
04
09
05<72>
1348:00
F8
EC
C6
82
C6
EC
FS<39>
03
07
09
04<74>
1350:OO
FE
FO
80
FO
80
FO
FE<57^
OO
04
09
04<BD>
1358:00
FE
F0
80
F0
80
80
a0<F0>
09
09
09
09<Z3>
1360:00
FE
FO
80
9E
82
F2
FE<E4>
09
04
09
04<14>
1368:00
C6
C6
82
FE
82
C6
C6<3C>
09
00
09
O0<45>
1370:00
FC
30
30
30
30
30
FC<35>
09
OO
09
00<C1>
1378:00
06
06
06
42
42
66
3C<61>
00
04
09
00<E0>
1380:00
C6
CC
98
F0
98
CC
C6<56>
09
04
00
04<£2>
1388=00
C0
CO
C0
80
80
SE
FE<AF>
09
00
09
04<£C>
1390:00
82
C6
EE
BA
92
C6
C6<ia>
0O
04
09
00<8D>
1398: 00
C6
E6
B6
92
DA
CE
C6<A7>
09
06
03
0B<0D>
13A0:O0
FE
DE
C2
C6
86
F6
FE<60>
09
00
09
04<03>
13A8:0O
FE
E2
SE
FE
80
BO
80<D0>
09
04
09
04<D3>
13BO=00
FE
82
82
82
BE
SE
FE<0A>
09
04
09
04<F6>
1368:00
FE
E2
BE
FE
98
8C
S6<5E>
00
04
09
04<25>
13CO:00
FE
FO
BO
FE
02
lE
FE<9E>
03
00
00
00<41>
t3C8:00
FE
38
38
38
lO
10
t0<2B>
09
04
09
04<7D>
13DO=00
82
82
82
C6
C6
C6
FE<7E>
09
04
09
09<07>
13D8:00
C6
C6
82
C6
6C
38
10<A5>
09
09
09
04<F4>
13E0:0O
C6
C6
92
BA
EE
C6
S2<34>
00
04
09
04<4F>
13E8:O0
C6
EE
7C
38
7C
EE
C6<86>
03
00
00
00<F8>
13F0:00
CC
CC
48
78
30
30
30<13>
09
04
09
04<E3>
13F8=00
FE
C6
0C
38
60
C6
FE<DD>
09
09
09
09<44>
1400:00
50
06
56
06
A9
0O
S5<AA>
09
09
09
09<62>
1408:D1
4C
62
E4
O0
7C
FB
7C<96>
00
04
09
06<79>
1410:AD
18
90
C9
01
F0
lE
C9<E0>
03
00
00
00<SD>
1418:02
FO
ID
C9
03
FO
IC
C9<76>
03
08
09
04<9B>
1420:04
F0
IB
AD
16
90
C9
01<F9>
09
09
09
09<BC>
1428: FO
29
C9
02
FO
13
C9
04<2D>
09
09
09
09<aA>
1430:FO
33
4C
67
7C
4C
CE
7D<24>
00
06
03
03<DB>
1438:4C
FO
7D
4C
FC
7E
4C
21<05>
03
03
03
03<9A>
1440:7F
20
9B
7C
20
16
7E
E£<0B>
03
03
03
0B<A7>
1448:10
90
AD
10
90
8D
00
D0<79>
2F
32
25
00<CF>
00
00
lO
10<E2>
OO
OO
28
29<42>
2F
32
25
00<85>
10
32
2C
10
33
25
10
00
36
00<AE>
0A<B1>
25<ES>
Listing zu >»Crazy Scooter«.
Bitte mit AMPEL eingeben.
00
00
00
00<1B>
<Faitsetzung)
9F
A9
EE
D0
01
BB
Al
B4
24
00
25
24
39
00
00
2E
37
00
A3
00
33
2S
2D
00
00
00
Ö9
20
06
06
06
00
00
03
03
07
09
09
05
00
04
09
09
04
00
04
09
04
04
00
04
04
04
00
07
04
00
00
QA
00
00
04
09
04
06
04
04
09
04
03
08
04
09
04
03
03
09
09
04
03
03
23
00
00
23
10
21
00
00
83
1450
6C
C9
00
20
C2
7C
20
6D<0F>
1578; 60
A9
00
BD
19
90
68
63<45>
16A0:D6
7E
A2
53
A0
68
20
D6<7D>
1453
TD
CE
10
90
AD
10
90
SD<OF>
1580:60
20
5D
7D
A9
78
CD
10<23>
16A8:7E
60
4C
12
7F
4C
ED
7E<D3>
14Ä0
00
DO
6C
C9
00
20
E9
7C<85>
158B190
D0
0F
A9
28
CD
11
90<94>
16B0;20
5D
7D
A9
B8
CD
10
90<F3>
1463
20
54
7E
20
79
7C
EE
11<05>
1590=DO
08
20
44
7F
C9
01
FO<F6>
16B8:DO
OF
A9
68
CD
11
90
D0<C7>
1470
90
20
39
7C
6C
C9
0O
20<7S>
1593:5F
60
A9
7ß
CD
10
90
D0<SC>
16C0:OB
20
44
7F
C9
01
FO
62<ED>
147B
10
7D
20
98
7E
20
79
7C<1E>
15A0=0F
A9
58
CD
11
90
D0
08<E6>
16CB;60
A9
SS
CD
10
90
DO
0F<IE>
1480
CE
11
90
20
39
7C
6C
C9<9D>
15AS=20
44
7F
C9
01
FO
27
60<C6>
16D0=A9
68
CD
11
90
DO
08
2O<01>
1403
00
AE
11
90
A9
00
AS
9D<6A>
15B0:A2
78
A0
38
20
AB
7D
A2<59>
16DS;44
7F
C9
01
FO
27
60
A2<BD>
1490
00
84
E3
C8
C0
03
D0
F7<C7>
15B8;7B
A0
40
20
AB
7D
60
EC<7D>
l6Gß:98
AO
68
20
D6
7E
A2
AS<E3>
1498
60
AE
11
90
AO
00
B9
64<4B>
15C0:10
90
DO
11
CC
11
90
D0<75>
16E8=A0
68
20
D6
7E
60
EC
10<21>
14A0
7F
9D
0O
84
E8
CB
C0
0ß<3F>
15CS:0C
60
68
20
44
7F
C9
01<80>
16F0;90
DO
11
CC
11
90
D0
0C<A9>
14 A3
D0
F4
60
A9
03
8D
16
90<46>
15D0= F0
04
4C
E4
7D
60
6B
6S<5D>
16FS:6ß
68
20
44
7F
C9
01
FO<CB>
14B0
A2
38
A0
AB
20
37
7D
A2<7E>
15DeiA9
01
3D
18
90
A9
00
SrKDE> '
1700:04
4C
12
7F
60
6B
68
A9<51>
14B8
A3
A0
93
20
37
7D
A2
93<BS>
15E0:17
90
20
79
7C
CE
11
90<0A>
1709:03
8D
18
90
F4
7E
6B
7F<C2>
i4C0
A0
83
20
37
7D
A2
83
A0<25>
ISES:20
89
7C
EE
17
90
AD
17< 1A>
1710:20
4A
7F
A9
00
8D
17
90<5B>
14CS
78
20
37
7D
A9
02
3D
16<E1>
15FO:90
C9
10
F0
25
6C
C9
00<FF>
1718: EE
10
90
AD
10
90
BD
00<C7>
14D0
sr0
60
A9
04
3D
16
90
A2<AC>
15FSs6S
68
A9
02
BD
18
90
A9<34>
1720:D0
EE
17
90
AD
17
90
C9<47>
141>e
38
AO
23
20
37
TD
A2
4B<47>
1600;00
8D
17
90
20
79
7C
EE<09>
1728;10
FO
28
6C
C9
00
68
68<95>
14B0
AO
33
20
37
7D
A2
5B
A0<9B>
1606;11
90
20
89
F6
7D
F3
7E<56>
1730;A9
04
8D
18
90
20
4A
7F<D5>
14ES
48
20
37
7D
A2
63
AO
5B<24>
1610:7C
EE
17
90
AD
17
90
C9<83>
1738:A9
m
SD
17
90
CE
10
90<21>
14F0
20
37
7D
A9
Oi
BD
16
9O<0A>
16 ia=lß
FO
03
6C
C9
00
A9
00<:07>
17403 AD
10
90
SD
00
D0
EE
17<D5>
14F3
60
A9
02
BD
16
90
A2
38<33>
1620;8D
18
90
20
4A
7F
A9
01<2B>
1748:90
AD
17
90
C9
10
FO
ß3<AE>
1500
A0
AB
20
37
7D
A2
48
A0<7E>
1628;8D
19, 90
6C
C9
00
20
5D<9D>
1750:6C
C9
00
A9
00
BD
la
90<E7>
1500
98
20
37
7D
FC
7C
F7
7IK31>
1630:7D
A9
73
CD
10
90
D0
0F<12>
1758;A9
01
8D
19
90
6C
C9
0O<7A>
1510
A2
53
AO
88
20
37
7D
A2<36>
1638=A9
.A3
CD
11
90
DO
08
20<5?>
1760:AD
OA
D2
29
01
60
AO
WQ<7F>
15 te
68
A0
78
20
37
7D
A9
04<4C>
1640:44
7F
C9
01
F0
94
60
A9<4E>
1768;AE
11
90
B9
5C
7F
9D
O0<CF>
1520
8D
16
90
60
A9
01
8D
16<S6>
164BE7S
CD
10
90
D0
0F
A9
7S<F2>
1770;84
E8
CS
C0
08
DO
F4
60<A3>
1523
90
A2
Be
A0
28
20
37
7D<40>
16^; CD
11
90
D0
08
20
44
7F<FE>
1778:00
E7
42
FF
FF
42
E7
00<67>
1530
A2
A8
A0
38
20
37
7D
A2<07>
1658=C9
01
F0
A0
60
A2
78
A0<BE>
17B0:5A
7E
5A
18
18
5A
7E
SA<A9>
153S
98
A0
48
20
37
7D
A2
89<SS>
1660:93
20
AB
7D
A2
78
A0
8G<E0>
1783:E0
02
El
02
40
90
0O
00<A7>
1540
m
58
20
37
7D
A9
03
SD<Al>
1663;20
AB
7D
60
20
5D
7D
A9<0D>
Laengs 6030 Bytes
1548
16
90
60
EC
10
90
DO
20<AE>
1670;38
CD
10
90
D0
OF
A9
68<5A>
1^0
cc
11
90
DO
IB
68
68
6 B<66>
1678;CD
11
90
D0
08
20
44
7F<16>
155B
63
AD
16
90
C9
01
F0
0A<E1>
1680= C9
01
F0
29
60
A9
6 B
CD<17>
l-istino H
1560
C9
02
FO
06
20
B9
7C
4C<B4>
1686;10
90
DO
0F
A9
68
CD
11<3D>
1568
00
7C
20
4A
7F
4C
00
7C<03>
1690;90
D0
08
20
44
7F
C9
01<6E>
mire mii: AwiKtL eingeoen.
1570
60
AD
19
90
C9
01
F0
01<7D>
1698:F8
10
60
ß2
48
AO
68
20<52>
(Schluß)
Pacman mal 2
Versuchen Sie sich gegen pfiffige Monster. Schla¬
gen Sie sich durch Gänge und sammeln Sie
Punkte alleine oder zu zweit.
macht mehr Spaß als Programmieren? Natürlich
erholsames Spielchen. Und was macht noch
Wwmehr Spaß! Wenn zwei Personen gleichzeitig
gegeneinander antreten. Bei »Twomaze« handelt es sich um
ein Spiel für zwei Personen. Es ist in Maschinensprache
geschrieben, verfügt über hervorragende Grafik und ist
besonders schnell.
»Twomaze« ist eine Pacman-Variante. Wie auch beim Origi¬
nal, besteht Ihre Aufgabe darin, möglichst viele Punkte zu
fressen. Aber Vorsicht! Sie sind nicht der einzige, der sich in
den Labyrinthgängen bewegt. Weine, gierige Monster trach¬
ten Ihnen nach dem Leben. Allerdings gibt es noch Kraftpil¬
len, die Sie besonders dann nicht verschmähen sollten, wenn
sich Ihnen einer oder mehrere der Bösewichte nähern.
Haben Sie rechtzeitig eine Kraftpille verspeist, verfügen Sie
über enorme Kräfte und können Ihre Gegner vernichten.
Achten Sie dabei aber auf die Zeituhr am rechten Bildschirm¬
rand! Wenn diese nämlich abgelaufen ist, sind Sie wieder ein
normaler Pacman und müssen sich mit äußerster Vorsicht
durch die Gänge bewegen.
Für das rasante Spiel ist übrigens mindestens ein Joystick
nötig. Über die Tastatur lassen sich die Pacmen nichtsteuern.
Wer glaubt, daß der gute alte Pacman schon zum alten
Eisen zählt, hat sich getäuscht. Bei unserem Listing »Two¬
maze« gehen nämlich gleich zwei »Pacmänner« gleichzeitig
auf Punktejagd (Mampf!). Schnappen Sie sich einen Freund
und zwei Joysticks und schon kann die Labyrinth-Hatz mit
einer aufregenden, neuen Spiel-Variante losgehen. Pacman-
Spieler aller Länder vereinigt euch und tretet in diesem furio¬
sen Simultan-Programm gegeneinander an! Das ideale Spiel
für Turniere und Punktspiel-Betrieb (Gobbel-Gobbel-
Schluckl).
Zur Eingabe von »Twomaze« verwenden Sie bitte AMPEL
Beachten Sie auch die Hinweise zu diesem Eingabepro-
gramm. »Twomaze« läßt sich übrigens nicht von Basic aus ein¬
tippen. Dies gilt für alle abgedruckten AMPEL-Listings. Und
Jetzt noch viel Vergnügen bei der Monsterjagd.
(Frank Ostrowski/wb)
PROGRAMM-STECKBRIEF
Programmname
Twomaze
Programmtyp
Spiel
Program mlersprache
Maschinensprache
Programm länge
4219 Byte
für Computer
alle
zusätzliche Hardware
Diskettenlaufwerk oder Kassetten¬
rekorder, ein oder zwei Joysticks
Eingabehjlfe
AMPEL 1
Bemerkung
Pacman-Variante für zwei Personen
Lßserservice
Diskette fTWOMA2E.COM)
0000:FF
FF
EO
02
£1
02
06
28C16>
0008:00
20
6E
30
00
21
80
28<75>
0010:06
20
ft9
30
BD
02
D3
A9CAF>
0018:06
85
00
A9
20
85
0D
A9<62>
0020:01
85
09
A9
00
SD
44
02<3C>
0028:4C
FE
21
70
68
42
80
32<33>
0030:02
20
42
0E
21
02
82
02<59>
0038:02
00
02
00
47
82
20
10<09>
0040:42
£6
20
80
44
88
39
04<51>
0048:04
04
04
04
04
04
84
04<4a>
0050:04
04
04
04
41
IF
20
7&<4A>
0058:60
42
00
32
02
A0
44
2S<rA>
0060:38
04
04
04
04
84
04
04<7A>
0068:04
04
04
04
84
04
84
04<6a>
0070:04
04
04
04
04
04
04
41<AD>
0078:4B
20
EF
EE
E5
00
70
6C<D4>
0080:61
79
65
72
08
4D
00
00<44>
0088:E5
El
F3
F9
80
08
F4
F7<ao>
0090:EF
O0
70
6C
61
79
65
72<84>
0098:00
4I>
00
00
E5
El
F3
F9<75>
00A0:00
00
EF
EE
E5
80
70
6C<F1>
00AS:61
79
65
72
00
4D
08
EE<BA>
O0H0:EF
F2
ED
El
EC
80
F4
F7<96>
00B8:EF
00
70
60
61
79
65
72<1C>
0000:00
4D
00
EE
EF
F2
ED
E1<ED>
00CB:EC
OO
EF
EE
E5
00
70
6C<EF>
00D0:61
79
65
72
00
40
08
0O<34>
00D8:E8
El
F2
E4
00
80
F4
F7<60>
00E0:EF
00
70
60
61
79
65
72<30>
00E8:00
4D
00
00
ES
El
F2
E4<C6>
00F0:00
O0
00
00
80
08
80
08<F0>
O0F8:O0
33
65
60
65
63
74
00<9S>
0100:27
61
6D
65
00
0D
80
30<46>
0100:72
65
73
73
08
34
72
69<30>
0110:67
67
65
72
80
08
80
08<43>
0118:00
00
00
00
40
4C
40
0O<44>
0120:40
00
00
00
4C
00
4C
4C<SF>
0128:40
4C
08
40
40
4C
40
4C<9E>
0130:00
40
40
40
40
08
40
4C<SS>
0138:40
40
08
4C
4C
40
4C
80<62>
0140:00
00
00
00
00
4C
80
08<73>
0140:40
O0
08
00
40
80
4C
80<6B>
0150:00
40
00
40
00
40
80
40<A7>
0158:00
4C
00
00
4C
80
88
08<CF>
0160:40
40
00
4C
00
00
80
m<Dr>
0168:00
00
08
80
08
4C
88
80<9B>
0170:40
00
4C
00
40
08
40
00<7A>
0178:00
40
00
40
08
4C
80
4C<7F>
0180:00
40
4C
40
4C
08
88
4C<82>
0108=40
00
00
4C
40
40
80
08<B5>
0190:00
00
00
00
80
4C
08
00<O3>
0198:40
00
40
00
40
08
40
08<45>
01AO;00
40
00
40
88
00
88
4C<G6>
O1A8;0O
40
00
00
40
08
40
4C<FC>
0180:00
00
00
40
08
80
00
00<77>
0188:00
O0
80
08
00
40
80
08<Ee>
0100:40
4C
40
40
40
00
40
4C<71>
01CS:4C
40
00
AC
00
00
00
4C<D4>
01D0£00
4C
08
00
4C
80
4C
4C<24>
01D8:4O
40
80
40
4C
40
40
00<a2>
01E0:00
00
00
00
00
00
08
00<E2>
0188;00
0O
00
28
61
70
70
79<SC>
O1FO:01>
23
6F
6D
70
75
74
65<51>
0188:72
0ß
BF
0F
80
26
2F
O0<7D>
0200:00
00
00
00
08
00
08
0O<O4>
0208:00
O0
20
7F
2B
A9
80
ß5<8A>
0210:87
A9
04
85
B6
20
92
22<;S6>
0218:20
40
22
20
68
22
28
44<e2>
0220= 28
A9
01
85
B5
28
AF
22<S0>
0228:20
62
27
20
4F
2D
20
96<S0>
0230:2F
20
AF
22
A9
11
S5
B2<10>
0238:85
84
20
20
23
A2
FF
9A<19>
0240:20
53
25
20
3F
27
20
83<21>
0248:27
4C
34
22
A9
00
SD
OE<09>
0250:D4
AO
00
B9
00
E0
99
0O<62>
0258:3C
B9
00
EI
99
08
3D
e9CAE>
0260:10
20
99
00
3E
B9
08
E3<46>
0268:99
00
3F
C8
DO
E5
A9
30<AC>
0270:SD
F4
02
60
A9
30
BD
07<22>
0278:84
A9
11
SD
6F
02
A9
3E<9E>
0280:BD
2F
02
A9
03
SD
ID
D0<36>
0288:ft9
00
AS
99
80
34
99
O0<02>
0290:35
99
00
36
99
00
37
99<ec>
0290:00
33
C8
DO
EE
60
AO
0S<A5>
02A0:B9
9E
22
99
C8
82
SS
10<9D>
02AS:F7
60
FF
3F
6F
9F
16
3C<4B>
0280;OA
DF
00
43
44
45
46
47<SC>
0288:48
49
4A
A9
08
A2
03
95<2a>
K208:A3
CA
10
FB
AO
4F
B9
C7<B2>
02CB:22
99
00
32
88
10
F7
2©<&1>
O2D0:lO
2E
68
80
00
00
08
00<7A>
02De:00
08
80
00
OO
00
00
00<DC>
82£:0;08
00
00
2C
25
36
25
2C<17>
02E8:80
00
10
00
08
80
08
00<EE>
02FO:O0
00
00
08
80
00
00
O0<:F4>
02F8=08
80
00
00
08
08
80
00<FC>
0300:00
18
80
08
OO
08
80
00<:oA>
0308:00
28
29
27
28
0O
00
0B<EB>
0318;80
OO
00
00
10
80
00
00<96>
0318:00
00
80
00
00
00
08
00<1E>
0328:00
10
08
27
21
2D
25
00<A4>
032S:2F
36
25
32
20
27
23
20<1E>
0330:6S
24
68
A9
00
A2
84
95<2D>
033S:AB
CA
18
FB
35
AE
85
AF<C9>
0340:B5
9E
85
9F
20
10
2D
A9<FD>
0348:23
85
88
A9
38
85
81
A2<A7>
8350:17
AO
26
A9
80
91
80
Ba<EA>
0358:18
FB
18
A5
80
69
28
B5<ED>
8360:80
A5
81
69
00
85
81
CA<ES>
8368:08
E7
A9
F3
85
80
Ä9
39<06>
0370:85
Si
A9
40
8D
F3
39
A9<35>
0378:00
8D
51
3S
SD
75
38
AD<A2>
03B8:OA
D2
29
03
85
82
85
S3<8F>
038B:0A
AS
A5
80
79
23
25
S5<ai>
0390:S4
A5
81
79
24
25
85
a5<8D>
0398:AB
00
Bl
84
C9
80
D8
29<5A>
03AO:A5
82
18
69
81
91
84
69<1D>
03AS:03
OA
AS
A5
88
79
23
25<45>
03B0:B5
om
A5
81
79
24
25
85<19>
03©a=8l
A9
00
AB
91
88
A5
e4<79>
0300:85
BO
A5
85
B5
81
40
73<57>
0308:23
E6
82
A5
82
29
03
85<90>
03DO=S2
CS
83
D0
B3
A0
00
ßl<rE>
03D8:80
35
82
98
91
SO
24
82<0E>
03E8=7a
IB
06
82
AS
82
0A
ASCTO
03E8:38
A5
80
F9
23
25
85
80<AA>
03F0:A5
81
F9
24
25
35
81
4C<99>
03F8:73
23
A6
Al
8D
43
25
a5<71>
0400:95
AD
0A
D2
29
3F
C9
25<99>
8408:88
F7
AS
ce
84
97
AD
0A<93>
041O:D2
29
IF
C9
15
B0
F7
AA<BF>
8418:45
97
29
01
F0
E3
99
18<30>
0420:69
D6
S5
BO
A9
37
69
00<DF>
8428:85
81
18
A5
90
69
2S
S5<DF>
8430:80
A5
S1
69
80
85
81
CA<4B>
8438:D8
F0
A0
52
Bl
SO
F0
01<81>
0440:A2
03
BC
33
25
Bl
80
F0<6i>
0443:11
BC
37
25
Bl
SO
BC
3B<30>
04^:25
11
S0
BC
3F
25
11
80<:2B>
0458:F0
A7
CA
18
E5
A9
80
A0<C6>
0460:52
91
SO
C6
95
D0
9A
SC<6C>
0468:52
38
80
79
38
SC
74
3S<51>
0470:SC
9D
38
60
A9
FF
85
e0<34>
0478:A9
37
85
81
A0
29
Bl
80<6E>
0488:FO
2E
A2
50
AO
01
Bl
S0<29>
0488:Fß
01
ES
AO
2A
S1
80
FO<CE>
0490:82
ES
E8
AO
51
81
88
F0<DA>
©498:04
EÖ
ES
ES
E8
A8
28
bi<:dd>
04A8;80
F0
OB
ES
ES
ES
E8
E8<FB>
04A8:Ea
E8
ES
SA
AO
29
91
aß<76>
04BOs E6
80
D0
02
E6
81
A5
S0<A4>
04B8:C9
97
D0
ce
A5
Bl
09
3B<C0>
0400= DO
BA
A9
28
S5
80
A9
3S<62>
0408:85
81
A2
17
A0
25
Bl
ao<94>
O4D0:DO
14
E6
9E
DO
82
E6
9F<5D>
04D8:A5
A2
CD
OA
D2
90
03
A9<5S>
04E8:41
2C
A9
40
91
80
88
D0<92>
04E8:ES
IS
A5
80
69
28
85
ao<s3>
04F0= A5
Bl
69
80
85
81
CA
D0<6E>
04FB:D3
A9
80
85
4D
A9
42
8D<OA>
8508:71
3B
BD
83
3B
SD
95
38<CF>
0508:80
F3
39
IS
A5
9E
69
FE<A8>
0510:85
9E
A5
9F
69
FF
85
9F<D4>
0518;A9
08
SD
51
38
8D
75
3802 >
0520:A9
50
SD
52
38
SD
74
38<9C>
0528:8D
79
38
BD
9D
3S
68
02<6B>
0538;80
FE
FF
50
08
80
FF
ai<5C>
0538:00
FF
FF
28
00
DS
FF
2A<EF>
0540:51
53
7A
02
29
2B
79
29<00>
0548:50
54
76
2B
79
7B
A2
21<7F>
0558:10
18
15
13
12
11
10
0F<46>
0558:0E
0D
80
08
8A
09
88
AS<:08>
8560:86
A5
B6
29
07
09
04
FO<EC>
0568: 08
A5
SB
29
0F
09
08
D0<FF>
0570rOE
A6
86
A4
SB
20
2A
27<ß5>
8573:A2
80
36
95
20
7E
26
A5<C6>
0588:SA
29
©7
C9
04
FO
08
A5< 1C>
0588:BF
29
OF
09
08
D©
©E
A6<54>
0590:8A
A4
SF
20
2A
27
A2
04<F3>
0598:86
95
20
7E
26
A5
B6
a5<97>
05A8:95
E6
96
A6
95
B5
86
©A<9C>
05A8:15
88
29
OF
DO
03
20
C6<:66>
O5B0:25
A6
95
B5
AS
DO
16
B4<31>
0588:90
A5
96
4A
B0
07
B5
86<D4>
0500=79
17
26
95
B6
18
B5
SB<73>
05CS:79
ID
26
95
88
C6
95
i0<OC>
05D0:D2
60
A6
95
BD
66
28
85<4S>
05D8= 97
64
SB
B5
B6
AA
20
2A<F4>
05E0:27
A2
FF
86
99
A2
03
BC<3C>
05ES:23
26
Bl
SO
05
97
B©
82<8F>
0SFO:A9
OO
95
9A
B0
02
E6
99<75>
05Fe=CA
10
EC
A6
95
F0
44
B0<16>
0600:04
F0
32
A5
99
30
IB
F0<5A>
©608=OA
BS
90
49
81
A8
A9
0i<E9>
8610:99
9A
0©
AD
OA
D2
29
O3<0S>
0618:A8
A8
B9
9A
00
DO
F4
98<F2>
0620:95
90
60
01
FF
80
08
0O<CE>
0628:00
0O
80
©1
FF
00
©0
2A<66>
0630:28
51
Ol
29
29
24
B3
30<BE>
0638:E9
AD
0©
D3
4A
4A
4A
4A<67>
0640:40
48
26
24
Bl
30
DB
AD<FA>
0648:08
D3
29
0F
85
97
24
B7<9C>
0650= 30
D8
A2
81
46
97
B8
07<BF>
0658=A5
9D
DO
83
AO
03
CA
46<F2>
0660:97
B0
07
A5
9C
DO
03
A0<A1>
866SS 02
CA
46
97
B©
07
A5
9B<Ba>
0670:DO
03
AO
01
CA
46
97
B0<93>
0678:07
A5
9A
DO
03
AO
00
CA<02>
0680:SA
F0
©2
A©
©4
A6
95
9Ö<85>
0688:95
90
A6
95
AB
29
Bi
S0<EC>
0690:C9
41
FO
39
C9
40
FO
32<2D>
0698=09
42
FO
©1
60
20
BE
26<C4>
06A0; A9
16
85
AE
A9
©7
85
AF<33>
06AÖ:A2
80
BD
FC
26
85
8©
EB<29>
06BO:BD
FC
26
85
81
AO
33
A9<87>
86B8:4A
91
80
£8
E©
2C
0©
£A<D3>
0608;A9
08
A2
04
95
AB
CA
10<9C>
06C8:FB
60
A9
81
20
'a9
0A
S6<49>
06D8:AD
2©
26
A9
00
AO
29<2F>
06D8=91
88
A9
81
85
B8
48
A5<72>
06£O=9E
DO
82
C6
9F
C6
9E
68<FD>
06Ea= 60
A9
©1
£©
OO
FO
02
A2<52>
06F0:02
AO
OB
D4
00
04
90
F9<AD>
06F8:C0
7B
B0
F5
18
75
A3
95<D9>
0700:A3
E5
A4
69
80
95
A4
60<17>
0708:IC
38
44
38
6C
38
94
38<DB>
8710:BC
38
E4
38
0C
39
34
39<30>
0718:SC
39
S4
39
AC
39
D4
39<E9>
0720:FC
39
24
3A
40
3A
74
3A<FE>
0728:9C
3A
04
3A
EC
3A
14
3B<5A>
8730:30
3B
64
3B
SC
3B
98
4A<33>
0738:4A
AS
SA
4A
4A
18
79
F0<BE>
8740:26
85
80
S9
Fl
26
69
00<21 >
0748:85
Bl
6©
A5
9E
05
9F
D©<4F>
8750:IC
20
05
2B
20
20
23
20<A7>
0758:62
27
A6
AD
A9
64
20
DF<7E>
0760:26
A5
A3
©5
A4
DO
FA
A5<2S>
076S:A5
85
A6
D0
F4
60
A6
B6<FA>
0770:A9
00
85
SA
BD
79
27
95<B9>
0778:86
BD
7E
27
95
8B
CA
10<D3>
07S0:F3
BE
lE
D©
6©
30
30
7S<04>
078S:00
O0
30
D0
D8
DO
30
A5<AF>
0790;Al
OA
AA
BD
24
28
AS
BD<C1>
0798:25
28
AA
98
0©
©1
CA
80<71>
07AB:E0
FF
D0
F7
A5
AE
©5
AF<60>
07AB:FB
42
A5
96
29
81
DO
3C<66>
0780:AS
AE
OA
AA
BD
FC
26
B5<47>
07Ba=Q0
BD
FD
26
85
81
A9
0O<75>
07CO:A0
33
91
80
A6
AE
A4
Ar<6F>
0708;33
10
03
AO
07
CA
86
07D0:84
AF
3A
DO
©4
CO
00
F0<A9>
07DS:13
OA
AA
BD
FC
26
85
8a<F3>
87E0:BD
FD
26
85
81
B9
A7
22<09>
07EÖ:A0
33
91
88
AD
FC
02
C9<D0>
07F0:21
DO
13
A9
FF
SD
FC
02<24>
07FS:20
FA
27
A9
FF
CD
FC
02<29>
0800;FO
F6
8D
FC
02
60
AD
2A<09>
0808:32
C5
B2
D0
05
A2
00
2a<84>
0310:CI
2F
AD
4A
32
05
B4
D0<^>
0818:05
A2
02
20
CI
2F
A9
08<6F>
aS20:A9
01
2C
IF
DO
DO
08
2C<34>
0828=IF
D0
F0
FB
4C
IC
22
60<20>
0830: DO
07
82
06
94
05
E2
04<1B>
0838:57
04
ES
©3
8D
©3
41
03<20>
Listing zu »Twomaze«. Sitte mit AMPEL eingeben.
0540:^1
03
CA
©2
9A
©2
71
02<AA>
0300:A9
CS
85
AA
4A
90
04
A9<49>
0DC0S 27
AD
00
D3
29
OF
C9
0F<E6>
0948:4C
02
2B
02
0E
02
F4
01<C5>
0B0S:C8
B5
AB
A9
01
8D
lE
D0<A9>
0DC8:D0
Fl
AD
1©
DO
D©
34
AD<93>
0S58;ft9
07
A2
28
A0
SD
20
5C<3B>
©Bl0:6©
E6
A0
A5
A0
C9
16
90<FA>
ODD0:1O
D0
FO
FB
46
37
2©
39<iA>
0350:E4
A9
2C
8D
0©
02
A9
2E<57>
0318:02
A9
0F
85
Al
49
OF
4A<15>
0DDS:2D
20
62
27
C6
31
C6
B3<FF>
08£i0: 8D
01
02
A9
C0
BD
0E
D4<E8>
0020:85
A2
A0
17
20
9D
28
A5<4F>
0DEB:20
IC
2E
60
A5
B5
10
03<7S>
00^0:60
20
3B
2B
2©
DD
28
20<2F>
0B28:A0
0A
0A
0A
OA
©9
©6
8D<7F>
0DF8:18
69
06
C9
06
90
02
E9<11>
0070: ^jF
2A
20
72
28
20
4F
2B<37>
0030:C4
02
49
SE
8D
C5
©2
6©<9E>
0DFOr06
85
B5
AA
BD
48
2E
a5<98>
©878:20
EB
2F
4C
62
E4
A5
14<F7>
0338:48
AD
C5
02
BD
17
DO
AD<63>
ODFQ:Bl
BD
4E
2E
85
B3
BD
5A<69>
0080:4A
BO
14
AS
A3
05
A4
F0<DE>
0040:C6
02
8D
18
DO
68
40
A9<12>
0E0Os2E
85
B6
BD
6C
2E
SD
31<35>
0088:31
48
A5
A3
D©
02
C6
A4<99>
0348:0C
SD
17
D0
A9
00
8D
1S<DF>
0E0a:20
BD
72
2E
BD
32
20
BD<BD>
0890:C6
A3
68
A©
20
0©
12
A5<E5>
0B50:D©
A5
14
29
OF
49
DF
8D<B5>
0E10:54
2E
85
SA
BD
60
2E
B5<S3>
0898:85
05
A6
F0
ID
48
A5
A5<6A>
OBSS:C6
02
60
A5
AE
©5
AF
D©<DF>
©E18:A©
BD
66
2E
8D
17
32
18<46>
0880:B©
02
C6
A6
C6
A5
68
A0<6D>
0B60:OB
A2
04
BS
A8
FO
02
D6<0F>
©E20:69
©1
8D
DE
22
2©
©5
23<67>
08AB:4D
B9
00
32
00
02
A9
10<90>
©368:A8
CA
10
F7
60
00
02
04<39>
0E28:A2
©E
A9
©0
9D
©0
32
9D<93>
08B0:18
69
01
C9
lA
B0
04
99<08>
0B70:08
00
51
50
50
5©
51
00<1E>
OE30:19
32
CA
I©
F7
A©
00
A6<93>
0888:00
32
60
A9
10
99
0©
32<F4>
0378:©0
00
IC
3E
3E
3E
3E
1C<75>
©E38:3i
A9
43
CA
3©
©6
99
©0<99>
08C0:B8
4C
90
28
60
£3
29
F7<C0>
0380:0©
00
00
00
96
96
64
96<F6> '
0E4O!32
ca
D0
F7
A6
B3
AO
27<37>
0888:29
03
ZA
0F
2A
10
2A
27<9D>
0388:64
64
32
A9
00
AA
95
ao<iA>
©£40:A9
4Ö
CA
30
06
SB
99
00<07>
08D0:2A
33
2A
27
2A
3F
2A
4B<23>
0B90:ES
10
FB
60
B4
AS
DO
31<02>
0E50:32
D0
F7
60
05
05
04
04<66>
0808:2A
57
2A
63
2A
3F
30
4B<00>
ßB98:A9
19
95
A8
BD
79
27
95<25>
0E58:O3
©3
FF
05
FF
©4
FF
03<EF>
0080:30
63
30
57
30
33
3©
33<BE>
03AO:86
30
7E
27
95
BB
A9
04<9S>
0E60:00
C0
00
C0
00
C0
03
04<75>
0888:30
A5
14
4A
4A
29
06
AA<BA>
03A8:95
90
0A
F0
ID
C6
B3
10<F2>
©£68:03
©4
03
04
FF
FF
01
01<9E>
03F0:A5
90
0A
A8
A9
02
24
14<60>
OBB0:15
78
A5
A3
05
A4
FO
06<DA>
OE70303
03
10
10
12
12
14
14<£6>
08F8:00
02
A0
08
B9
Dl
28
8D<43>
©BBS:20
SB
28
4C
AS
2B
58
20<ED>
OE7S:6E
82
96
AA
BE
D2
20
20<77>
0900:79
29
B9
02
28
80
7A
29<EE>
OBC©:83
27
A5
B3
30
24
20
1C<2E>
©£80:2©
20
2©
20
00
4A
4A
4A<C0>
0908:ß5
94
OA
A8
A9
02
24
14<47>
©3C8:2E
60
C6
Bl
10
15
78
A5<FC>
0E88:©0
4A
4A
4A
4A
00
4A
4A<35>
0910:00
02
A0
08
B9
Dl
28
SD<OS>
OBD0:A3
05
A4
FO
06
20
77
28<B2>
0E90:4A
4A
4A
©0
4A
4A
4A
4A<03>
0918:AD
29
B9
D2
23
3D
AE
29<04>
©BDB;4C
C2
28
58
20
83
27
A5<EA>
0E9S:4A
0©
00
00
00
4A
©0
0O<O3>
0920:BD
B9
28
80
36
29
OD
BA<C1>
OBE©:Bl
30
04
20
IC
2E
60
A2<DB>
0eAO:4A
©0
4A
©0
4A
00
4A
00<10>
0928:23
30
87
29
BD
CI
28
eD<D9>
©BES:08
2C
A2
27
AO
08
B9
17<D9>
©EA8:4A
0©
©0
0©
4A
00
4A
4A<1A>
0930:93
29
BD
C2
28
8D
94
29<4D>
0BF0:23
9D
00
32
CA
88
10
F6<9S>
OEB0: 00
4A
4A
4A
4A
00
4A
00<12>
0938:BD
C9
28
BD
A0
29
BD
CA<97>
©BFS:A5
Bl
25
B3
10
C3
2©
40<18>
OEBS:4A
00
4A
O©
4A
4A
4A
0©<33>
0940s 28
80
Al
29
AO
00
A9
O0<C2>
OC0©:2F
06
37
20
00
2C
20
00<FA>
©ECO:4A
00
00
4A
00
4A
00
00<4F>
0948:99
0O
34
99
00
35
99
00<BC>
©C©S:2C
4C
IC
22
A9
00
48
20<A2>
0GCa:4A
©0
4A
©0
4A
00
4A
0ß<B9>
0950:36
99
00
37
99
00
33
SS<C8>
0C10:53
25
20
83
27
68
30
E9<73>
0EDO:4A
00
00
00
00
4A
4A
4A<99>'
0958:10
EE
A4
33
8C
30
29
SC<4E>
©C16:01
DO
F3
60
OO
O0
20
44<BD>
0ED8:00
4A
00
00
4A
00
4A
0O<24>
0960:83
29
A4
8C
8C
40
29
SC<7A>
0C20:44
20
00
00
00
00
20
AS<4A>
0EEO:4A
00
4A
0O
4A
4A
4A
4A<44>
0968:90
29
A4
8D
SC
43
29
8C<29>
ßC2B:AB
20
00
00
00
30
FC
FC<DO>
0EESi4A
4A
4A
4A
OO
4A
00
00<B2>
0970:9D
29
A4
8E
ac
46
29
SC<54>
0C3O:FC
FC
30
00
FF
00
00
00<43>
0EF0:00
4A
00
4A
4A
4A
4A
ß0<43>
0978:AA
29
A4
BF
SC
49
29
8C<07>
0838:00
00
00
00
FF
FF
00
00<44>
0EFS:4A
4A
4A
4A
4A
©0
0©
4A<15>
0980:B7
29
A0
0B
B9
33
30
A6<F4>
0C40:00
0O
00
00
FF
FF
FF
0O<4A>
0FO0:00
4A
00
00
00
4A
00
4A<23>
0988:AB
F0
03
B9
6B
23
99
O0<0S>
©C48:00
00
O0
00
FF
FF
FF
FF<51>
0F©8:00
00
00
00
4A
00
0O
4A<BA>
0990:34
ß9
EB
29
A6
A9
F0
03<91>
0C50:00
00
00
00
FF
FF
FF
FF<59>
OF10:4A
0©
00
4A
©0
00
4A
O0<SA>
0998:B9
6B
2B
99
00
35
B9
1B<32>
0C58:FF
00
OO
00
FF
FF
FF
FF<EO>
0F18:4A
00
©0
4A
4A
4A
0©
0O<73>
09A0:2A
A6
AA
F0
03
B9
6B
2B<A2>
0C6O:FF
FF
OO
00
FF
FF
FF
FF<AS>
0F20:4A
4A
4A
4A
4A
0©
©0
4A<70>
09A8:99
00
36
B9
3F
2A
A6
AB<F2>
0C68:FF
FF
FF
00
FF
FF
FF
FF<D©>
0F2S;00
00
4A
00
4A
OO
00
4A<23>
09B0:FO
03
B9
60
2B
99
00
37<3C>
0C70S FF
FF
FF
FF
00
18
3C
7E<EC>
0F30:OO
©0
00
00
4A
00
4A
00<2D>
09B8:B9
33
30
A6
AC
FO
03
B9<30>
0C7B£7E
3C
10
00
FF
81
31
Sl<41>
0F3S:4A
4A
4A
4A
00
00
00
4A<05>
09C0:6B
2B
99
00
33
88
18
10<DD>
OCe©:81
81
81
FF
FF
00
00
00<B1>
0F40:00
00
00
4A
4A
AA
4A
O0<03>
09CS:BE
A6
86
E8
8E
0©
00
A6<AB>
0C38:©0
00
©0
00
FF
00
00
O0<98>
0F48:4A
00
00
4A
A0
13
B9
78<E2>
0900:87
Ea
8E
01
D0
A6
88
E8<12>
0C90:©0
00
00
00
FF
00
00
0O<:A0>
ßF50:2E
FO
03
99
F9
38
B9
SC<A1>
09D8:SE
02
D0
A6
89
E8
9E
03<aA>
0C9B:00
00
OO
00
00
00
0O
0O<B0>
0F58:2E
Fß
03
99
21
39
39
A©CEE>
O9£0:00
A6
8A
Ea
ae
07
D0
Ea<24>
OCA©:00
00
00
00
10^
10
1©
10<A9>
OF60; 2E
F0
03
99
49
39
B9
34<61>
09E8:£8
BE
06
D0
EB
ES
SE
05< \7>
0CA8:10
00
©0
0©
©0
00
0©
i5<DD>
©F68;2£
FO
03
99
71
39
B9
ca<2D>
09F0:D0
ES
E8
SE
04
D0
60
1C<84>
0CO0:15
00
0©
00
10
10
10
1S<4S>
0F70:2E
FO
03
99
99
39
89
DC<92>
09F8:3E
2A
6B
7F
7F
55
35<49>
0CB8:15
00
00
00
00
00
00
10<6B>
0F7a:2E
FO
03
99
39
3A
39
F0<A9>
OA00:55
14
36
IC
3E
3A
7B
7F<5C>
OCCO:10
10
10
10
10
lO
10
10<DO>
OFOO:2£
FO
03
99
61
3A
B9
04<15>
0A08:7F
55
54
54
54
16
30
1C<66>
©CCS:10
1©
10
1©
©0
00
0©
15<04>
0F8S:2F
F©
03
99
89
3A
B9
ia<DA>
OA10;3E
2A
6B
7F
7F
SS
55
55<70>
OCD©:15
10
1©
10
10
10
10
15<70>
0F90:2F
F0
©3
99
31
3A
39
ZC<48>
0A18:55
14
36
IC
3C
2E
6F
7F<4C>
OCDS:15
10
10
10
00
O0
00.
50<B2>
0F9S:2F
F0
03
99
D9
3A
80
1O<02>
0A20:7F
55
15
15
15
34
06
08<8A>
OCE0:50
00
00
00
10
10
10
50<D1>
©FAO:AD
60
A2
28
20
Al
2F
A2<63>
0A28:IC
3E
7F
3E
IC
IC
3E
7F<DA>
0CE8:SO
0©
00
00
00
0O
0©
5S<7D>
0FAS:40
2©
Al
2F
60
AO
00
BD<3C>
OA30:3£
IC
03
©0
08
IC
3E
7F<13>
aCFß:55
00
0©
00
10
10
10
55<ES>
0FB0:00
32
D9
©2
23
90
08
D0<CD>
0A3S:3E
3E
7F
3E
IC
08
0O
00<AF>
0CFS:55
00
00
00
00
O0
00
5a<0A>
0FBS:07
ES
C8
C©
©6
DO
F0
60<F8>
0A4O:00
08
IC
3F
7F
7F
3E
1C<46>
0000:50
10
10
lO
10
10
lO
50<7A>
OFCOsBD
00
32
99
02
23
ES
C3<31>
0A48: OB
00
00
IC
3E
2A
2A
3E<4F>
ODOS:50
10
10
10
00
00
00
!^<A6>
0FC8:CO
06
DO
F4
60
F6
Bl
B5<74>
0A58:7F
55
55
55
55
55
55
00<7F>
0D10:55
10
10
10
10
10
10
55<11>
0FD0:32
18
69
©1
C9
lA
90
02<DA>
OASa:IC
3E
2A
2A
3E
7F
55
55<SB>
ODlSs 55
10
10
10
A9
00
AQ
99<11>
0FD8:A9
10
95
32
20
IC
2E
60<3A>
0A60:55
55
14
00
00
IQ
3£
2A<SD>
OD20:00
38
99
OO
39
99
O0
3A<AS>
OFEO:A9
00
A4
AB
D0
02
09
0S<13>
0A68:2A
3E
7F
SS
55
SS
41
00<5E> '
0D2S:99
00
33
ce
DO
Fl
60
AC<21>
0FE8:A4
AA
D©
©2
09
04
A4
A9<45>
0A7©:iC
3E
2^
2A
3e
7F
55
55<F3>
0D3O:0B
D4
C0
04
90
F9
CO
7B<77>
0FF0:D0
02
09
02
85
30
60
A6<SD>
0A7Ss 55
55
55
20
D4
ZF
A5
AE<51>
0038:EO
FS
A9
IF
SD
30
02
A9<60>
©FFB:BS
BD
2F
30
BD
00
D2
3D<57>
OA80:05
AF
D0
29
AD
©C
0©
25<C9>
0D40:20
SD
31
02
60
AC
OB
D4<6F>
1000:31
30
8D
01
D2
CA
30
02<60>
0A8S:B0
FO
05
A2
©0
20
88
2B<74>
0048:CO
04
9©
F9
CO
73
30
F5<21>
1008:86
38
AS
AQ
05
AC
SD
02<5E>
0A90:AD
08
DO
0D
09
D0
OD
0A<F7>
0D50:A9
4B
8D
30
02
A9
20
3D<65>
1010:D2
F0
02
A9
45
QD
03
D2<1C>
0A98:D0
0D
0A
D0
29
0E
25
B0<91>
©058:31
©2
60
20
27
23
A0
26<44>
1018:A5
A3
18
69
14
SD
04
D2<3D>
OAA0:FO
05
A2
04
2©
83
23
A9<80>
OD60:A9
00
99
90
39
A9
80
99<F3>
1020:AS
AS
18
69
14
SD
06
D2<36>
0AA8:O1
SD
lE
D0
60
AO
08
D0<BA>
0068:88
39
88
10
F3
20
68
24<4A>
1028:AS
A3
FO
02
A9
C6
8D
05<E3>
0AB0IOD
09
D0
0D
0A
D0
0D
0A<0E>
0D70:20
23
2D
A9
80
85
B7
A9<C0>
1030:D2
A5
A5
F0
02
A9
C6
SD<E1>
0ABS:O0
29
OE
00
0C
D0
25
B0<0B>
0078:04
8S
90
85
94
20
D8
2D<32>
1038:07
D2
60
00
5F
00
2A
1C<C7>
0AC0:FO
49
48
AD
0C
DO
25
00<6C>
ßDS0:20
62
27
20
53
25
20
S3<DC>
1040:3E
7F
7F
7F
7F
7F
7F
7F<42>
0ACS:F0
0C
A5
B0
4A
AA
BD
77<4A>
ODS3s 27
AD
00
D3
29
0F
C9
0F<:C2>
i04a:7F
3E
IC
IC
3E
7F
7C
78<D9>
0AO0S2B
A2
00
20
DF
26
AD
08<D3>
0D90;FO
38
C9
OE
FO
17
C9
0D<2S>
1050:7©
70
78
7C
7F
3E
IC
1C<22>
0A08:D0
OD
09
D0
0D
©A
DO
OD<73>
0D98:Fß
lA
C9
03
F0
06
C9
07<2B>
105a:3E
7F
IF
OF
07
07
OF
1F<5D>
0AE0:0A
D0
29
0E
25
B0
F0
0C<CB>
ODA0:F0
02
D0
26
A5
B5
49
01<1D>
1060:7F
3E
IC
00
22
63
63
63<19>
0AE8:A5
B0
4A
AA
BD
77
2B
A2<0B>
0DA8:85
35
4C
AC
2D
E6
35
E6<03>
1068:77
77
7F
7F
7F
3E
IC
1C<53>
0AFO:O4
20
DF
26
68
4A
4A
90<09>
0DB0:B5
4C
AC
2D
C6
35
C6
35<BA>
1070:3E
7F
7F
7F
77
77
63
63<DE>
0AF8:04
A9
C8
85
A9
4A
90
04<61>
©DB8:Z0
DB
2D
20
53
25
20
83<62>
1078:63
22
00
00
00
OO
©0
00<D2>
4219 Bytes
Listing zu »Twomaze« (Schluß)
86
Dlitesc GTL +>tesc CTL ^JCESC CTL +>CESC
CTL +J"g <KI1>
580 POKE 764,44:INPUT FS:D=1:G0T0 610 <ZI>
590 F$=“C:":D=0 <MT>
600 ? ,“CASSETTE^FEJiTIG^HACHEN,^ RETURN "; <AH>
610 TRAP 660 <OJ>
620 OPEN #1,8,128,<YW>
630 IF D TUEN ? #1;D$(1,500); <UB>
640 IF NOT D THEN ? #1;CS;D*(7,494) <XK>
650 CLOSE #1:G0T0 470 <EW>
660 7 "CESC CT1_ 2>CESC CTL -D CESC SHIFT
DELJ<ESC TAB>I/0*-*FEHLER*”;PEEK(195); <CR>
670 TRAP 40000=CLOSE #l:eOTO 480 <HQ>
680 POKE 752,0=END <YW>
690 REM-- <ZP>
1000 DATA*FF,FF,00,38,E7,39,A2,FF,1271 <EA>
1010 DATA*BD,EB,33,90,00,06,CA,EO,1069 <NF>
1020 DATA*FF,D0,FS,A2,60,BD,8A,38,1349 <VW >
1030 DATA*9D,00,0i,CA,10,F7,A2,0F,^0 <aL>
1040 DATA*BD,00,E4,9D,61,01,CA,10,890 <LI>
1050 DATA^F7,13,AD,65,01,69,01,SD,793 <MP>
1060 DATA*6B,06,AD,66,01,69,00,80,635 <CE>
1070 DATA^6C,06,A9,2A,8D,65,01,A9,737 <XW>
1080 DATAj^.06,80,66,01,AD,67,01,SD,668 <VG>
1090 DATA^30,06,AD,68,01,80,34,06,531 <HH>
1100 DATA*38,AD,30,02,E9,02,8D,02,657 < ZR >
1110 DATA^06,8D,ll,06,AD,3l,02,£9,627 <EV>
1120 DATA*00,SD,07,06,SD,12,06,A9,488 <DM>
1130 DATA*45,20,7A,3S,90,11,8E,26,620 <CP>
1140 DATA*06,A9,00,20,7A,38,90,07,536 < VQ>
1150 DATA*3E,17,06,20,01,06,18,60,330 <QZ>
1160 DATA*A2,00,DD,lA,03,F0,0S,E8,e92 <CH>
„1170 DATA^ES,E8,E8,21,00,F4,18,60,1293 <a<>
1180 DATA*70,42,39,01,9E,06,9E,06,564 <UJ>
1190 DATA*9E,06,75,06,9E,06,9E,O6,615 <EX>
1200 DA'ra*00,00,00,00,4C,2E,22,54,240 <CY>
1210 DATA*3A,22,2C,50,45,45,4B,2B,469 <TN>
1220 DATA*31,51,33,29,28,32,35,36,390 <LL>
1230 DATA*2A,50,45,45,48,28,31,31,473 <SG >
1240 DATA-fc34,29,9B,01,61,45,01,04,420 <SW>
1250 DATA-.54,30,72,75,65,66,63,6F , 776 < YW>
1260 DATA*64,6S,00,1A,00,00,1E,00,257 <ER>
1270 DATA*00,10,00,00,08,63,09,00,144 <LV>
1280 DATA*18,15,00,62,79,00,37,0E,333 <NU>
1290 DATA-..00,2B, 72,65,73,73,0F, 77,622 <KV>
1300 DATA*62,68,A9,FF,BD,30,02,A9,936 < OK >
1310 DATA*FF,8D,31,02,A0,03,B9,00,795 < ZL>
1320 OATA*01,99,FF,FF,B8,10,F7,A0,1223 <DR>
1330 DATA*FF,A2,05,BD,33,01,99,1A,842 <00>
1340 DATA*03,CS,E0,03,D0,02,A0,FF,1055 < QQ >
1350 DATA*CA,10,F0,60,A5,77,FO,0A,1088 <0T >
1360 DATA*A9,FF,85,26,A9,FF,85,27,1191 < LE>
1370 DATA*C6,77,A5,73,F0,2D,A5,A1,1208 <VB >
1380 DATA*10,04,C6,73,F0,25,A6,7S,896 <r46>
1390 DATA*BD, 14,01,E6,78,C9,9B,00,1124 <2ri>
1400 DATA*4F,A2,00,S6,78,36,73,A6,910 <WM>
1410 DATA*A0,S6,71,A6,A1,86,72,A2,1144 <QR>
1420 DATA*9E,S6,26,A2,06,e6,27,E6,901 <AY>
1430 DATA*77,D0,35,20,3E,F6,0B,C9,929 <C^>
1440 DATA*9B,D0,02,E6,73,28,60,A2,1008 <IO >
1450 DATA*00,C9,9B,FO,26,S6,CC,A6,1138 <LN>
1460 DATA*00,S6,D1,85tCD,A0,0S,46,919 <Q2>
1470 DATA*D1,90,0C,18,A2,23,B5,CD,940 <DL >
1480 DATA*75,CA,95,CD,CA,D0,F7,06,1336 < Z Z >
1490 DATA*CD,26,CC,88,D0,E9,E6,00,1254 <EW >
1500 DATA*A0,01,60,A9,A4,A0,02,20,784 <HA>
1510 DATA*CC,06,A2,03,B5,CA,95,CD,1112 <MP>
1520 DATA*CA,D0,F9,A9,1A,20,CC,06,1096 <IN >
1530 DATA*A5,CD,18,69,21,80,48,01,746 <BX>
1540 DATA*A5,D0,69,21,80,47,01,84,856 <UQ>
1550 DATA*D0,08,84,00,60,85,72;84,1015 <LY>
1560 DATA*7l,86,CB,86,CC,a6,CD,A0,1287 <JS>
1570 DATA*1S,10,A2,05,36,CB,CA,10,690 <RJ>
1580 DATA*FB,38,A2,03,B5,CA,F5,6F,1211 <RY>
1590 DATA*95,73,CA,D0,F7,90,0B,B5,1257 <6I>
1600 DATA*74,95,CB,E8,E0,03,D0,F7,1382 <II>
1610 DATA*E6,O0,83,D0,DC,60,E2,02,1326 <JV>
1620 DATA^E3,02,00,38,00,00,00,00,285 <ER >
1630 DATA*53423 <NQ>
Listing zum Atari-PrüfSummer (SohEuß)
Farbe auf die
Fläche
Das normale Atari-Basic kennt leider keinen
Befehl, eine Fläche einzufarben. Das XiO-Kom-
mando ist nur ein schlechter Ersatz. Das Pro¬
gramm »Fill« bringt Farbe auf die Fläche und
schraffiert sie sogar.
Das Maschinensprache-Programm »Fill« besteht aus zwei
Teilen:
1} Dem Hauptprogramm {333 Byte lang), das in einen String
geladen werden muß (beim Demoprogramm MAS).
2) Den Unterpgrogrammen (86 Byte lang), die in Rage 6 von
der Adresse 1536 bis 1621 stehen.
Bevor »Fill« gestartet werden kann, müssen die Zahlen aus
den DATA-Zeilen geladen werden. Nach dem Einschalten von
»Grafik 8« wird die Figur gezeichnet, die ausgefüllt werden
soll. Um die Fläche festzulegen, wird mit »COLOR 0« und
»PLOT X,Y« ein Punkt auf die Stelle gesetzt, von der aus das
Fill-Programm starten soll. COLOR 0 ist deshalb wichtig,
damit der Punkt unsichtbar bleibt und beim Ausfüllen nicht als
Hindernis erkannt wird.
Danach wird das »FilI«-Programm mit »Q=USR(ADR(MA$),
MUSTER)« gestartet. »ADR(MA$)« gibt die Anfangsadresse
von MA$ im RAM-Speicher und damit auch die Startadresse
des Maschinensprache-Programms an. »MUSTER« kann
eine Variable oder einen Wert zwischen 0 und 255 sein. Hier¬
mit wird das Bit-Muster angegeben, mit dem ausgefüllt wer¬
den soll. Der Dezimalwert 255 ergibt als Binärzahl 11111111,
die sich wie folgt errechnet:
1x20-1-1x21 -I-Ix2a...-I-Ix2r=255.
Hier wird jeder Punkt gezeichnet. Bei Dezimalwert 170
(entspricht binär 10101010) wird nur jeder zweite Punkt auf
dem Bildschirm sichtbar. Das Bitmuster wird in jeder Bild¬
schirmzeile um einen Punkt verschoben, so daß sich daraus
schräg schraffierte Flächen (von links oben nach rechts
unten) ergeben. Allerdings muß die Variable »MUSTER« dann
ungleich 0 sein.
Um die Funktion des Programmes zu verstehen, ist es
wichtig, etwas über den Bildschirmspeicher in Grafikstufe 8
zu wissen. Die Anfangsadresse des Bildschirmspeichers
steht in den Adressen 88 und 89. Sie wird von Basic aus mit
»PRINT PEEK(88) + PEEK{89) * 256« errechnet.
In Grafikstufe 8 ist der Bildschinmspeicher aus 192 Zeilen
mit je 40 Byte aufgebaut. Jede Zeile ist auf dem Bildschirm
einen Punkt hoch. Ein gesetztes Bit aus einem Byte bedeu-
PROGRAMM-STECKBRIEF
Programmname
Filk Routine
Programmtyp
Graffk-UtiJity
Programm iersprache
Basic und Maschinensprache
Programm länge
3365 Byte
für Computer
600XLy800XL/l30XE
zusätzliche Hardware
keine
Eingöbehilfe
Prüfsummer
Bemerkung
zum Füllen von Flächen in den
Grafikstufen 4, 6 und 8
Leserservice
Diskette (FILLBAS)
93
tet, der Punkt ist sichtbar. Pro Byte können also acht Punkte
gespeichert werden. Bei 40 Byte pro Zeile mit je acht Punk¬
ten kommt man wieder auf 40x8” 320 Punkte Auflösung.
Schreibt man in die erste Adresse den Wert 128, erscheint
links oben ein Punkt. Addiert man zu der Adresse 40, wird der
Punkt eine Zeile tiefer gezeichnet.
Das Programm »Fill« errechnet zuerst aus der Grafikcursor¬
position, die durch »PLOT« gesetzt wird (Adresse 90 für verti¬
kale und 91/92 für horizontale Position), die Speicheradresse
im Bildschirmspeicher. Dieser Wert wird in XA, YA und XS, YS
gespeichert (in Maschinensprache gibt es keine Variablen;
hier müssen freie Speicherzellen verwendet werden). XA und
YA sind die Koordinaten des Arbeitspunktes, der durch das
Programm verschoben wird. XS und YS werden, nachdem die
erste Hälfte der Fläche ausgefüllt ist, dazu verwendet, den
Arbeitspunkt wieder auf die Ausgangsposition zu setzen.
Bild 1. Verschiebung des Arbeitspunktes beim Ausmalen
einer Fläche. Bei diesem Beispiel erfolgt das Füllen der
Fläche rechtsbündig- Um auch den linken Teil füllen zu
können, muß der Arbeitspunkt in die noch leere Fläche
gesetzt werden und das Programm»Fill« nochmals gestartet
werden.
Vom Arbeitspunkt aus zeichnet das Programm so lange
eine Linie nach rechts, bis es auf ein Hindernis stößt. In
Maschinensprache heißt das, daß von der Position XA, YA
aus jedes Bit im Bildschirmspeicher abgefragt werden muß.
Wird bei der Abfrage ein bereits gesetztes Bit gefunden, stellt
dieses den Rand der zu f üllenden Fläche dar. Der Füllvorgang
wird dann in umgekehrter Richtung fortgesetzt Das gleiche
gilt, wenn der Bildschirmrand erreicht ist Findet das Pro¬
gramm auch hier ein Hindernis, wird YA um 1 erhöht (der
Arbeitspunkt wird um eine Zeile nach unten verschoben). Ist
ein Hindernis direkt auf dem Arbeitspunkt XA, YA* kann weder
eine Linie nach rechts noch nach links gezeichnet werden.
Der Arbeitspunkt muß dann so weit nach rechts verschoben
werden, bis eine freie Stelle auf dem Bildschirm gefunden ist
Auch hierfür werden wieder die einzelnen Bits im Bildschirm¬
speicher getestet Liegt der neue Arbeitspunkt noch inner¬
halb der auszumalenden Fläche, setzt sich das Ausfüllen der
Fläche fort.
Liegt der neue Arbeitspunkt aber schon außerhalb der aus¬
zumalenden Fläche, wird er so lange nach links verschoben,
bis eine freie Stelle gefuhden wird. Bild 1 verdeutlicht diesen
XS
= 90
$5A
XS
= 91
$5B
Staftposition
Bit
= 92
$5C
YA
^ 96
$60
XA
=F 97
$61
Arbeitspunkt
BitA
= 98
$62
Rand R
= 100
$64
rechter Rand der Fläche
Rand RB
= 101
$65
Rand L
= 102
$66
linker Rand der Räche
Rand LB
“ 103
$67
j Ijücke
= 104
$68
Sicher
= 105
$68
kurzzeitiger Speicher für
Zwischenergebnisse
Modus
107
$66
Bitd
= 108,
$6a
Adressiert die Stelle im
109,
60
Bildschirmspefcher, an der gerade
gearbeitet wird
Muster
= 110
$6E
wird über den USR-ßefehl gesetzt
Bild 2. Verwendete Adressen
Vorgang. Ist auch sie schon außerhalb der auszufüllenden
Fläche, ist deren unteres Ende erreicht. Der Arbeitspunkt
wird Jetzt wieder auf den Ausgangspunkt gesetzt {XA=XS;
YA=YS). Dann wird die Fläche wieder ausgemalt, nur das XA
nach jeder fertigen Zeile nicht um 1 erhöht, sondern ernie¬
drigt (eine Bildschirmzeile nach oben). Kann auch hier der Ar¬
beitspunkt nicht mehr innerhalb der auszumalenden Fläche
verschoben werden, oder ist der obere Bildschirmrand
erreicht, wird ins Basic zurückgekehrt.
Mit der »Fill«-Routine können fast alle Flächen ausgefüllt
werden. Teilt sie sich aber in vertikaler Richtung (zum Beispiel
bei einer U-Form wie in Bild 1), wird nur einer der Arme ausge¬
füllt. Hier muß der Ausgangspunkt mit »COLOR 0« und »PLOT
X,Y« in den noch nicht ausgemalten Bereich gesetzt werden
und das Programm »Filk muß noch einmal gestartet werden.
Eine Fläche mit mehreren Verzweigungen in horizontaler
Richtung wird jedoch schon beim ersten Mal korrekt ausge¬
füllt. Das Programm arbeitet normalerweise nur in Grafikstufe
8. Es kann aber auch für Stufe 6 oder 4 umgeändert werden,
da sie fast den selben Bildschirmspeicheraufbau besitzen.
Dafür müssen folgende POKE-Befehle an einer Stelle nach
dem Einlesen von »Fill« aus den DATA-Zeilen in das Basic-
Programm gesetzt werden: A=ADR(MA$)
Grafikstufe
4
6
8
POKEA+71.
48
96
192
POKE A+153
9
19
39
POKE A+260,
9
19
39
POKE 1552,
10
20
40
Positionen werden bei »Fill« in einer 1-Byte-Adresse für die
vertikale (y-Achse) und in einer 2-Byte-Adresse für die hori¬
zontale Richtung gespeichert. So bekommt man mit »PRINT
PEEK(84)« die momentane Zeile und mit »PRINT
PEEK(85) + (PEEK{86)’^256« die momentane Spalte des
Grafikcursors. Mit »PRINT PEEK(90)« erhält man die vorher¬
gehende Zeile und mit »PRINT PEEK(91)-I-PEEK
(92) * 256« die vorhergehende Spalte, in der sich der Grafik¬
cursor befunden hat Diese Adressen, die als dezimaler Byte-
Wert gePEEKt werden, werden auch von den Basic-Befehlen
DRAWTO und XIO 18 (Füllen von Flächen) verwendet In Bild
2 sind noch alle von »Fill« verwendeten Adressen aufgeführt.
Bild 3 und Bild 4 verdeutlichen noch den Aufbau des Grafik¬
bildschirms in Stufe 8. Die einzelnen Biidschirmdaten werden
Zeile für Zeile im RAM-Speicher abgelegt Um die Start¬
adresse des Bildschirmspeichers zu bestimmen, müssen die
Obere linke Ecke des Bildschirms
ODCDOOCO
OQQGOOOO
G LJ Ä
□oaacDco
OGOGOGOG
G Q Cy 1
G O ^
ggd«oood
ooQacoo«;
o o q
O00»C3CjDa
GQOOOOO«
G O o\
ac:a*anoG
GGGGGOO®
^ ■—: ir
■ _p w Jf
cjaoaoaso
OGGOGOG»
o q\
o o
OG O O O G O G
QooonaacD
G O g)
O □ Q
k2^DGQJ>^::L.^^
fTi ^
Adressen 88 und 89 abgefragt werden. Geben Sie hierzu
bitte folgende Zeile ein: ^^PRINT PEEK{S8)+PEEK(89)
*256^.
Das Programm benützt zwei Koordinatenpaare zum Spei¬
chern von Positionen auf dem Bildschirm:
XA, VA = Arbeitspunkt: Dieser Punkt wird vom Programm
geändert. Von hier aus werden im Programm Linien nach
rechts und nach links gezeichnet.
XS, YS = Startposition: Dieser Punkt wird nicht geändert
und zum Setzen von XA und YA verwendet. Die Startposition
errechnet sich aus der Position des Grafikcursors.
(Rolf Kilian/wb)
^ Bild 3. Ausschnitt des Bildschirms in Grafikstufe 8. Die
ausgefüllten Punkte sind sichtbar, alle anderen Punkte —
auch Pixel genannt — sind unsichtbar.
Bild 4. Jede Bildschirmzeile in Grafikstufe 8 setzt sich aus 40 Bytes mit jeweils 8 Bits zusammen. Daraus ergibt sich die
horizontale Auflösung von 320 Punkten, Der Bildschirm setzt sich aus 132 solcher Zeilen zusammen.
10 REM Demoprogranwn zu *"FILL" <RT>
20 REM *************** <JB>
30 REM ROLF KILIAN <HX>
40 REM Oeschwende 11 <FQ>
50 REM 7?00 Ulm-Lehr <CL>
60 REM Tel- 0731/6059X <WZ>
70 REM *************** <JS>
80 REM Oktober 1984 <ON>
90 REM <J«>
100 DIM nft4^(333> sREM Das Hauptprogramm w
ird in MA¥ gespeichert <HR>
110 DE6 <«C>
120 A=ADR(MA^>iIF PEEKCA)=104 AND PEEKCA
+332)=166 THEN GOTO 208 <QC>
125 7 CHR»C125> ; *^BITTE^WARTEN" <eT>
130 REM *** Zeile 140 kann nach dem l.-fe
hler-freien Lau'f qeloescht werden <XS>
140 RESTORE 30800sFOR 1=0 TO 418:READ P:
C=C-«-P:NEXT lilF CO50795 THEN ? “FEHLER*
IN*DATA2EIL£N"s END <FC>
150 RESTORE 30000 <BD>
160 FOR 1=0 TO 332:READ P:PO<E ADR<MA#)+
I,PsNEXT IsREM *** Kauptprogramni einlese
n <UA>
170 RESTORE 30046 <HR>
180 FOR 1=0 TO 85:READ PsPOKE 1536+1,P:N
EXT IsREM *** Unterprogramme einiesen <LY>
199 REM Pyratniede aus Kreisen zeichn
en <BJ>
200 A=0: GRAPHICS 8+16 <LL>
210 R=20:S=30 <RP>
220 FOR YP=30 TO 150 STEP 30 <XG>
230 FOR XP=l75-YP/2 TO 145+YP/2 STEP 30 <JM>
248 COLOR 1:60SUB 500:REM *** Kreis zeic
hnen <GR>
250 COLOR 0:PLOT XP,YP:REM *** Ausgangsp
osition fuer Fill <GI>
260 □=ÜBRtADRCMA^),RND<0>*256>:REM *** F
111 mit zu-faelligem Muster starten <RH>
270 NEXT XP <TW>
280 NEXT YP <UI>
290 R=B05YP=9S=XP^160:5^15 <VA>
300 COLOR IsGOBUB 500 <SE>
310 COLOR 0:PLOT 100,100:Q=USR<ADR(MA^>,
255> <VA>
320 PLOT. 220,100:Q=USR(ADR(MA$:) ,255)=REM
*** Starten von Fill; Muster=255 -> Fla
eche ganz austuellen <TS>
330 PLOT 175,16S:Q=USRCADRCMA^),255) <PÜ>
340 PLOT 145,l6S:(3=USRtADR(MAS> ,255) <QP>
350 R=95 <AA>
360 COLOR l:GOSUB 500 <SQ>
370 COLOR BsPLOT 50,100:Q=USR(ADR(MA#>,1
70) <F6>
380 PLOT 300,100:e=USR(ADR(MA^),170) <ZT>
390 GOTO 390 <QP>
499 REM *** KREIS ZEICHNEN <QT>
500 FOR ALFA=0 TO 360 STEP S <UE>
510 X=XP+COS < ALFA)*R:Y=YP+SIN < ALFA > *R < XO >
520 IF ALFA=0 THEN PLOT X,Y <TF>
530 DRAWTO X,Y <OB>
540 NEXT ALFA <I4A>
^0 RETURN <M2>
30000 DATA*104,133,105,104,104,133,110,7
2,162,3,102,92,102,91,102 <Yy>
30002 DATA*105,202,208,247,162,4,38,105,
202,208,251,165,105,133,92 <TH>
30004 DATA*133,98,133,103,133,101,165,91
,133,97,133,102,133,100,165 <ZH>
30006 DATA*98,133,96,169,1,133,107,208,7
1,176,13,169,0,24,102 <RB>
30008 DATA*110,106,5,110,133,110,230,96,
165.96.201.192.209.234.104 <PW>
30010 DATA*133,110,165,92,133,98,133,103
,133,101,165,91,133,97,133 <EF>
30812 DATR*102,133,100,165,90,133,96,169
,0,133,107,165,96,201,0 <JP>
30014 DATA*240,17,198,96,169,0,6,110,42,
5,110,133,110,208,5 <PV>
30016 DATA*176,2,144,233,96,32,0,6,166,9
9.32.54.6.133.104 <IU>
30018 DATA*164,97,49,108,162,0,42,176,28
,232,224,8,208,248,32 <JQ>
30020 DATA*39,6,192,39,240,30,200,177,10
9,208,234,32,39,6,208 <YH>
30022 DATA*242,165,107,208,140,240,204,1
96,97,208,4,228,98,240,65 <TK>
30024 DATA*32,70,6,32,41,6,134,101,132,1
00,166,98,32,70,6 <RD>
30026 DATA*133,104,164,97,49,108,162,8,i
Basic-Listing zu T*f\U&
06,282,176,19,208,250,32 <VC>
30028 DATA*.39,6,192,0,248,16,136,177,100
,208,236,32,39,6,208 <XK>
30030 DATA*242,32,54,6,32,41,6,134,103,1
32,102,24,232,208,182 <I1P>
30032 DATA*56,176,250,144,141,224,7,240,
6,42,232,144,17,176,246 <CN>
30034 DATA-. 196,108,176,26,192,39,240,22,
200,177,108,162,255,208,231 <BT>
30036 DATA..^196,100,288,4,228,101,176,7,1
32,97,134,98,24,144,214 <ND>
30038 DATA*166,98,32,54,6,164,97,17,108,
162,8,106,202,144,16 <0Y>
30040 DATA^08,2S0,192,0,240,190,136,196
,102,144,185,177,108,56,176 <LW>
Basic-Listing
30042 DATA*234,196,102,208,6,228,103,24«
,172,144,170,132,97,134,98 <BL>
30044 DATA^4,144,166 <SZ>
30046 DATA*165,96,133,105,169,0,133,108,
162,8,70,105,144,3,24 <CW>
30048 DATA«10S,40,106,102,108,202,208,24
3,133,109,24,165,108,101,88 <QT>
30050 DfiTA*i33,108,165,109,101,89,133,10
9,96,169,255,37,104,37,110 <VX>
30052 DATA^17,108,145,108,169,255,133,10
4,96,169,255,224,0,240,9 <FC>
30054 DATA^134,105,24,106,202,208,251,16
6,105,96,169,0,224,0,240 <TM>
30056 DATA^49,134,105,56,106,202,288,25
1,166,105,96 <UC>
ZU »Fill« (Schluß)
Mit nHappY~Mon€€ auf der Suche
Will man den RAM-Spetcher durchforsten, sollte
man einen Maschinensprache-Monitor verwen¬
den. »HappyWlon« ist sehr leistungsfähig und bie¬
tet alle Funktionen, die Sie brauchen.
e ekanntlich dient der RAM-Speicher eines Computers
dazu, Werte hinefnzuschreiben und wieder zu iesen.
Diese Eigenschaft nutzt auch der eingebaute Basic-
Interpreter im Atari-Computer, Ailerdings fällt es schwer, von
Basic aus zu verfolgen, welche Werte wie und wo im Spei¬
cherabgelegtwurden. Mit dem Basic-Befehl PEEK kann man
seine Neugierde zumindest teilweise befriedigen. Dabei
erhält man einen Dezimalwert zwischen 0 und 255. Was
fängt man aber damit an? Möchte man nämlich wissen, wel¬
chen Befehl der gePEEKte Wert ausführt, muß man eine
Befehlscode-Tabelle zur Hand nehmen. Dieses Verfahren ist
sehr aufwendig, und nicht selten schleichen sich noch Fehler
ein. Hier ist »Happy-Mon« eine willkommene Hilfe, denn unse¬
ren Maschinensprache-Monitor lädt man einfach zusätzlich
in den Speicher. Das Programm kann dann einen besfimmten
Adressenbereich disassemblieren oder einen Hexadezimal¬
oder Dezimal-Dump auf dem Bildschirm ausgeben. Tabelle 1
zeigt eine Gesamtübersicht der verfügbaren Befehle von
»Happy-Mon«.
Hexdump- und Editierfunktionen
Der Befehl »Z Adresse« bewirkt die Ausgabe eines Hex¬
dumps ab Adresse »Adresse«. Es sind beliebige Anfsuigs-
adressen zwischen dezimal 0 und 65535 zulässig. Bevorzu¬
gen Sie hexadezimeüe Zahlen, müssen Sie das Kennzeichen
$ verwenden. Dies gilt übrigens für alte numerischen Be-
fehisparcwneter.
Beispiel; »Z $8000« gibt die ersten acht Byte des »Happy-
Mon«-Objektcodes in hexadezim^er Darstellung aua An¬
schließend erscheint die Frage »Continue (Y/N)« wobei Y für
»ja«steht. Betätigen Sie die Y- oder die RETURN-Taste, um die
nächsten acht Byte auszugeben. Mit N für nein oder der
BREAK-Taste übergibt man die Kontrolle wieder an den Ein¬
gabeeditor. Empfinden Sie die ständige Frage »Continue
(Y/N)« als überflüssig, fügen Sie nur ein N an den Befehl an.
Beispiel: Mit »Z $8000,N« erfolgt eine ständige Ausgaiie, die
nur mit CONTROL 1 oder mit der BREAK-Taste unterbrochen
werden kann.
Übrigens können Befehlszeilen beliebig viele Leerzeichen
enthalten. Der Befehl »Z $8000,N« hat dieselbe Funktion wie
»Z $8000 , N«. Die einzige Einschränkung; Zwei Parameter
dürfen nur von einem Komma getrennt sein.
Ähnlich den oben beschriebenen Befehlen arbeitet auch
der L-Befehl. Die Syntax ist identisch zum Z-BefehJ. Zusätz¬
lich wird nur noch die ASCll-Umsetzung der Byte ausge¬
geben.
Die bisherigen Funktionen dienen nur zum Lesen bestimm¬
ter Adressen. Mit »Happy-Mon« sind aber auch verschiedene
Speicherbereiche veränderbar. Dazu wird bei der Ausgabe
von Speicherinhalten vor jede Zeile das Größer-Zeichen (>)
gesetzt. Dieses Zeichen stellt im Eingabemodus wiederum
einen Befehl dar. Erhält nämlich der Editor eine Zeile mit vor¬
gestelltem Größer-Zeichen, so werden die acht darauffolgen¬
den Werte in den RAM-Speicher übernommen. Eine erfolg¬
reiche Übernahme bestätigt »Happy-Mon« mit einem kurzen,
tiefen Ton.
Wurde also ein bestimmter Speicherbereich mit Z oder L
gedumpt, können Sie diesen mit den üblichen Editierfunktio¬
nen wie DELETE, BACKSPACE oder INSERT verändern.
Anschließend kann die betreffende Zeile mit der RETURN-
Taste in den Speicher übernommen werden. Versuchen Sie
diese Funktion aber bitte nicht an Adressen, die »Happy-
Mon« belegt.
Beim Editieren muß sich übrigens mindestens eine Hexa¬
dezimalzahl hinterdem Doppelpunkt befinden. Bedenken Sie
aber, daß sich eine Hexadezimalzahl stets aus zwei Zeichen
zusammensetzt (0 bis 9 und A bis F). Die Verwendung und
Anzahl von Leerzeichen ist freigestellt.
Weitere Editierfunktionen
Eine besonders schnelle Eingabe von größeren Hexcode-
Blöcken erlaubt die Funktion A. Der Befehl »A $5000«
bewirkt die Ausgabe von »>5000:« auf dem Bildschirm,
wobei der Cursor hinter dem Doppelpunkt positioniert ist.
Jetzt können bis zu acht Hexadezimalwerte eingegeben wer¬
den. Mit RETURN erfolgt die Übergabe der kompletten Zeile
in den RAM-Speicher, und die nächste Anfangsadresse wird
ausgegeben. Mit BREAK verläßt man diesen Modus wieder.
Ähnlich arbeitet Funktion E. Zusätzlich werden hier die
ASCII-Werte ausgegeben. Mit RETU RN ist eine Zeile dann im
Speicher.
Der Disassembler
Zum Disassemblieren stehen »Happy-Mon« zwei verschie¬
dene Modi zur Verfügung. Den ersten Modus ruft der Befehl
»D Adresse(,N}« auf. Hier erfolgt die Ausgabe in mnernoni-
scher Rsrm und in der Reihenfolge: Adresse, Hexcode und
96
Befehl
Erkl^ung
Mon Ktorf urtktlonen
<hexnum: h1 bishS
Editieren im Speicher
L Anfangsadresse {,N)
Hex- und ASCiFDump
2 Afifangsadresse
Hexdump
A Antangsadresse
Automatische
Adressenausgabe
E Anfangsadresse
Automatische
Adressen- und Oumpausgabe
Disessembler
D Anf^gsadresse (*N)
Disassemblieren
U Anfangsadresse (,N)
Erzeugen eines vom
Assembler verstandenen Formats
Speicherzugriffe
M Anfangsadresse,
Neuanfang, Anzaht
Verschieben eines
Speicherblocks
P Adresse^ Byte
Single Byte POKE
V Adresse, Word
2 Byte-POKE (Low/High)
F Anfangsadresse^
Anzahl, Byte
Füllen eines Speicherbereichs
T Antangsadresse,
"String'
Setzt einen String im ASCII-
Fbrmat ein
Suchen im Speicher
HB Anfangsadresse,
Byte {,N)
Sucht ein Byte
HW Anfangsadresse,
Word {,N)
Sucht einen 2-Byte-Wert
fLow/High)
Ein- und Ausgabe
0 #Filespeziffkatlon
setzt beziehungsweise ändert
den zweiten Ausgabekanal
N
böscht den zweiten Ausgabe kanaJ
R Sektornummer,
Bufferanfang
Liest einen Sektor
von Diskette
W Sektomumnrier,
Bufferanfang
Schreibt eif>en Sektor
auf Diskette
Hexadezi rnat-DezimaFWandl u ng
? Dezimatwert
Wandelt eine Dezimalzahl
in eine Hexadezimalzahl um
? $ Hexadezimalzahl
Wandelt eine Hejtadezimalzahl
in eine Dezimalzahl um
»Happy-Moit« verlassen
X
Rückkehr zum DOS
Q
Rückkehr zum Modul
(falls vorhanden)
Verschiedenes
G Adresse
Fühlt eine Maschmenspiache-
Unterroutine aus
K
Umschaltung zwischen norrr^ater
und invertferter Darstellung
* Wert
Setzt den Programm-Zahler
4- Wert
Setzt die Variable
Befehlsübersicht von »Happy-Mon«
Mnemonic. Die Zeilen beginnen mit dem > -Zeichen, so daß
sich die Hexadezimalwerte wieder editieren lassen.
Der zweite Disassembler-Modus wird mit »U Adresse{,N)«
aufgerufen. In diesem Modus werden zu den mnemonischen
Codes keine Adressen und Hexcodes, sondern Zeilennum¬
mern ausgegeben. Den erzeugten Code kann man dann mit
einem Assembler, wie beispielsweise MAC/65, überneh¬
men. Bytes, die sich nicht disassemblieren lassen, werden
Fehlermeldung
Erklärting
1
Falscher Hexadezimal-Wert
2
Fischer Dezimal-Wert
3
Byte/Zeropage erwartet
4
Angegebene Anfangsadresse
oder erreichte Arbeitsadresse
liegt im ^gefährlichen« Bereich von
$0410 bis $D7FF
5
Falls bei der Eingabe einer
besUmmten Anzahl eine Null ein¬
gegeben wird, tritt diese Fehler¬
meldung auf
6
Unbekannter Befehl
7
Fehlerhafte Syntax in einer
Hexadezimal'Zeile
8
Tritt nicht auf
9
Falscher Paiametertyp
128-255
Betriebssystem- Fehler
Oie Fehlermeldungen von
»Happy-Mon«
PROGRAMM-STECKBRIEF
Programmname
Happy-Monitor
Programmtyp
Utility
P rogrammiersprache
Maschinensprache
Programm länge
6407 Byte j
für Computer
600 XL/800 XLiI 30 XE
zusätzJiche Hardware
Diskettenlaufwerk
Eingabehilfe
AMPEL
Bemerkung
Die abgedruckte Version läuft mit
DOS 2.0 oder DOS 2.5. Für DOS-XL-
Besitzer ist eine zweite Version auf der
Leserservice-Diskette vorhanden
üesersefvice
Diskette
(MONlTOR-COM/MONfTORI .COM)
als ».BYTE« dargestellt. Beachten Sie im Zusammenhang mit
der U-Funktion auch den O-Befehl.
Spezielle Speicherzugriffe
Befehl
iM Anfangsadresse, Neuanfangs-
acJresse, Anzahl«
>P Adresse, Byte«
»V Adresse, Word«
»F Adresse, Anzahl* Byte«
s>T Adresse, '"String"'«
Erklärung
bewegt einen Speicherblock
Einzelbyte- POKE
Doppeibyte-POKE im Low/High-
Fbrmat
Füllen eines Speicherbereiches
Speichert ab Adresse ^Adresse«
einen String im ASCII-Format ab
Suchfunktion
»Happy-Mon« ermöglicht es, den RAM-Speicher nach
Einzel- oder Doppelbyte zu durchsuchen. Um ein einzelnes
Byte zu finden, geben Sie folgenden Befehl ein: »HB An¬
fangsadresse, Byte {,N)«. Nun beginnt ab Adresse »Anfangs¬
adresse« die Suche nach dem eingegebenen Byte und
gegebenenfalls wird die zugehörige Adresse im editierfähi¬
gen Format ausgegeben. Entsprechend verfährt der Befehl
»HW Anfangsadresse, Word {,N)« beim Durchsuchen des
RAM-Speichers nach einem Doppelbyte.
Ein- und Ausgabe
Alle auf dem Bildschirm ausgegebenen Texte lassen sich
auch auf einem Drucker wiedergeben. Ern zweiter Ausgabe¬
kanal öffnet sich mit »O # Filespezifikation«, wobei Kanal
Nummer 2 verwendet wird. Mit dem Befehl »N« kann man den
Kanal wieder schließen. Als zweiten Ausgabekanal sollte man
niemals den Editor oder den Bildschirm anwählen.
StfchWMt
Sdiaffen Sie sich ein
inteiessanles Nodischlagewerk und
glekhxeitig ein wertvolles Aidihr!
Keimen Sie alle »Happy Coinpnterw-Ausgaben von 1985? Suchen Sie einen ganz bestimmten
Testbericht? Oder haben Sie einen Teil eines interessanten Kurses versäumt? Suchen Sie nach
einer speziellen Anwendung?
Damit Sie jetzt fehlende Hefte mit »Ihrem« Axtiloel itachbesteBen Icönnen, finden Sie auf diesen
Seiten eine Zusrnmnenst^img aller wesentüchen Artikel der Ausgaben 01 bis 06 und 08 bis
12/85.
Und so kommen Sie schnell an die noch lieferbaren Ausgaben; Prüfen Sie, welche Ausgabe in
Ihrer Sammlung noch fehlt, oder welches Theirta Sie interessiert. Tragen Sie die Nummer
dieser Ausgabe und das Erscheinungsjahr (z.B. 3/85) auf dem Bestellabschnitt der hier
eingehefteten Besteli-Zahlkarte ein. Die ausgefüBte Zahlkarte einfach heiaustrennen und
Rechnungsbetrag beim nächsten Postamt einzahlen. Ihre Bestellung wird nach Zahlimgs-
eingang umgehend zur Anlieferung gebracht.
CoKipmtier
DfÜ
SoTlwaie
Di^äeer
Höpiiy
E^w^ticiunO
MSI
El
Musik
— eul TtadjncörtJpUlöT wild WirHichkftrt
A.tan: ggfosiioi
& 0 r aPlus/ifc ia imdUfiB da.
Gnwlxiciui aeam IfLnie bid ioftiri Ewvit)« FC
lECoijnoanipiiijeQrt MvskolscihiWiidd auT, Maikt
ÄStttsilldeoppüar Wr C 6^1
Aßcom-Kopiiteir Jpcs auch for Auri
Eie AxucMilQ uiusr dneoDC i^iunmieK {MaolCbM lluruiumi:}
Mailtcs^^^^[I»b in dm USA
Neüfci D'FtJ-Ptognnnii för d*ii Specmun
NiülwodOTi ewn Aubtecfcea
AlBivSciuuiJtwr jccA ^ ST
Scf&wvQ laäl äLOl NuUUnf
Täipni:: ftrUdeB WBlur ^plyiiQidiea>'ltaiinä(t«n AUS
Wordsur lOir 19^ Mad;
Mac mkBT, 4« BDVSim SrUCksr
Ci>iArtifidio[ie-Floppy u/ oätracbt
DuücHRdnUutWuri: HU dfiQ Shüp
Oims, ^'KvaÜQi ESe dioa S)p*ctiuni
OuiÄrJc Disk — Di* Floppy-ÄUgmali« [HSJO
MinKlüpaiisiaA-BflM ftir TI 9S/4A
D«s MiiäiVnyiUiider CX-S}
TJoi BiULo^MSI Yoai Ptiflrpi 1 h5c^^
CP/M IBül WSI-Compirtix; sfl flpcivfs
Ein IroiiipLottw Sysirai vaa. EMlipe:
Flotte! Coldswpnd CanOdO
ME3:-Mia[
Tflswond tUrMSI
Mit dont T^e^pich aruf Ei&ilpkii»
B^ohvE füi *Ki. C 64
BAptm juf DrÜ
BOciiiW zum (SO
CiKn^fHKK^Meseo sa^h Win v<c!£ nqgioftel
Dit nhuastan HoitePPmpiWM-fWlateE-CE^
FuhkatidsloQum? in znnk; ME£
HacSmor, Krimis und SiiioM ‘(SomiinrdS ISBS — Tibü 25
Hotor-ttoniE imd CCffltBmtSI'Sdhnu
l&inirf dar Eö3üfis& (TThitepCES — Tail Ü
SjmcnorCESi l®Si W«icho Wellt ia Chlcaflo — TVsl 1,
Sofiwant-Jtckiwt (WimtE CE3 — Toil ä>
So&wal«-5üp61t^SlHiW in landOitlüPCW'Stww)
Eün£ai(4»t liv:oUi9ÖiEz in Wiesbaden (Ai Eoxnpt^
Mnsikmiasse PtwlrfiiK; Meü maiedutit
B/16
14/11
IZfZ
13/1«
11/6
H/l«
a /1
ZUfB
isa/a
sayio
23/10
iz/i
M/12
10 /1
9/12
5/9
I2/J3
9/1
13/1
10/6
BD/4
11/1
1-11/2
50/1
141/2
19/B
23/5
4S/3
13/6
13/10
71/9
lll/ä
lS(t/9
130/10
12/11
13/13
32/5
XatsOYCewi
David Crant (ChosÜHiaeis JU,tgf) 17/5
David S^Ldtd Dar CiHiÜC“C5ftßmcia!(ni 11/9
luttivitw mü den Sbap4-MaCMni M/S
^Ck Tranuel (jCbaKFwn Aäxp 11/9
Eät MSslü fUipo-KräsiiStDi MlcHJsofii 12«/J
DrackHT Eew,iJ6t mbnnt (tuToprint K 6311FT5 31 /S
Tejctvenat.
Scftwnn>-T«a
Ein Tempnjoranim, das -ätk leimt (Jk'n'^werd/C 64)
JäAC kmtFa Appinwoiks
Dum DmcknE im, Test (SKt &0, Cemiiü SOX, C!P-6«J0
(Nftchhall mif Sei» 140 in 4/195> DWX SK; EchSfisclidft
zvn NiediiOOXfäis
Eiim lielße Voibmrfung (EP 3Z, EP 44, DEDIIJ)
Eriinpaln nud leis^i Mntrixdiuckor CLP(CvniieiuCs)
fi»3anlKi!jcnSiii>en — Wie seOniffk^ (Qkiiiiaie 2D>
SebAa ndorstjüieiKHoräjffl HIMft
9aliri& miiscluvdlqn Kadolzin/eugieichstostSi»:
SEMO. I^ad Gi-^SO. F«nawni^ EX-IO^D
gptttfnm mi* Btedren (Gaidalo SOOS5
ZwtdDraciffii {UTdon&»ü»idi«f(KLO 4öl, CP 500 CPC5
Auiä 930 STi KoiSnz llii ndi 32 Bit
ChkBW« tl# britiseäiaiB Pafi CTritdin Bfl
Cbuipnut deordnttefi and C 196
De! MdtiJe M&jefllO (Tamnlu. d-nSi}
DtKlfeuo: ConunadrSüä PC 129
Den h-aaue« S^ettom
Ein ^Elnatai^r' Taiwan ©IT-SO)
EBteäfpdBa ist tot — hjecJilabö dorMoptiisto^pKCEi)
JeipM ^ Scfepqülqö Einfloag in die Welt [fer PCs
C^tnrtegDKV'ipkg im Sejmebkonrtempo (QL di. VamoiO
Koroamix luil DeutSolv'Ty^ (Ce-Te£/MSXi
Schnoidaeiä uat» DtirenxioD [CPC 6l3fii>
Shaip* lDiifla!eT (Shi^ MZ-EC^
S^peenum ^tu oäetrSptcQumTnini»
SVT-X'PlSss — einaliai*j63 3iack9Vtt iiiiGdH(M£30
TO7/30 und MOSE - Erna Cqmpatar. aifi EChMpt
Viel Cennpu»! Cttf wBoiff Gtlä (SciuuBdM CPÜ &S45
TfC-M: f ätBfieillCber Bwdonjuuin (HSX Contptltffit)
Wä£ nrt wer? (Atari 560 ST* und 280 ST5
W» muaüolnrili et mein »jeiiecDinKfutm^
9 MSX Computer im VajflIöMai
3-Erfl-ErfalminflpeB(MClM-FlopFy Hlr SpöfliraiiCi
(Discavery/SpccmiiB)
Ein omiaiclies Paai (Spflcsnim — VIC IS41 iTsteicfa™)
loiiE FlCiiiip7, lauf (S^FoodDos p1iib/C64>
ItraBWWtW Speefr um IToppyHTStem C'/=™mt
Sfwctiuint Didi:aii£uiS)f£teivi in Plii«-UH3k;
VC !341 wird Hü! HeHBfloppT
Dm Spactmiü Stenihter [Ciatww=cnrian SpenJ)
dl MUtfar Speidw fOr aUn (Rtcerdar MC 3310>
DFÖ aiiicli rait dfixn. TI (P? &32 fO! tT 6S/4A1
SommuniJsirion mit desti Sieeetnani
SpaitaiÜsck bI™ gnlCAD<™n AktlSikirjppJär)
Conqmter mneii MndMetBeribaiJrin
Dw »nderB Weg' CSpsctniiti “pKrtitiit)
fliiEinatSoB der Teeturik (Fische! Itechnik Hobütei)
Fbuwst PeemeC EUr der ^4 (Jeanei Bl)
FlaoliliiWarfiinB mit EsbwSc^ten (ICD foi Apiris üc)
Ci3it«il Snpeisgieiärfik ftur dcoi :^pe«!tua
Kal»tdanDaeb(AJ;ü;mQTdii^ niTC64, VC 20)
Ohrtn eder Tiste-n? (Veica Cowimand MudnJ/C 64)
Paiipliezte für MHZ (EkMer^ SJ^-ZeU-Plüppy)
(Jay^ticlci im VeisoJeichsteat)
KdbcKEi'. TtduwJogiedffi ZuloünftfFischeriechiitlt)
Smker Ami für Paimcämpiii«( (Teöch RalwO
Taliftläienjden fta CraEk/ScBimeto (Ateii Madmleö
Vom Hflptwti mm Minl-On:l»aBr (Hpecii-ünÄ Sound)
77/4
143/9
)6/l
26/5
24/1
154/10
31/3
137/9
126/11
112^18
2i>/6
23/2
23/9
28/4
46/5
31/1
16/2
25/6
24/!1
380/11
lB/5
Ä1/1«
»/I
24/4
L28a^
133/0
lU/a
20/2
16/12
149/11
134/9
22/1
21/4
«/12
21/9
25/3
42/4
Z8/1
30/5
25/5
32/4
IS2/2
17e/ll
19/3
44/11
M/l2
137/9
16/3
2«/l
40/10
S5/1
15/4
38/4
14/1/
13/2
Se*wM*-Tert
Ein Texfprpgianim, das eich lotuu (Heoriawerd/C 64}
Jnno Eontra ApSilöWOfte
Jedari sema Ztinaig (The NmarööStO
Schraiban rfut Setunoöd^ (Vaigleichsteaf)
Schtfribaa ohne Flnwt
Seü! Teraer. die 3-Sta!BB-T«rmHiJ*oitiuig (CPC 4fi4)
textverarbwttmg tttr Jedennann (HaiMywüiar fm
FoeiecliDtt rflcfcwüite (CP/M-Kl Emulatef für S2fl ST>
HiBoft-Pssesd jatt MkmSdiSve-kBTIipaCiliol (HpaCECUm}
Logo für dan Anü 330 HT
Mbwriinnau^finfLhe bt heino Saabd»! (CPC 464)
Porsosial-BaBK für den Aten^O ST
EmzaiSöie-Watt -von tmugon; c 64 aimuEwt 6ÖtW
SptdtielJee Sp»le-Baäc für den Speotrum
Wetrti'es Bmw Si cueinan M2-70W
Woü im Sdiaf^Li (HtMtfliiia Simtdai™ fflx c 64>
ZwOlf Firbcri in Mode 2 (Colw Stu fiii GPC 164)
DdskHnan-DolcIcif fttrdotiC lafl
Oniclösave itir Spwtnnn
SK-Eit — Das Gi! LelKIting und Mnidcr (C 64)
SottNure-^tackvai daswiBcbengeplnsnht (Apple n)
Appte-CmiEk mit and fein (JJwidö Dmw)
Beeindniricaiii (Pnnt aisp — Pradcpmoaamrfl)
Dis Mjnia feriniGd fall» wof dm Mdaenkm (Apple)
Grafik oxandiu (Malproyrninni Blazing Faddlos)
IiMia Bildei zum AnSüj ■ - ■
DFV
Viel Ondik nix WHiig Cold (Conphun: BoBäc tuld Supergta-Gk
S4 Hl C 64 ins V«ol«cl!i)
Vofühdit SCumisnl (Takp 1. Trinklilni Desigruu}
Applo n auwiHt Anschlufi
Consaef 64 — iBt Saftwaie Euin A«5tmi-EoppJer
Spoctmin larDmil (DFÖ' Venjlwcibyteal)
Lemon
Mn^
Schach
Muppem an Bord CWsLcoona Aboan)
Man bCcce und. staune (5ghi ,5. Secuid Softw^utn/C 64>
Scliach dem Commtidjo)» (Scbajchpjravmnnrc im Vüroksich)
SdiactiTOatT per TaioCoB
77/4
I15/&
IIO/S
m/6
46/2
43/9
137/]
IB/1
144/6
33/3
130/11
66/2
134/11
28/1:1
107/8
37/9
42/]«
143/E
49/2
]M/5
iio/a
SJ/5
42/12
137/4
133/1
S7/3
132/6
50/2
SB/Z
29/3
57/2
146/5
49/a
44/2.
128/8
164/0
143/5
194/3
34/3
156/30
17/6
54/6
5S/B
156/10
AJUladc: Lund
A ViewtpnEn
BaUhkirai
Wade DrElaCkp«;!
Don'i buy tlus
DwHBdwk's Eavanche
Dgrndon
DiagiQaisdEn
Dn^ioaiwarld
Emdkii
FaJnaiüiffiit 451
Frrtnü-SädjO F-OötM
FermulaOne
XniQOnljare
Maclteüi
MaaCedar
Mask oftbc Hun
Ma^ nf tbä 3isn
MbtcfiDa-y
Mt Do
Midc FaJda plaja il» Opan
Ni>3es elTaefid
Qn Ceniri Tennis
Fimüua
OL-ChsM
145/5
145/S
1Z8/2
144/5
148/1
169/10
107/30
146/9
125/2
138/9
lSO/6
124/2
144/1
1S3/6
llS/1
116/4
168/12
MS/5
142/3
334/2
149/5
146/g
150/9
145/1
164/10
144/4
145/5
106/10
E40/8
166/10
162/1«
14S/4
143/6
169/]1
ia/3
130/11
168/13
118/8
t50/6
163/12
140/5
149/3
M3/3
MS/9
146/4
163/12
143/3
144/1
145/6
129.«
145/0
130/5
11T/S
167/E«
168/1«
189/31
369/ä2
36a/]3
IM/S
149/S
151/6
16/6
143/5
les/io
14«/8
168/11
139/8
121/2
117/1
M2/4
15!/9
149/9
Sndele-T«»
äap 2hüt
5£i&waxe Stai
5p«hii^er
Htxnding Snnes
5T»:ion
SiuBKierCaiMiB n
Su|i>ar Pipeline n
The AnewfflU Axt «E Wai
The Dallas Quest
Tlie Date Eust«
The Fawrfb Pretöcol
Tt» Hitehiukai/is Gaile to tho Cnknj
The Hitehhikai/a Gnids to Ute Galaxr
Tholi^baf
Tae liinJo Ctrarpmai People Prajatt
Tlve Oflill
The W*7 c>4 titplodina Fist
To«ideFiai*t*
Wlicira in Tha )V ouid in Ootewn San EHiega
Wtrüalö'iHrother
WhüE Idphralna
Winter Ganwa
Wgikl GhAnpioieMp Bwäng
Zyphni
151/9
1B5/1J
142/9
14S/4
151/9
181«
141/&
149/0
147/9
tSO/5
185/11
i3B/4
143/9
146/9
ITO/ia
143/6
169/10
130/11
165/11
111/5
148/1
164/12
170/12
lSZ/6
141/3
Spiela Tipa
Äbemoe« km Weltraum
ÄlieuB
Antasdn
Aai^'ltUU
Aflatmia
Atfdc GhaHetige
AnocTctteb
AnecTeot»!}
Aitot Teini
Boüdhll6ä.d
Itada nf Blackpool
Ca^ orTamn
Cavfiine et EhuOra
Cdüeal Mass
DaOae Otieet
Dajtk Ci^TBtal
Daaüi in die Ceiibboan
Daadi in die Cadbbeau
Dfiäth in ti» Cfliitl»UB
Doomdüie^ Bevenge
Eureka
Djafyane'a a Wall;
PMWddlen Ffflcwt
Pßofeat at Wortd's Eod
f oreat at W □rid')i End
Fred
Chwüniitoira
Chaitliuiwira
Ghäatbnatera:
Gredf: nt Space
Hänipslead
Hmob eJEwen
HeiM ofEam
üeKwdril'rilH:
Hobtiit
}IiiU:
Himeib Back
Jet Set Willy
Jawela cf BalJTlon
lCnidütlx?rD
Lode Einmal
LodaRunnar
MaaieftbeSun
Maequeiade
Heasage fram AndretuMa
Mindsi^dew
Miner 2(Ml0ar
Pirata AdvtHIllia
]^tf4U
PirBiUn
F^DOn
Oueflt tor Tkoe
EabieWnJf
Sands ofRlsTP«
Sands ofEgypt
SdMoA das Gbrauesa
Stscrat Mission
Ship df Dooiu
SflKtefer et OaynKnpn» Caaüa
Speluniter
Strip Pokor
Sfljrümni Goinas
Sommer Gainea
Sopor Hna;
71ieDallafiQne?t
71» Hrtctihikeri's Cotda u tha Galaxy
Tlie Inatitwto
The Inafiftita
TTieOei«:
Dk Wiaa^
Tüua Maschine
DuBseyivunien
todinan
intijw n
(Rriinnin
Dljrases
VaJhaJla
WTüHtar's fitodief
2oric
152/S
151/9
173/lD
153/6
158/9
147/4
117/4
163/6
173/IQ
8S/1
154/9
1S6/9
153/6
15S/3
164/9
154/^
112«
158/9
172/13
142/8
154/9
173/10
165/9
lS3v^
15479
lS4/a
110/5
117/4
152/5
153/6
iTs/ia
156/9
J73/I2
ira/is
14ß/3
lö/»
35/1
154/6
154/9
173/12
154/6
174/11
174/13
173/11
141/8
1&1/9
171/11
147/4
128/2
147/4
!14ffl
174/[Q
154/6
85/!
173/11
171/12
152/3
173/11
132/12
1S5/9
144/8
152/5
114/S
132/10
171/10
174/10
153/9
172/3«
17S/32
173/11
148/3
m/ii
156/9
12)6/Ä
ISl/S
161/5
156/9
173/11
114/B
ISB/5
142/S
172/1«
Alia Waiifte (JahreeMsweat^wg-Ejacidln/C 64)
(AjdE-eBvacwaliung/C 94} Seseetee ^ox aön^h Soft-
™aBaaicajO/C64}
Datanbäulc mit frewm EnpriH (C 54)
D« Haüeywbo Znmei künmi (HE)0
EKffl Specttuin am Tidrfön (JiiSJC/Speönuq)
Die MjuirTnitvasactaUung (Spectrunö
J/actüulL aul Saite 180 in. 9/^
Tk^-yyMsaelf^Daienveiwtdttirig (MainEla n/C 6l)
Ehnhlici! iiw Iniwndofcaai (Dimaanibteoi/'CPC 461)
Eine tolle Textvemtaitaii/d Aü deit Sdrueider (464}
Hachheiü aufSeieBS inS/sS
Funfctiqncn eptlBch, inÄMceitet {VZ’ÄM/LaBat)
CamgaJta Ebaanion mit dom Cpnunädtae 84
Hsppyaytuh, der Ttenm jades Muükara (E^iLM./C 64)
Naäibail auf Seite 113 in B/BS
Marae-Decodecr Hi runkamsteure (Spectivun}
Nt^nkiyngnalmadliaiimg (C 64}
Nachhall Mi'Seite so in iZ/B5 Dptilt mit Siineiu lisic (C 61)
Prognimir^ m Bmh' und CMiöd (C 61)
Suehnjii., naon danke dJaleiyerwilttcnff/CPC 464)
ITaiihhall and Sei» 117 in 0/06
'Ocanaistör-ScbalttnngKHi baiatinen (L.d.'Mu/Spectrriii«
Tuit»-B*5ic'IntertMÄta(r Ml Alaii S00JtlU(E,dJA)
Apple Nc-HiSas'^lKalUc aul den Dracicer
Belegte Mdar anl den C 84
Bewepte OtnCb mii diai Batehlen (CFG 484)
Bewogmup: •vxMn aKdie nun Zeicbönnicfc £C 64}
F^itbspiBteraian (Atuj)
Grafikautfemina tUr MauUilrrirJri:! i[^^aanLRi)
<SruEk-Window boJwteiut Nadhwüchs (C 6-6
Nachhall anJ Seite SO in 12/35
Grnfiacho lEmpra^vueoan (C El)
CrnSkTnnlior (A'FSil* O)
Riias Faastsay (C E4}
RaoonaiirGhaClE lar den S^poctrum
Schnelle CiafiJr wnn dom Ctutrpfla! S4>
Sctuieüe Sptrites an r ollen AppLa-Cemputecn
Schifte sdhotille Gnlbc (Ciafik-Fstkei/C S4>
Eefar-Poinrar (SpectniirO
B^piitB-Ealior(S: 64}
SprlWÄ dieben ganz adntejcfi (C 64}
Sprites per SpöwaiB (CPC 484}
l/oiri Bild mm Hpfi»(C64}
Z»ijd™ dai mben mit Mairie Phinteir ^.W/Atsao
Naahholl auf Sade 89 in 5/88
Eauhaiteien auf dem Bihdü^hinn (lld-H./GraAk/CPC 484>
ZaieheHTMinne fttr Kwise imd Empa* (CK 46*)
2rklodde ftbr Gmfihai and MhThernatiker (C 54)
htajchhell (Lid Saita 73 in i2/S5
24 Faibcfi in Qralilc 0 thr Amd
TE/IÜ
80/9
74/8
53/3
i3/5
BO/3
07/4
117/11
83/10
63/3
62/18
03/4
51/1
ei/12
lÖS/ll
48/9
74/10
66/9
S9/3
186/12
86/10
73/6
7S/2
5S/3
89/3
*9/ff
55/9
90/2
101/12
Elfi
68/9
71/B
£6/9
83/8
Sfl/4
90/5
80/10
Das Hteis des MiöteiB (C 64) S5/4
Danbar. datf YolfuefteT J4/C 64} 62/5
NecMuhaitir Seite 117 m 9/65
Dm laaende IbkliK (C B*} 7B/3
DiaxEMiKonCabor (L.d^/Amid 48 l^Tte) S6/Z
Nachtwü Ml Soaa E5 Ja S/6S
Die AJbentevai Dia»! naendeu Eepurtere (Kepoft/C 81) 60/ 1
CgrfJIUteirnar (ALaici) 79/6
GnspomEta^aod iod Schneider {CPC 4SI) 74/2
Hbchhall auf Seite £S in S/85
Haho^juc i^ectiuiQ} 83/S
LomheiOack Lury? Abenteuar in Boigdad i:S.d.M/C 64) 52/12
Kalte Zeiten (Wjpfry Sernnn/C 81) " fia/2
Kneipe Mm hastioen Kanne! (VC 0«) ea/1
Müdem Ast4*auldie TrBiMrtMt (Akt™ ApMiäfi} 100/4
ISPO
Musik
^ul AlsnchD
Mit Wowi^xrt ins aohfl»!
MOclei^ mit T^nk» (C B4)
MiaakaMiiib«^ LallVlillltll <C
Wachhill airfSwit* l ]7 in S/8B
MotHuakv^C^}
Nachüllig (5p4CSUin)
Nauhhall aii£ Saito 9^ in S/Q? TJ-« m.-i , Twt^.irf (<; ^
PolcexOc« DQi 16 ES^h ^^iphCOUm}
PsT^cttc — d» Macäit de« Cdinas^ €41
Nachhall ^ Seite SO in IS/ää
Henxdiihnf imt deh^ )c?5tk^ <Dnv<er/C S4>
Ilcftlcl dun Ictdca J^iun (Lnsckt dc^onsp/C G4)
SAM ^ dci idor EoiisliiDc (^[UL/CP<;; 464)
Nnchhaltiul Seite 79 tn 12/95
SduiätOMe CÄThü fiOHHJ
Voodehr Hochwasser CAi(iu&iHQC/LdJd./C 04>
X>b«r dcfi WdJwv ^^cpIwoiiis/C 64>
WDi1ai£±spnl {S^pmÄuco)
AMPEL — Tiäniia liChl AL AbrUUaa chii
Fj-htrAihihr g4)
Aiof TTajp QälHSiiddi CCFC 454)
Autoetazf AK Attesi
&kSK bequem <C €4)
BalicCträlpecior
KfiClÜuOJ BuTSedle »in IZ/BS
£4flic-Plti£ Afvtesen-Eisic-Crwäitemiijjr (Apfilc n)
Seim C €4 piepst es
Küdaic rfaSnia l«QU«rdAimi<tCPC 464)
SdldschsTmtiKk IBr den ConuNxliore 54
ByiO'Shüteor (Slpectnini^
Chain Meryp endlich ImtCEUnq (CFC 4$4)
Dala-Genniartixr Apple n
Duftlen hm- und bwQwhbHn (Aad-IBIM)
tor neuQ Chectemninier isi da CC ^
XKq: neue Ctiecteummeir ist da (C €40
Ihir iMMHH ChiKAmcocuc {C €4}
Dftiitetlifl Scndfliwichfln upter CP/M <C3PC 464)
1310 MaltnfCl wird xin Mecv ^tUlO
TH^Snffrm ^BipD {C 64)
KBChMH aurseiu 4S in 1 I/SS
I»lslc-Help mit diä sdluteUe Hüfe (Aiuj)
Di^ nnd DO&lMily All alle Ai^nComputBr
Ein langns t^asichl filr C 6* {ücnawaeen 64)
FchlcihiliA mü HEIf A TKACS (yc ^
Penslczlkfin^eE'fC 64)
FcUsciirifE üb dien 4G OiylwSpoctiTLin
find lAbä] <SiPceBtum>
Retie Pmnualeh in. Hi«n Pascal 4^pöcmir<i
Ftankitkiiratas. mit bei. landaci Baiehlsfclcieh iCfO 464)
Fnihnll-Manugei ftt Cenumd«« €4
GroEk-KüidCripy m iiicifedlwx OÄSc PC 6^
ZOAICCldae ^paiduncrwcitecnnip i(C 6^
lisiah MeiK gen^Chi (C 64)
Make DATA Klit den Speerämt
Maxhinencode-Rosänen in Bssde nmaeeetiz <CPC 464)
KicipdxiTO'AulwertnBffCSIpecaiiirt
NaChlUlfCnfSniteT^iii 13/66
MociTlaYwUtey (C
KubUc und ftebe (C 64)
Neue TdeksAlrMS:
Wie mehr liistiiiaikuEiimei mit dem ChedosumnerpC 64)
Nie mehr lastingkununer mit dem CheckBumnerpC 640
Pe^teimdPöfcw WrsJfeAtm Computer
Pdina Weiianuy Sir den. Prcvamnuerci (C 64)
PwsmCLmasnalBr leichl genruClit pc^
PiopcilkmelsdlitQa (Br deu SpaCDum
Protokiai] auf dem Dniciker pCPC 464)
RAMDid[fIirAtui»OXL
Ihm an den DsmpcctPC €40
IhmmTij3ei€4<C€4)
KachhaU n^d Seite 117 in 8/S6
SdCk n» Amadena PC 64)
fiSP-BeleHl« en» tSdhceidBi)
Scliilidemald (Plolauchdlt/C 64)
SchhiBmitder Eintenit^eir (C €^
NaehhrJtMlSeite» in IS/SS
Stedenwqdche Bildschinrnrafechiebirny pCPC 4€4)
Sjpoctrums COPT bcaaor TiHtSSn
Specteuotuun nhe fbnkhcnen belegt p^pectmnO
Spoctmm Tipe A Triple
StCuOChkCft fOtf CaanEnCddtD-Batei: ^ 64)
Super-Menge (Br Cdmnodi«» 64
Nachhall eul Seite 166 ln 6/9S
SupenCrwpC €40
aatexzuSc mft TJbn; PAUffi)
Taxwoid-ainlaiite ^pechmn)
TOrWCid 464 mil DIW-TastahirpCPC 464)
texte BUCH un Cmiilanadiu {Arad)
Tippen mit den Pteuer PC 64)
Tli» A tud» lund um den SChndidci:
Täne au# dem Aieid
VHHUcndnmp für AiCaii pfttsni)
VwübJcn-TVtetJifeff PSpeettotn)
VccOikler IcasChnb (C €4)
Nachhalt anl Saite SO in 12/55
W» die Bilder lauten leeauecpAiiai^
Zwei SC[liSN$ in oChnellah Wedhoel fSpecdum)
I-Vütity; Nü^iche# ftlr AuärteiyerpC €4)
30 teile MavchineneDde-Rentiiien pSpectrum)
bCeu auf de? ecluiellen Scheibe
Floppy yoqen Zaeaette
Selhvt geechiaubt 45l halb qeapod
Sei arbeitet daa IDSD-^nfworlt; vcir Atari
So hast und achwibt die 1Ä(1
SpeiCbemiediain EndlCxband
Tics, inclä nml TodsflAden
WdHih in ZulnmB mrt Biia und Bytes
Fanbmeiiitoce — buntes Fenster zum Computer
Mcnitef«: BKbtiy yvploivt, gokateft und goncssen
ScMüe Nadel.. #pnze ttpeoa {MhtiK und Typemad)
Auf einen Bück: lnoge-'^fehle
Sefehioorwieitecung tOr R5X PCPC 464)
CP/HI Ein Aohäcbcryatem
r Vim,^nr jfi jttn rni-nTie- auf dcm 53Q ST
I^a-Spielerei eder rnfnoOianü AUemacivü
“ ■ - MaaeftiistaiafffiatHt ' “
iHa aas DTO
Beedicven — Bit lüi Bit
l[3sr We? Qum Eabelcrchwter
pjey^äet Maus tmd Udlktegdl) CtaEk auf dem Tablen
serviert (CiaiQol^ibletts)
Wie seg ich"* meinem Compnlar pj^stnhmn)
Da# Irtecäce 1 ROM und eeine Nubung
Der Cdmmodore €4 kann einbeh aUee
Der l&or und nein RAM
Ein gioBes Abenteuer: Advenhrre
Meseen + Steuern ^ Regeln
MSK — Der Standard unter der Lupe
" 01 — was xiod dos eägenllöch
Sftinte und 'Kjiäle p .
Von ^enm mrEi HjedmeomputerpfBÖO!) Proreseer)
Wciclte Hacdcopy pScHneidar)
Wetehw Cgfaputer spioIiT am basHsi?
la Äi 3 " TFi^Hf^Kfirt^ n Twirf Wib^H trf Ti htTi W irt it rfii
SlKSiaSIt:
6S/fl
63/6
3t)/l
K)/6
36/6
73/1
23/3
26/5
64/B
Jl/4
23/3
103/11
75/1
64/10
23/11
HM/3
104/13
70/9
73/12
se/B
S5/2
3B/J3
36/3
26/11
37/4
26/11
Sl/5
0l/€
67/9
34/4
54/10
69/11
67/12
69/12
38/4
69/9
71/B
27/10
93/6
73/11
95/1
Jl/S/
38/5
BS/3
23/9
gft/ft
61/8
67/10
67/6
&4/1
1D2/3
7S/1D
m/u
B6/a
69/12
Bl/e
B4/2
Bl/4
93/6
66/8
23/10
B4/5
76/5
113/11
22/11
79/5
66/11
73/12
65/10
75/11
23/B
83/10
93/1
106/12
»/I
54/5
67/10
96/1
SJ/6
23/10
B2/5
94/1
7T/E
96/5
«3/3
1S3/1I
ö/)0
66/10
88/2
7B/3
23/B
61/11
96/3
26^
39/8
38/8
39/9
35^
34/9
28/8
41/8
24/S
127/5
133/5
147/10
139/10
135/10
128/10
145/10
132/3
34/10
S4/S
132/12
110/1
34/11
151/3
144/11
162/11
1G7/1I
41/6
43/9
isa/4
69/4
48/12
E3S/3
146/1]
131/9
36/4
32/5
I3G/6
20/11
74/12
153/12
80/5
51/6
Dar Cknnfiuter —■ Eäu mödciitär TtiCbHff?
Eeme Acosc vor DPP)
Bite auf Abwegen
Das DcuntefJoniJ llftr Hjpinwciii^suter
DurC€4iinC139
Ein tOurris Vorgnügen pDFQ'^Cäcn)
Ecany Mino: Welhatunapäs nil Ct3cupCIergta6k
Ujpihr als ein Cbrnputet pDte Ccnunpddrp Stery)
M^: neuer Otandaid ^ neue Quncen
MSK^hwMo: J& gebt vi«art
Eaupfccpinidr gogem den Best der OFdli
Seftwore-VeUttB Iteff
Software mnn Spar&iü
Spiele auf der schwsrzeh laste
Vom Hcitnoi5<uipu.twFiiw4c sem EDV^gpessdisten
Vam Hobby zi
llB/2
llB/10
jäJ/«
155/6
191/12
142/11
148/3
130/9
61/11
164/3
27/0
137/9
143/12
49/4
I10/9
136/9
136/19
151/19
33/9
144/12
183/19
160/11
36/3
3S/2
43/2
140/12
53/11
30/1/
Logo
J^scol
ATBd
CB4
T19a/4A
Atari
Atari ST
Spectrum
C64
CPC404
Aktesikkappter
Drucker
Spiele
Cc mp ater
Auhut
Aidnir
Aiitnif
AuObüng
AumiT
Aufruf
Auflösung
Teil 1: Der EinsZteg IBr Eönsteignr
Tsü 2: Die Schildkicate lernt lauten
teil 3: JKe ScHildkifOte wiM erwachen
Teil 4: Die ScbildlHbte Wird erwscbhäii
Pascal für Schüler und Lehrer
Poerad fOrldugelCp/e/TeS I
Pascal War Uuge KipJerToa 2
Ibscad 5b Uuge Rüpia/Tell 3
Schnelle CiteSk 5b Atari Ccmpaier
MeaUc mit Peke und FeeBt/TeU. 1
MusOc mrt Pdkia und Peek/Tea 2
Musik mit Rofee und PecV/Tea 3
Musik nüt Pc)«!’ und Peek^ei 4
Leatnon Sie Quen Curunudfliu 64kutuian/Toi] I
Leriian Sie DbHr Ccnunodäro B4 IteOinan/Teil 4
Leinen Sie Ihren ConmedcKe €4 kennjan/Teil 5
Lernen Sie Duen Cenunedoie €4 kennen/TeO 6
Lernen Sie Urnen Conunedere €4 keimen/To J 7
Ohno Floifi kom Zron/Toü I
il teabmi Stogefai/TeJ 3
Bein Buch mit alebetn 5iegebt/Tell 4
Rein Buch mit sieben Siegeln/TedJ 5
ZughberwMJroisg per Computw/Toa 1
mg per Cen^ter /Tea 3
Atnad 639 97 auf Abwggon
Büder utn dom WnIMl (^tättnidw^
Dem Dscr Pect gehi em. lächl auf (C 64)
Crün ist niielH d^ Eeiae Wen dC^FC 464)
Cu» VerbtDdrmigf nii dem Schneider ^O-buar&ce)
Ughtshew mH den Centmedere 64
Mulidtaleni iBr den TuvodchaoschluB {Spectrum)
Nachhall auf Seite 89 iri 6/85
NacbhaH auf Seite 77 in 7/85
Nouo Gariteadtea5u Ku d« 1541 LauFwork fC 64)
Nie wiodci Angst .^Uannaiilago C 64)
PID 8255 — Eün EtpDdjnanhEiriiiterfipe
Nachhall ael Soilh 90 in 12/B5
Scltelten und walten mH dem Atari {SchaldnterOice)
Schreiben mil Schreft>fiuacIüa«Mio^rat fC 64)
SchiedbKdtutz^haJter CAIbd 810 Deppy)
SchieibechutaCchalter (Aäri 1050 Floppy)
Seben eel einen Perl {7 Suymunl Anzeige/Speebem)
40/8
151/4
163/3
134/8
B&/8
91/9
121/10
184/11
1Z4/1D
54/8
S3/4
Sft/5
62/6
69/6
S9/8
45/a
59/9
4S/10
55/11
48/12
lK/5
129/8
IK/a
40/9
166/4
51/5
131/5
«3/12
33/1«
54/11
43/a
35/3
23/10
44/5
SO/2
63/10
49/9
141/3
114/10
2S/2
24/3
107/11
24/3
23/3
29/2
31/5
ErwokErnnftee- ^tem Jl 93/4A
AnachluB gesucht! Pesaphede Air 2XBI und Spectrum
tnter&ces ttr den Cemmedore 64
Der Cemputer mit dom groSoti SubeWi*
Nachhah auf Sehe 60 in 12/Bä
MarktObeusicht MonHore
Nachhall auf Seite 80 in 12/96
SdOaden {fite neusten Prägnumna und Otre Wte^)
Spiele BUB dem Baukasten{Cc^truction Sets)
Wekher Camputernini Weihrachiateffif
40/1
49/1
129/11
132/11
43/1
48/1
9S/4
49/6
lEO/8
129/10
lBS/6
161/11
*2/9
32/1
15Ö/12
SS/S
135/12
Happy Con^piilar leKorwaUbeweib
Übppy CampuDer Leserwettbewerb
Ihi £i^tx OOte beste Anwendung)
Ihr Einsatz
Kumt m dw Ehflipe
Spiel den Jahres
Stena mH dem Cemputer
Was steueiiiH wie uegebn?
Wer gewrant den goldenen Beeetraüel
ö/l
106/1
142/3
4S/3
123/8
Wll
125/8
109/1
135/6
128/10
130/9
20/12
104/1
144/6
1S7/9
7Ö/1D
129/11
148/4
41/S
46/11
m/ii
Lentzfonna
Atabr-Tipe
Atltuun Ab VC 3d
Bs£iced)e-2 CDr MZ-700
Baaic-^Hdchez ohne Boden {C 64)
Borne und HiRceOaSk (C 6^
CatnmodCDO-Eckn
Eingabimeite beim ;^xiizteian spotebot^
ftlr AiarLFens
CedSchmishU^ beim £){ 61
gtöxt €4 an RZ 80 ongepoBt
JoyutickiHdbteme beim VC «9
LFftINT m -rn rohlnilcs^ Dmclten auct
Prdblomu' mit dim langan ZeAcii {C 84)
Pkabteine mit aOQXL
^pdteZcltisiea <C 64)
«tereo nue dem CommodoTe €4
TtpfOrOtde l
UnvoUsAtndige Adresse beim ZX «1
VC 30 und Videckameta om Metüter
lDE/1
103/1
77/8
les/ii
ieo/1«
117/lÜ
[]0/8
94/5
SS/4
103/1
77/3
139/12
iS5/ll
159/12
150/12
1)0/3
tol/1
77/2
103/1
ßlaidi
«f^ieneiieii SomlMie^
limieii ^
SDNIIEBIIEn 01 m: SINCLAIR
Un^ntb^hiiichS Inforni^tiQni$n zu den Sincläit
Compatent ZXSl und Spsctium.
SOHDERHEn 01/85: SPKTRUM
Aitwsndungsbesogene Listings und T^p^&l^cks
für alle Spectmia-Fans,
SONDEBHErr 02/853 SCHNEIDER 1
Eine Fülle wertvollei" Beitrage und Listings
iurslle Schneider-Anvrenden
Am besten
gleich mitbestellen;
Pie Hnppnf Compntep-Sammelbox
Für alle Leser, die »Ifeppy Com-
puteri< legelmäßig kaufen, sam¬
meln oder im iyx>nnement bezie¬
hen, gibt es eirt interessantes Ser¬
vice-Angebot: die Happy Compu-
ter-SammelboxI
Mit dieser Sammelbox bringen
Sie nicht nur Ordnung in Ihre
wertvollen Hefte, sondern schaf¬
fen sich gleichzeitig ein interes¬
santes und attiaktives Nachschla¬
gewerk.
Übrigens: Die Sammelbos ist
nicht nur ein praktisches
Aufbewahrungsmittel:
eignet sich auch her¬
vorragend als Ge¬
schenk für Freun¬
de und Bekannte
zu vielen
Anlässen.
0000:FF
FF
00
80
00
99
4C
BF<71>
02FO;02
E6
BC
AS
OB
C5
SF
0S<C9>
05FO:IF
D0
C9
03
FO
5D
A2
00<BD>
0008=83
48
68
C9
0A
90
06
as<0B>
0300=A5
ac
C5
90
00
68
85
9D<25>
0SF8:DD
B6
84
95
00
EB
EO
81<10>
0010: £i9
37
4C
12
80
18
69
30<9A>
0308:68
25
9D
48
28
DO
DA
60<49>
0600;DO
F6
A9
02
85
52
A9
00<E3>
0ßlB:4C
17
82
A2
00
86
85
C9<:2B>
0310;A2
80
A0
00
Bl
81
C9
20<9B>
0608= 8D
44
02
AD
Fe
BF
D0
03<6C>
0020:30
90
OC
C9
3A
90
0D
C9<1D>
O31S:D0
OD
20
30
33
CA
EO
O0<47>
0610=6C
0A
00
A2
OO
A9
OC
9D<56>
0028:41
90
04
C9
47
90
09
A0<28>
0320= D0
F2
AD
8B
86
F0
00
60<2C>
0618:42
03
20
56
E4
lO
03
4C<20>
0030:01
04
85
60
38
E9
30
60<4D>
0328=18
A9
36
65
80
65
81
A9<35>
0620:2C
82
A2
00
A9
03
9D
42<05>
0038:38
E9
37
60
A0
00
84
86<07>
0330;85
69
00
85
82
60
E6
S0<48>
0628:03
A9
0C
9D
4A
03
A9
00<CA>
0040:Bl
S1
20
15
80
A6
85
E0<CB>
, 0338= D0
02
E6
31
4C
22
83
20<8D>
0630=9D
4B
03
4C
33
86
45
3A<EA>
0048 = 00
DO
06
CO
E6
86
4C
3A<D5>
0340;0A
33
A0
00
Bl
81
C9
2C<:71>
0638;00
A9
30
9D
44
03
A9
86<BC>
0050;30
A4
86
Bl
81
C9
9B
F0<43>
0348:DO
03
20
30
33
4C
0A
S3<DA>
0640=9D
45
03
20
56
E4
10
03<AB> 1
0058:13
C9
20
Fß
OF
C9
3A
F0<17>
0350=A9
00
BD
44
02
DS
A9
19<6C>
0648= 4C
2C
82
AD
B3
84
D0
D0<6D>
0060:0B
C9
2C
F0
07
60
68
A0<E7>
0358= 8D
D9
02
A9
03
SD
DA
02<A9>
0650:6C
FA
BF
4C
BF
83
6C
B4<B8>
0068:01
48
5D
82
60
A2
00
A1<D2>
0360=A9
B6
BS
OC
A9
85
85
0D<0F>
0658= 84
80
80
80
80
00
80
B0<99>
0070:81
20
15
80
85
83
A5
SS<57>
0368;A5
10
09
00
85
10
BD
0E<7B>
0660=80
80
BD
8D
OD
30
A8
A1<D9>
0078: I>0
ED
20
30
83
60
20
67<D3>
0370= D2
A5
93
8D
C6
02
A5
94<D7>
0668:BQ
B0
B9
BD
AD
AF
AE
8a<5D>
0030:80
A5
83
0A
OA
OA
0A
e5<4C>
0378:OD
C5
02
A9
00
OD
CS
02<C:8>
0670=92
SE
90
80
BD
BD
8D
80<2A>
0088:SB
20
67
O0
A5
83
IS
65<F3>
0380:AD
SB
86
C9
B4
DO
OG
AD<13>
0678=80
80
80
80
B0
80
80
80<7B>
0090:SB
65
S3
60
20
67
80
A5<4E>
0388=91
86
C9
80
D0
07
AD
9A<A8>
0680:SD
80
80
00
SO
BO
88
E3<E5>
0098:33
85
84
20
78
80
60
20<CA>
0390=86
C9
El
F0
03
4C
71
E4<33>
0688:89
91
99
98
95
80
E2
F9<C1>
00A05 78
00
A5
83
85
34
20
78<BC>
0398:AD
A9
86
C9
53
DO
F6
18<CA>
0690:80
B4
E8
EF
ED
El
F3
S0<06>
00A3;80
60
A9
00
85
83
85
84<B3>
03A0;A5
58
69
50
8D
AD
86
A9<46>
0698:A6
E9
F3
E3
EB
E5
F2
ED<72>
00B0:A2
00
Al
81
C9
2A
D0
0C<6S>
03A3:0O
65
59
8D
AE
86
A9
A5<49>
06A0:E1
EE
EE
80
80
SO
80
B0<D9>
00Ö8:A5
97
85
83
A5
98
85
84<D2>
03B0=SD
30
02
A9
36
8D
31
02<DA>
06AS:80
E10
80
70
70
70
42
53<E4>
00C0:20
30
83
60
Al
81
C9
2B<EC>
03BO:A9
01
85
52
A9
27
85
53<50>
O6B0= 86
02
42
00
00
02
02
02<96>
00C8:D0
OB
A5
9E
05
83
A5
9F<02>
03C0;A9
00
85
40
60
A9
00
S5<9B>
0688=02
02
02
02
02
02
02
02<C4>
00D0:85
84
4C
ÖA
80
20
36
B0<:C8>
03C8:97
85
98
85
9E
85
9F
DQ<CA>
O6C0:02
02
02
02
02
02
02
02<CC>
00D8;A5
86
C9
01
D0
03
4C
67<3F>
03DO:AD
A9
86
C9
53
F0
03
4C<40>
06C8=02
02
41
A5
86
A9
FF
S5<26>
0080:80
C9
02
D0
03
4C
70
80<CS>
03D8:77
E4
A5
93
C9
02
F0
04<OB>
06D0:AO
4C
92
CO
A9
0O
85
A0<GC>
OOE8:C9
03
D0
03
4C
8E
80
C9<9A>
03E05 C9
08
D0
0A
A3
94
C9
02<F2>
06DO:A9
C7
SD
36
02
A9
86
eD<4S>
00F0:04
D0
03
4C
99
80
68
6B<0B>
03E8=F0
0C
C9
0A
FO
08
A9
02<96>
06E0= 37
02
A9
9B
A2
00
9D
36<E5>
00FB:A0
01
4C
5D
82
20
A4
80<C4>
03F0:85
93
A9
0A
85
94
A5
0D<66>
0688:85
ES
EO
80
DO
FS
A9
a0CD4>
0100:A5
84
D0
01
60
68
68
A0<09>
03F8= C9
85
F0
lA
A5
OC
8D
B4<46>
06F0:8D
44
02
A2
00
A9
05
9D<08>
0108:03
4C
5D
02
A2
00
Al
Sl<19>
0400= Q4
AS
0D
BD
BS
84
A2
00<25>
06F8:42
Ö3
A9
36
9D
44
03
A9<iF>
0110:C9
2A
D0
0C
20
30
83
A5<B7>
0408=B5
80
9D
B6
04
ES
EO
81<DE>
0700:85
9D
45
03
A9
7F
9D
4S<Bß>
0110:97
85
83
A5
98
85
84
60<81>
0410:D0
F6
A9
FF
85
08
A2
a0<52>
0708:03
A9
00
9D
49
03
20
S6<86>
0120:A1
81
C9
2B
DO
0C
AS
9G<74>
0418; A9
ac
9D
42
03
20
56
E4<D4>
0710;E4
10
lA
A9
01
83
SS
C0<68>
0128:35
83
A5
9F
85
04
20
30<C2>
0420=10
03
4C
2C
82
A9
80
85<73> ’
0718=88
DO
05
AO
83
4C
5D
S2<AB>
0130:83
60
A5
ei
85
F3
A5
a2<3D>
0428:6A
A2
00
A9
03
9D
42
03<6E>
0720:20
4A
83
68
63
A9
FD
20<5F>
0138:03
F4
A9
00
85
F2
18
20<4B>
0430:A9
0C
9D
4A
03
A9
00
9D<1F>
0728=17
82
4C
6D
84
60
20
CE<42> '
0140:00
D8
B0
2A
20
D2
D9
D0<AA>
0438:4B
03
4C
3A
84
45
3A
O0<7D>
0730:86
A9
OO
85
80
20
22
S3<FE>
0148=25
A5
D4
85
83
AS
D5
85<BA>
0440:A9
37
9D
44
03
A9
84
9D<B1>
0738=20
39
83
A2
00
Al
81
C9<aB>
0150:34
A0
00
Bl
81
C9
2E
90<5A>
0448:45
03
20
56
E4
10
03
4C<CE>
0740:51
DO
08
A9
00
8D
03
e4<92>
0158=0A
C9
39
90
02
D0
04
C8<D1>
0450;2C
B2
A2
20
A9
0C
9D
42<F7>
0748:4C
BE
85
C9
2A
DO
03
4C<OB>
0160:4C
4D
01
ca
98
18
65
S0<4F>
0458:03
20
56
E4
10
03
4C
2C<42>
0750:EC
8D
C9
4C
DO
07
A9
FF<8Z
0168:85
80
20
22
83
60
60
6S<:S5>
0460=82
A9
00
05
87
A9
01
B5<11>
0758;85
9B
4C
51
SF
C9
55
DO<FE y
0170:A0
02
4C
SD
02
20
06
ei<33>
0468:55
A9
00
85
56
A9
02
as<Fe>
0760503
4C
43
98
C9
SA
DO
07<F8>
0178:AS
04
DO
01
60
68
68
A0<01>
0470:54
20
4A
83
A9
FF
BS
0S<FF>
0768=A9
00
85
9ß
4C
51
8F
C9<B0>
0100:03
4C
5D
B2
A2
00
Al
81<A2>
0478= A9
01
85
09
A9
01
85
55<5E>
0770:41
D0
03
4C
OA
90
C9
45<1A>
0183:C9
24
F0
03
4C
06
81
20<3A>
0480:A9
00
80
44
02
A9
22
aD<A5>
0770=D0
03
4C
CE
90
C9
44
DO<0C>
0190:30
83
4C
A4
80
A2
00
Al<42>
0488:2F
02
AS
07
85
95
A9
00<BF>
0780:03
4C
11
94
C9
9B
DO
03<E5>
0190:01
C9
24
F0
03
4C
6F
S1<BA>
0490:05
87
20
56
62
4C
99
84<99>
0788= 4C
6B
84
C9
2B
DO
03
4C<3E>
01A0:20
30
83
4C
F7
80
AS
e3<45>
0498=57
65
6C
6C
20
3F
9B
A9<D6>
0790:D0
SE
C9
4F
DO
03
4C
4E<B1>
01A8:18
4A
4A
4A
4A
20
03
80<47>
04A0:92
85
8B
A9
04
85
ec
20<64>
0798:es
C9
52
DO
03
4C
B4
BS<7C>
01B0=A5
83
29
0F
20
03
80
60<60>
04A8= 40
82
AS
95
85
67
20
5S<35>
07A0:C9
57
DO
03
4C
F9
88
C9<31>
01B35A5
83
85
ac
A5
84
85
S3<1C>
O4B0= 82
A9
FF
SD
FC
02
4C
28<Q5>
07A8:4D
D0
03
4C
3E
89
C9
50<68>
O1C0;20
A0
81
A5
8C
85
S3
20<EC>
0468=87
00
40
15
00
00
OO
00<5D>
07B0:D0
03
4C
DE
89
C9
56
D0<C2>
01Ca:A0
Bl
AD
9A
86
C9
El
F0<43>
O4C0:00
0O
00
00
00
00
00
00<Ca>
07BB=03
4C
FE
09
C9
46
DO
03<A5>
01D0:05
A9
FF
8D
23
02
60
A5<ED>
0488:0O
00
0O
00
00
00
O0
00<D0>
07C8:4C
24
8A
C9
54
DO
03
4C<EF>
01D8:S3
05
04
A5
84
85
D5
20<42>
04D0;00
00
00
00
00
00
0O
00<D8>
07CÖ:54
8A
C9
48
DO
03
4C
9C<97>
01E:0: AA
D9
20
E6
D8
AO
00
BX<46>
D4D8;00
00
00
00
00
00
O0
0aCEO>
0700:SA
C9
3F
DO
03
4C
00
8D<8D>
01ES:F3
85
99
98
40
A5
99
29<6S>
04E0:00
00
00
00
00
00
00
0O<E6>
07DS:C9
4B
DO
03
4C
29
SD
C9<31>
01F0S7F
20
17
32
68
AS
Bl
F3<67>
04ES:00
00
00
00
00
00
00
O0<F0>
07EO:58
DO
08
A9
01
SD
B3
S4<3F>
01F813O
04
CO
4C
El
81
60
A9<B8>
04F0:00
00
00
00
00
00
00
00<FB>
07Ga= 4C
BE
85
C9
47
D0
03
4C<14>
0200:0B
9D
42
03
A9
88
9D
44<52>
O4F8;00
0O
00
00
00
00
00
0O<OO>
07F0:45
SD
C9
4E
DO
03
4C
D6<4B>
0208:03
A9
0O
90
45
03
9D
49<7A>
0500:00
00
00
00
00
00
00
O0<0A>
07FS= SD
C9
3E
FO
05
AO
06
4C<E4>
0210=03
A9
01
9D
48
05
A9
01<7C>
0508:00
O0
00
m
00
00
0O
00<12>
0800;SD
82
20
30
83
20
39
83<90>
0210=85
11
4C
56
E4
85
88
A2<ea>
0510:00
00
00
00
00
00
OO
00<1A>
0808: A2
OO
Al
81
20
15
80
A5<A0>
0220= 00
20
F9
81
A5
87
FO
09<7F>
0510:00
00
00
00
00
00
00
O0<22>
0810=85
F0
0C
A2
00
Al
81
C9<Be>
0228:A2
20
20
F9
81
CO
01
30<19>
. 0S20:00
00
O0
00
00
OD
DO
O0<2A>
0eiB=2A
F0
04
C9
40
D0
0E
20<BF>
0230=01
60
60
68
4C
5D
82
9S<;S2>
0528:00
O0
00
00
00
00
00
00<32>
0820:A4
30
20
39
83
A2
OO
A1<FD>
0238:48
A9
20
20
17
82
68
Aa<BA>
0530=00
00
00
00
00
00
0O
00<3A>
0828=81
C9
3A
FO
05
AO
07
4C<72>
0240:88
C0
00
D0
F2
60
AO
00<S7>
0538= 00
00
00
00
00
00
00
00<42>
0830= SD
82
20
30
83
20
39
S3<E0>
0248;Bi
SB
C9
96
F0
0F
65
SB<66>
0540:00
00
00
00
00
OO
00
O0<4A>
0838:A2
00
Al
81
20
15
80
A5<30>
0250:98
48
A5
08
20
17
82
68<11>
0548= 00
00
00
00
00
0O
O0
0O<52>
0840=85
DO
EA
20
30
83
A2
00<94>
0230= AB
CO
4C
42
82
60
A9
9B<45>
0550:00
00
00
00
00
0O
00
O0<5A>
0048:Al
ei
20
15
80
A5
85
D0<S7>
0260=4C
17
82
84
85
C0
80
9O<06>
0558:00
00
00
00
00
00
0O
0O<62>
0850:DG
4C
4B
BF
20
30
83
20<9A>
0268:13
A2
20
A9
0C
9D
42
03<39>
0560= 00
0©
00
00
00
00
00
0O<6A>
0858:39
83
A2
00
Al , 81
C9
23<7D>
0270:20
56
E4
10
03
4C
2C
S2<36>
0560=00
00
00
00
00
00
OO
00<72>
0860: FO
05
AO
09
4C
SD
82
20<43>
0273= A9
00
85
87
A5
87
85
95<BF>
0570= 00
00
00
00
00
00
00
O0<7A>
0868=30
83
A2
20
A9
OC
9D
42<19>
0230:A9
00
85
87
4C
89
02
FD<DC>
0578:00
00
00
00
00
00
00
a0<a2>
0870= 03
20
56
E4
la
03
4C
2C<6Z>
0288:45
52
52
4F
52
20
9B
A9<A3>
©SSO;00
00
©0
00
00
O0
OO
oo<eA>
0878= 82
A9
03
A2
20
9D
42
03<B9>
0290=81
85
8B
A9
32
85
ac
20<F1>
0588=00
00
00
00
00
00
00
0ß<:92>
0880:A9
00
9D
4ß
03
AS
ei
9D<18>
0293:40
82
A5
85
85
33
A9
00<93>
0590:00
00
00
00
00
00
00
00<9A>
0888= 44
03
A5
82
9D
45
03
A9<E9>
02A0:85
B4
20
Dl
81
4C
A6
ß2<65>
0598= 00
00
00
00
00
00
00
O0<A2>
0890;08
9D
4A
03
20
56
£4
10<77>
02AQ;20
20
24
9B
A9
A2
85
aB<i6>
05AO= 00
00
00
00
0O
00
00
0Q<AA>
0898:lA
98
48
A2
20
A9
OC
9D<a7>
0200= A9
82
35
8C
20
40
82
20<38>
05A8;00
00
00
00
00
00
00
O0<Ei2>
0BA0:42
03
20
56
E4
10
03
4C<AD>
0288:A0
81
A9
29
20
17
02
20<14>
05B0:00
00
00
00
00
00
00
00<BA>
0SAa;2C
82
A9
OO
85
87
68
Aa<3F>
02C0:58
82
A5
95
85
87
4C
6B<7F>
05B8= 00
00
00
00
20
50
86
A9<B5>
0880= 4C
2C
82
A9
Ol
85
87
4C<35>
0288:84
A9
00
85
8B
85
8C
AA<74>
05C0:00
SD
B3
84
A9
28
8D
D9<A6>
08B8:6B
84
20
30
83
20
39
S3<D0>
02D0;A5
8F
C5
SB
08
A5
90
C5<D7>
05CS:02
A9
OS
8D
DA
02
A9
92<63>
08CO= 20
7E
81
A5
83
8D
OA
03<30>
0208:83
08
68
85
9D
68
2S
9D<7E>
05DO;OD
36
02
A9
C0
SD
37
O2<20>
OaCQzAS
84
8D
OB
03
20
39
a3<FC>
02E0-- 48
28
D0
05
A0
05
4C
SD<EX >
05D8;A9
80
85
6A
A2
20
A9
0C<39>
a2ES:82
98
81
09
E6
89
D0
02<2F>
O5E0= 9D
42
03
20
56
E4
10
03<51>
Lisiiag zu »1
nappy-mon«.
02F01G6
OA
20
9C
BE
E6
BB
D0<FB>
05ES:4C
2C
32
A9
00
85
87
AD<5C>
Bitte mit AMPEL eingeben.
100
0SD0:20
7E
81
A5
83
BD
04
03<14>
0BCS:9D
4A
03
A9
00
9D
4B
03<A6>
aEC0:FD
20
17
82
A5
95
B5
S7<75>
ß8D0:A5
84
SD
05
03
A5
83
S5<34>
0BD0:4C
D0
8B
4B
3A
00
A9
CD<90>
0ECS:AD
AA
S6
C9
86
F0
03
4C<4S>
08E^D^ 09
A3
B4
85
8A
20
9C
8E<A9>
0BD8:9D
44
03
A9
OB
9D
45
03<57>
0ED0S77
E4
4C
6E
84
60
20
30<67>
OSEa:E6
8A
20
9C
ö£
A9
52
SD<60>
0BE0:20
56
E4
10
03
4C
2C
S2<ßD>
0EDO:83
20
39
03
20
7E
Bl
A5<1C>
08F0-,a2
03
20
53
E4
C0
00
10<:29>
0BES:A9
07
90
42
03
A9
96
9D<53>
0EE0:03
85
9E
AS
04
05
9F
4C<28>
©aFS:03
4C
2C
82
4C
6B
84
20<63>
0BF0:44
03
A9
00
9D
45
03
9D<B7>
0EES:6B
84
A9
00
85
80
20
22<32>
0900;30
83
20
39
83
20
7E
ai<6C>
0BFS:49
03
A9
01
90
46
03
20<CC>
0EF0183
20
39
83
20
30
83
20<0D>
0908:AS
83
00
0A
03
A5
84
SD<20>
0C00:56
E4
10
18
A9
9C
20
17<0E>
0EF83 39
03
20
A4
80
A5
83
85<BA>
0910;OB
03
20
39
03
20
7€
Si<l2>
0C0S:82
A9
FD
20
17
82
C0
aa<F7>
0F0a:B9
A5
84
S5
BA
20
9C
BE<76>
0918:A5
83
8D
04
03
A5
84
8D<B0>
0G10:D0
03
4C
75
8B
A5
95
Ö3<40>
0F0S:A5
89
85
97
A5
SA
85
98<03>
0920:03
03
A5
83
85
89
A5
B4<4F>
OCl8:87
4C
6B
84
A2
10
A9
0C<27>
0F10r20
39
B3
20
30
83
A0
00<S7>
0928:85
8A
20
9C
QE
E6
BA
20<44>
0C20:9D
42
03
20
56
E4
10
03<E2>
0F18:9e
48
20
39
83
A2
00
A1<EF>
0930;9C
SE
A9
57
8D
02
03
20<D0>
0C28:4C
2C
82
A9
9C
20
17
S2<49>
0F20;B1
20
15
S0
A5
85
D0
li<51>
0938:53
E4
C0
00
10
03
4C
2C<34>
0C30:A5
95
05
87
A5
96
C9
4E<6C>
0F2B:20
78
80
68
A8
A5
83
91<56>
0940;82
4C
6B
84
20
30
83
20<C2>
0C38:DO
03
C9
00
60
C9
59
F0<DA>
0F30=97
CO
C0
08
F0
05
4C
12<40>
0948:39
83
20
7E
81
A5
83
85<9E>
0C4O:0C
C9
9B
F0
08
A9
FD
20<DF>
0F38:8F
6S
AB
84
SF
IS
A5
97<9A>
0950:8D
A5
84
85
SE
A5
83
S5<2B>
0C48:17
82
4C
OC
BC
60
20
30<E0>
0F40:65
SF
85
97
A9
00
65
9S<24>
0950:09
A5
84
85
8A
20
9C
SE<2A>
OC50:83
20
39
83
20
7E
81
A5<A1>
0F48:85
98
20
AS
90
20
4A
83<FF>
0960:20
39
03
20
7£
81
A5
63<66>
0C5B:B3
85
89
A5
84
85
OA
A5<26>
0F50:60
20
£4
8E
4C
28
87
20<BD>
0968:85
09
A5
84
85
OA
20
9C<EA>
0C60=03
85
9A
A5
84
85
9B
20<E9>
0F58;30
03
20
39
83
20
7E
81<97>
0970;eE
20
39
83
20
7E
81
A5<C0>
0C68;9C
OE
20
39
83
20
7E
81<24>
0F60:A5
83
85
89
A5
84
85
aA<A7>
0970:83
85
SF
A5
84
85
90
A9<EA>
0C70:A5
83
85
91
A5
84
es
92<A4>
0F68:20
9C
SE
A5
89
85
97
A5<EC>
0980:00
83
BB
85
BC
AA
A5
8B<76>
0C78:20
39
83
A2
00
Al
81
C9<CA>
OF70:8A
85
98
A9
FF
85
9C
20<15>
0983:CS
8F
OB
A5
8C
C5
90
08<17>
0CS0:4E
D0
04
A9
00
85
9C
2a<3S>
0F78;39
83
A2
00
Al
81
C9
4E<FA>
0990:68
85
9D
68
25
98
48
2S<94>
0CO8:4B
OE
A5
10
09
80
85
10<FE>
0F80:00
04
A9
00
85
9C
20
86<19>
0998:00
03
4C
DE
82
Al
SD
81<EB>
0C90:8D
OE
D2
20
AB
OE
A2
00<02>
0FO8:SF
4C
80
OF
A5
97
85
89<63>
09A05 89
E6
BD
D0
02
E6
&E
A5<F7>
0C98:A1
89
C5
91
D0
45
E6
89<09>
0F90:A5
90
05
BA
20
4B
8E
A5<60>
09A8:89
48
A5
ÖA
48
A5
BD
S5<FD>
0CA0:D0
02
E6
OA
A2
00
Al
89<6D>
0F98;S9
85
97
A5
8A
85
98
A9<FA>
09B0;S9
A5
OE
85
OA
20
9C
ae<i4>
0CA8;C5
92
DO
3D
A9
3E
20
17<EA>
0FA0:3E
20
17
82
A5
97
85
S3<F6>
0968:68
85
SA
68
85
89
E6
e9<97>
0CB0:a2
A5
89
85
83
A5
BA
S5<9F>
0FA8;A5
98
85
84
20
B2
81
A9<7D>
09C0;D0
02
E6
SA
20
9C
SE
E6<03>
0CB8:84
20
B2
81
A9
3A
20
17<76>
0FB0:3A
20
17
82
A0
00
Bl
97<F4>
09C8:OB
D0
02
E6
SC
A5
OB
c:5<83>
acc0:a2
A5
91
85
83
20
A0
S1<A2>
0FBB;S5
83
98
48
20
A0
81
A0<a3>
09D0I8F
08
A5
8C
C5
90
08
68<6C>
0CC8:A0
01
20
3t
82
A5
92
a5<5C>
0FC0:01
20
31
82
68
A8
CO
C0<D3>
0908:85
9D
68
25
90
48
28
D0<B9>
0CD0:83
20
A0
81
20
58
82
A5<46>
0FCS;0O
D0
EB
A5
9B
FO
21
A0<FD>
09E0;BC
4C
6B
84
20
30
83
20<8O>
0CDBS9C
F0
0E
20
60
8B
FO
09<F6>
0FD0:00
Bl
97
85
9A
98
48
A9<9A>
09E3:39
83
20
7E
81
A5
83
S5<FE>
0CE0:4C
6B
04
E6
09
D0
02
E6<C1>
ßFDS:IB
20
17
82
A5
9A
C9
9B<C3>
09F0:e9
A3
04
83
OA
20
39
83<C1>
OCE8;BA
20
AB
SE
A5
89
C5
9A<FA>
0FE0:D0
04
A9
20
85
88
20
17<BQ>
09F8:20
8F
81
A2
00
A5
83
81<46>
0CF0:08
A5
SA
C5
9B
08
68
85<43>
0FE8:Ö2
68
A8
CO
C0
00
D0
El<91> 1
0A00:a9
4C
6B
84
20
30
83
20<7a>
0CFe:9D
6B
25
9D
40
28
00
03<E6>
0FF0:A2
00
E6
97
D0
02
E6
9B<71>
OAOa:39
83
20
7E
81
A5
83
S5<59>
0DB0:4C
40
OB
4C
01
SC
20
30<08>
0FFa:ES
EO
08
D0
F5
20
58
B2<5E>
0A10:89
A5
84
85
SA
20
39
B3<A3>
0008:83
20
39
83
20
7E
81
A9<F2>
1000:20
AB
SE
A5
9C
FO
05
20<9D>
0A18:20
7E
ai
A0
00
A5
83
91<D0>
0D10:24
20
17
62
20
B2
81
A0<75>
1008:6D
OB
00
01
60
4C
68
84<30>
0A20:89
A0
01
A5
04
91
89
4C<1E>
0018:01
20
31
82
A9
3D
20
17<S2>
1010:20
30
83
20
39
83
20
7E<4C>
OA28:6B
84
20
30
83
20
39
S3<6B>
0D20:82
A0
01
20
31
82
20
Dl<26>
1018:81
A5
83
85
89
A5
84
85<55>
0A30520
7E
01
A5
03
05
89
A5<3C>
0D28:81
20
58
02
4C
6B
84
A5<71>
1020:8A
20
9C
SE
A5
89
05
97<5A>
0A3S:34
85
SA
20
9C
OE
20
39<36>
0D30:94
C9
0A
D0
OB
A9
02
S5<0C>
1020= A5
8A
05
98
A9
07
35
52<05>
0A40:B3
20
7E
81
A5
83
85
6F<1E>
0D38:94
A9
08
05
93
4C
6B
64CBE>
1030; 20
58
82
A9
07
85
52
A9<CB>
0A4B:
84
85
90
20
39
83
20<34>
0040;A9
0A
85
94
A9
02
05
93<:F6>
1038:01
85
55
A5
87
85
95
A9<37>
0A50:SF
01
A4
03
20
C3
82
4C<D5>
0D48:4C
6B
84
20
30
83
20
39<7A>
1040 £ 00
85
87
A9
3E
20
17
S2<2F>
0A58:6B
84
20
30
03
20
39
B3<1B>
0D50;83
A2
00
Al
81
C9
2A
F0<99>
1048:A5
97
85
83
A5
98
85
84<63>
0A60:20
7E
81
A5
83
85
89
A5<0C>
0058:0B
20
7E
81
AS
03
SS
97<8C>
1050:20
B2
81
4C
54
90
3A
1F<09>
0A68;84
05
OA
20
9C
8E
20
39<26>
0D60:A5
04
85
98
A5
67
OS
95<01>
1050: lE
9B
A9
50
85
OB
A9
90<45>
0A70:83
A2
00
Al
81
C9
22
F0<5C>
0068:A9
00
85
87
20
58
82
20<D7>
1060:85
OC
20
40
82
A5
95
B5<BB>
0A78:03
4C
5C
88
20
30
83
Al<eE>
0070:60
8B
F0
21
4C
7E
SD
4E<F5>
1060=37
20
CE
86
A9
01
85
52<0A>
0AO0:8l
89
22
FO
12
C9
9B
F0<A5>
0D7S:6F
74
20
65
78
65
63
75<46>
1070:A9
01
85
55
A9
00
85
80<7B>
0AÖO:0£
81
09
£6
89
DO
02
E6<:ce>
0DS0:74
65
64
9B
A9
71
85
BB<03>
1078:20
22
83
A2
O0
Al
81
C9<FA>
0A90;8A
20
9C
8£
4C
76
BA
A5<3C>
ODBO:A9
8D
05
OC
20
40
82
20<0S>
1080:9B
00
15
4C
84
90
FD
1C<42>
0A9a:a9
85
97
A5
OA
85
90
4C<9F>
0090:50
82
4C
6B
84
4C
Al
eD<AF>
10O8:9C
9B
A9
80
85
SB
A9
90<F2>
OAA0:6B
84
A9
FF
85
9C
20
30<5F>
0D98:52
75
6E
6E
69
6E
67
20<B9>
1090;SS
BC
20
40
82
4C
2D
90<S5>
OAA8:83
20
39
83
A2
00
Al
ai<66>
0DAO;66
72
6F
6D
20
24
9B
A9<78>
1090:20
39
83
20
73
80
A9
00<a0>
0AB0:C9
42
F0
0A
C9
57
D0
03<A4>
0DA8:92
85
BB
A9
60
85
8C
20<A2>
10A0:85
00
20
22
63
20
10
eF<93>
0ABB:4C
48
8C
4C
5C
88
20
30<8C>
0DB0:40
82
A5
97
85
83
A5
9S<S4>
10Ä8:4C
20
90
A9
00
8D
08
D2<CA>
0AC0:83
20
39
83
20
7E
81
A5^FC>
0DBS:85
84
20
B2
Bi
4C
BF
SD<95>
10B0:A9
03
SD
0F
02
A9
78
8D<3D>
0ACO:83
85
89
A5
84
85
8A
A5<D9>
0DC0:20
2E
2E
2E
9B
A9
BA
65<0F>
10B8:00
DZ
A9
A5
SO
Ol
D2
A9<71>
0AÖ0:83
05
9A
A5
B4
85
9B
20<6C>
0DC8:OB
A9
OD
85
OC
20
40
82<1B>
10C0;03
BD
20
02
AD
20
02
D0<6B>
0AB0:9C
8E
20
39
03
20
SF
81<CA>
0DD0;20
58
62
20
D3
SD
4C
6B<D1>
10C8:FB
A9
00
8D
00
D2
A9
00<02>
OAE0:A5
83
85
91
20
39
83
A2<6E>
0DD8:84
6C
97
00
A2
20
A9
0C<55>
1000:80
01
D2
60
20
30
83
20<96>
0AE8:0O
Al
Bl
C9
4E
D0
04
A9<4a>
0DE0:9D
42
03
20
56
£4
10
03<A1>
10DB:39
83
20
7E
81
A5
83
a5<FC>
0AF0:00
85
9C
20
4B
SE
A2
00<D2>
ODEOs 4C
2C
82
A9
00
85
87
4C<6B>
10E0;89
A5
84
85
BA
20
9C
3E<99>
0AFB;Al
89
C5
91
m
2B
A9
3E<A1>
0DF0:6B
84
20
30
83
20
39
83<2D>
I0E8:A5
89
85
97
A5
8A
85
9e<29>
0B00:20
17
82
A5
89
85
83
A5<S8>
0DF8: 20
7E
01
A5
83
85
97
A5<0A>
10F0:A9
07
85
52
20
58
82
A9<SC>
0B08:8A
85
84
20
B2
81
A9
3A<37>
0E00:84
85
98
4C
6B
84
0F
D4<CA>
10FS:07
S5
52
A9
01
85
55
A5<1D>
0B10;20
17
82
AS
91
85
83
20<32>
0E08:00
08
A9
00
05
05
AD
31<EF>
1100:87
85
95
A9
00
85
87
A9<12>
0818:A0
81
20
58
82
A5
9C
F0<DB>
0E10:02
C9
86
F0
07
A9
00
S5<7E>
1108:FF
85
9B
A9
00
85
9C
20<36>
BB20:0B
20
6D
8B
F0
03
4C
6B<ED>
0E18:81
6C
0A
00
A5
S9
CD
00<FB>
1110;86
8F
38
A5
97
E9
08
BS<4F>
0B2B:84
E6
89
D0
02
E6
SA
20<A2>
0E20:8E
00
A5
8A
CD
01
8E
0e<El>
1110:97
A5
98
E9
00
85
98
A9<60>
0B30;AB
8E
A5
89
C5
9A
08
A5<AE>
0E2e; 68
05
9D
60
25
9D
48
2S<FB>
1120:07
85
55
A9
IC
20
17
B2<7D>
0B3a:8A
C5
9B
08
68
85
9D
68<2E>
0E30:90
02
D0
01
60
A5
89
CD<0C>
112©:A5
95
05
87
20
CE
86
A9<D7>
0B40;25
9D
48
28
D0
AD
20
5S<65>
0E38;02
OE
08
A5
8A
CD
03
8E<5B>
1130;01
85
52
A9
01
85
55
A9<7A>
0B48;e2
4C
5C
SB
57
68
6F
6C<05>
0E40:08
68
85
9D
68
25
9D
4S<27>
1138:00
85
80
20
22
83
20
39<42>
0B50:65
20
6D
65
6D
6F
72
79<iS>
0E4S:28
90
01
60
A9
04
85
S5<5D>
1140:83
20
78
80
A9
00
85
80<89>
0B58;2O
63
68
65
63
68
65
64<51>
0E50;60
20
04
BE
A5
85
F0
49<ED>
1148:20
22
S3
20
10
8F
4C
F1<7B>
0B60:2E
9B
A9
46
05
08
A9
8B<9C>
OESS:20
50
82
A9
01
85
55
A9<46>
1150=90
42
52
4E
30
4F
52
41<29>
0B6S:85
ac
20
40
82
20
58
S2<AF>
OE60:0L
85
52
4C
85
BE
2D
2D<F2>
1158:37
3F
3F
3F
4F
52
41
33<A6>
0B70:4C
6B
04
A5
87
es
95
A9<44>
0E68:3E
20
24
44
34
31
30
20<5B>
1160:41
53
4C
33
3F
50
48
50<AE>
0B7S:00
as
87
4C
BC
SB
9C
9D<E2>
0E70:2D
20
24
44
37
46
46
20<63>
1160:30
4F
52
41
34
41
53
4C<4C>
0BQ0:43
6F
6E
74
69
6E
75
65<1B>
ßE7Ö:63
61
6E
6E
6F
74
20
62<0E>
1170:31
3F
3F
4F
52
41
32
41<EC>
0888:20
28
59
2F
4E
29
3F
59<9B>
0E80:65
20
61
63
63
65
73
73<A4>
1178:53
4C
32
3F
42
50
4C
42<AB>
0890:le
9B
A9
78
85
OB
A9
8B<2F>
0EBS;65
64
9B
A9
60
05
86
A9<:2D>
1180;4F
52
41
3S
3F
3F
3F
4F<2E>
0B98i85
SC
20
40
02
A9
FF
8IK9A>
0E90:BE
05
OC
20
40
82
20
5S<2S>
1188:52
41
39
41
53
4C
39
3F<D4>
0EAO;FC
02
A2
10
A9
0C
9D
42<63>
0E98:82
A9
00
05
09
A9
DO
B5<A0>
1190:43
4C
43
30
4F
52
41
36<3F>
0BA8:03
20
56
E4
10
03
4C
2C<A0>
0EA0:BA
60
20
04
OE
A5
85
F0<D7>
OBBO:82
AD
30
02
C9
A5
F0
07<E0>
0EAS:07
68
68
A0
04
4C
5D
82<F7>
1 * A*
06B@:A9
FF
85
09
4C
B6
OB
A2<14>
0EB0:60
A5
A0
F0
20
68
68
A5<4F>
zu »!
OBC0:10
A9
03
9D
42
03
A9
04<A6>
0888:87
85
95
A9
00
85
87
A9<60>
(Fortsetzung)
101
1199 :ZF
3F
3F
4F
52
41
35
41<42>
1418:30
83
20
39
B3
20
7E
S1<D9>
1698:80
E6
97
D0
02
E6
98
A1<EE>
11A0S53
4C
35
3F
4A
53
52
32<6e>
1420:A5
83
ÖS
89
A5
84
85
8A<5E>
16A0:97
85
8e
E6
97
00
02
E6<6F>
UAg:41
4E
44
37
3F
3F
42
49<9D>
1428520
9C
8E
A5
89
85
97
A5<93>
16Aa:98
A5
A3
D0
13
AS
BD
S5<06>
11B0T54
33
41
4E
44
33
52
4F<6F>
1430=8A
85
98
20
39
83
A9
00<9C>
16B0:B3
20
A0
81
A5
BE
85
S3<31>
11B8=4C
33
3F
50
4C
50
30
41<7D>
1438:85
9C
A9
00
85
A3
A2
O0CB0>
16B8:20
AO
81
A0
02
20
31
82<5B>
11C0=4£
44
34
52
4F
4C
31
3F<69>
1440:Al
81
C9
4E
DO
04
A9
FF<B5>
16C0:20
6D
95
A9
24
20
17
82<87>
11C8:42
49
54
32
41
4e
44
32<69>
1448:85
9C
A5
97
85
B9
A5
98<BF>
16CS=A5
80
85
83
A5
SE
85
84<71>
11D0:52
4F
4C
32
3F
42
4D
49<02>
1450:85
8A
20
4B
8E
A9
3E
20<61>
1600:20
B2
81
A9
2C
20
17
82<65>
11DÖ:42
41
4E
44
38
3F
3F
3F<72>
1458:17
82
A5
97
85
83
AS
9S<02>
16DB1A9
59
20
17
B2
60
A2
O0<:77>
11E0S41
4E
44
39
52
4r
4C
39<E3>
1460:85
84
20
B2
81
A9
3A
20<DE>
16E0:A1
97
85
83
E6
97
D0
02<96>
IXFBzZF
53
45
43
30
41
4E
44<A0>
1468:17
82
20
79
94
20
58
82<8E>
16eS:E6
98
A5
A3
00
08
20
A0<7A>
liF0r3&
3F
3F
3F
41
4E
44
35<B7>
1470:20
AB
8E
A5
9C
D0
D3
20<4S>
16F0:B1
A0
04
20
31
82
20
6D<80>
iIFB:52
4F
4C
35
3F
52
54
49<0B>
1478= 60
BB
F0
CE
4C
6B
84
A2<CA>
16F8:9S
A9
2S
20
17
02
A9
24<4S>
1200:30
45
4F
52
37
3F
3F
3F<D0>
1480=00
Al
97
85
83
A5
A3
D0<BD>
1700:20
17
82
20
A0
81
4C
07<B4>
1208s 45
4F
52
33
4C
53
52
33<9S>
1480:03
20
A0
81
A2
0Q
Al
97< 1B>
1708:97
2C
58
29
9B
A9
03
a5<34>
1210: 3F
50
48
41
30
45
4F
52<8A>
1490:85
9B
E6
97
D0
02
E6
9S<5A>
1710=8B
A9
97
85
8C
20
40
82<FE>
1218:34
4C
53
52
31
3F
4A
4IK5F>
1498:A9
4B
85
91
A9
91
85
92<CC>
1718:60
A2
m
Al
97
85
83
20<EO>
1220:50
32
45
4F
52
32
4C
53<B3>
14A0:A0
00
C4
9B
F0
23
A2
00<1A>
1720:39
83
E6
97
D0
02
E6
9S<9C>
122S:52
32
3F
42
56
43
42
45<4D>
14A8:Al
91
C9
3F
DO
0A
E6
91<65>
1728:A5
A3
D0
08
20
A0
31
A0<F0>
123014F
52
38
3F
3F
3F
45
4F<1B>
14B0= D0
02
E6
92
C8
4C
9C
94<73>
1730:04
20
31
82
20
60
95
A9<;2B>
1238:52
39
4C
53
52
39
3F
43<3A>
14B8:18
A5
91
69
04
85
91
A5<B7>
1738:28
20
17
82
A9
24
20
17<7A>
1240= 4C
49
30
45
4F
52
36
3F<FD>
14C0=92
69
00
85
92
ca
4C
9C<F6>
1740:82
20
A0
BI
4C
45
97
29<02>
1249= 3F
3F
45
4F
52
35
4C
53<27>
14C8i94
A2
00
Al
91
C9
3F
D0<33>
1748:2C
59
9E
A9
41
85
8B
A9<3C>
1250552
35
3F
52
54
53
30
41<00>
1400:44
A5
A3
D0
IB
4C
DE
94<BE>
1750=97
85
8C
20
40
82
60
A2<25>
1253:44
43
37
3F
3F
3F
41
44<S3>
1408:20
20
20
20
20
20
2D
20<19>
1758:00
Al
97
85
83
E6
97
D0<CA>
1260:43
33
52
4F
52
33
3F
50<4F>
14E0:3F
3F
3F
9B
A9
02
85
SB<31>
1760:02
E6
98
A5
A3
O0
08
20<EA>
1268:4C
41
30
41
44
43
34
52<C2>
14C8:A9
94
85
SC
20
40
82
60<9a>
1768=A0
Bl
A0
04
20
31
82
20<44>
1270:4F
52
31
3F
4A
4D
50
43<15>
14F0:4C
FC
94
20
20
20
20
20<83>
1770:60
95
A9
24
20
17
82
20<S2>
1278:41
44
43
32
52
4F
52
32<3E>
14F8:20
20
2£
42
59
54
45<7C>
1778:A0
BI
A9
2C
20
17
82
A9<F6>
1280:3F
42
56
53
42
41
44
43<AS>
1500:20
9B
A9
ED
B5
SB
A9
94<1C>
1780:58
20
17
82
60
A2
00
Al<14>
12BB:38
3F
3F
3F
41
44
43
39<2E>
1508:85
8C
20
40
82
A9
00
85<13>
1788=97
85
83
E6
97
00
02
E6<ie>
1290:52
4F
52
39
3F
53
45
49<A2>
1510:84
20
Dl
81
60
A0
03
B1<B7>
1790=98
20
AO
81
AS
A3
00
05<F4>
1298:30
41
44
43
36
3F
3F
3F<39>
1518:91
20
15
80
C9
00
DO
03<26>
1798:A0
04
20
31
32
20
60
95<A9>
12A0:41
44
43
35
52
4F
52
35<C9>
1520:4C
95
95
C9
01
D0
03
4C<50>
17A0:A9
24
20
17
82
20
A0
B1<F8>
129813F
3F
53
54
41
37
3F
3F<70>
1528:A2
95
C9
02
D0
03
4C
B4<58>
i7Ae:A9
2C
20
17
82
A9
59
20<35>
12B0:53
54
59
33
53
54
41
33<41>
1530:95
C9
03
00
03
4C
FS
95<:fc>
17B0:17
82
60
A2
O0
Al
97
85<29>
12S8:53
54
58
33
3F
44
45
S9<23>
1538:C9
04
D0
03
4C
19
96
C9<AE>
1768:83
85
9A
E6
97
00
02
E6<E0>
12C0:30
3F
54
58
41
30
3F
53<38>
1540:05
DO
03
4C
42
96
C9
O6<03>
17C0:98
A5
A3
D0
08
20
AO
81<DS>
l2C8iS4
59
32
53
54
41
32
53<C3>
1548:D0
03
4C
SD
96
C9
07
O0<0B>
17C8:AO
04
20
31
82
20
60
95<D9>
1200:54
58
32
3F
42
43
43
42<CE>
1550:03
4C
08
96
C9
08
00
03<2C>
17D0=A9
24
20
17
82
A5
9A
C9<56>
12D8:53
54
41
38
3F
3F
53
S4<AE>
1558: 4C
13
97
C9
09
00
03
4C<B6>
1708=80
90
17
38
A9
00
E5
9A<73>
.12E0:59
39
53
54
41
39
53
54<6E>
1560:51
97
C9
0A
00
03
4C
7F<34>
l7E0=a5
9A
38
A5
97
E5
9A
a5<Dl>
12Ea:5S
41
3F
54
59
41
30
53<F0>
1568:97
C9
0B
00
03
4C
AD
97<36>
17ESsS3
A5
98
E9
00
85
84
4C<09>
12F0154
41
36
54
58
53
30
3F<09>
1570:4C
FD
97
A5
A3
00
05
A9<54>
17F0:F9
97
18
A5
97
65
9A
85<A0>
12FS=3F
53
54
41
35
3F
3F
4C<56>
1578:2D
20
17
82
A9
20
20
17<27>
17F8:83
A5
98
69
00
85
84
20<D5>
1300:44
59
34
4C
44
41
37
4C<A7>
1580:82
A0
0O
Bl
91
85
88
9e<2C>
1800= B2
Bl
60
A2
00
Al
97
a5<D6>
1308:44
58
34
3F
4C
44
59
33<25>
1588:48
A5
88
20
17
82
68
Aa<48>
1808:80
E6
97
D0
02
E6
98
A1<C4>
I310:4C
44
41
33
4C
44
58
33<1B>
1590:CÖ
C0
03
00
EE
A0
01
20<FB>
1810:97
05
8E
E6
97
DO
02
E6<FB>
l3i8:3F
54
41
59
30
4C
44
4i<lC>
1598:31
82
60
A5
A3
DO
05
A0<38>
1818:98
A5
A3
D0
13
A5
30
S5<AA>
1320=34
54
41
58
30
3F
4C
44<6C>
15A0:06
20
31
B2
20
6D
95
60<5S>
1820:83
20
A0
81
A5
8E
85
S3<7E>
1328=59
32
4C
44
41
32
4C
44<C2>
15AS:A5
A3
00
05
A0
06
20
31<A6>
1828:20
A0
31
A0
02
20
31
B2<DF>
1330:58
32
3F
42
43
53
42
4C<D2>
1580:82
20
6D
95
A9
41
20
17<50>
1830:20
60
95
A9
28
20
17
Ö2<3A>
1338:44
41
38
3F
3F
4C
44
59<S7>
1588:82
60
A2
O0
Al
97
85
8D<E9>
1838:A5
SD
85
83
A5
BE
85
84<7E>
1340:39
4C
44
41
39
4C
44
58<F9>
15C0:E6
97
D0
02
E6
98
Al
97<27>
1840:20
B2
81
A9
29
20
17
B2<D9>
1348:41
3F
43
4C
56
30
4C
44<BE>
15C8:SS
8E
E6
97
DO
02
E6
9ß<B9>
1848:60
20
30
ß3
20
39
83
20<77>
1350:41
36
54
53
58
30
3F
4C<21>
15D0:A5
A3
DO
13
A5
80
85
63<4E>
1850:7E
81
A5
83
85
89
A5
B4<C4>
1359:44
59
35
4C
44
41
35
4C<AB>
1SDS:20
A0
81
A5
8E
85
83
20<3C>
1858:85
SA
20
9C
SE
AS
Q9
85<56>
1360:44
58
35
3F
43
50
58
34<75>
15E0:A0
81
A0
02
20
31
82
20<B5>
1860:97
A5
SA
85
98
4C
6F
9S<8F>
136B:43
4D
50
37
3F
3F
43
50<7C>
15EB:6D
95
A9
24
20
17
82
A5<8C>
1868:31
30
30
30
20
20
2E
4F<S1>
1370:59
33
43
4D
50
33
44
45<66>
15F0:8O
85
83
A5
BE
SS
84
20<76>
1870:52
47
20
24
9B
A9
62
SS<99>
1379:43
33
3F
49
4E
59
30
43<M>
iSF8:B2
81
60
.A2
O0
Al
97
S5<DÖ>
1878=8B
A9
98
85
ec
20
40
82<B3>
1380:4D
50
34
44
45
58
30
3F<55>
1600:83
E6
97
D0
02
E6
98
A5<D3>
1880= A5
97
85
83
A5
98
85
S4<DA>
1388:43
50
59
32
43
4D
50
32<C2>
1608:A3
D0
08
20
A0
81
A0
04<02>
1888:20
B2
Bi
20
58
82
4C
92<72>
1390s44
45
43
32
3F
42
4e
45<96>
1610:20
31
82
20
6D
95
A9
24<FF>
1890:98
31
30
30
3t
20
3B
9B<EB>
1398:42
43
4D
50
38
3F
3F
3F<D3>
1618:20
17
82
20
A0
81
60
A2<B0>
1898:A9
SB
85
8B
A9
98
85
BC<8B>
13A0:43
4D
50
39
44
45
43
39<2B>
1620:00
Al
97
B5
83
E6
97
D 0 <as>
1SA0:20
40
82
20
58
82
A9
00<41>
13fl8:3F
43
4C
44
30
43
4D
50<64>
1628:02
E6
98
A5
A3
D0
08
2O<A0>
18A8=85
9C
A9
FF
85
A3
A9
£9<10>
1380=36
3F
3F
3F
43
4I>
50
35<7E>
1630: A0
81
A0
04
20
31
82
20<6B>
18B0:35
Al
A9
03
85
A2
20
39<C0>
13B8s44
45
43
35
3F
43
50
58<89>
1638:60
95
A9
23
20
17
82
A9<4A>
18B8=S3
A2
00
Ai
81
C9
4E
D0<42>
13C0=34
53
42
43
37
3F
3F
43<35>
1640:24
20
17
82
20
A0
81
60<23>
1SC0:04
A9
FT
85
9C
E6
Al
DO<CA>
13Cß:50
58
33
53
42
43
33
49<16>
1648:A2
00
Al
97
85
an
E6
97<A4>
taC8:ß2
E6
A2
A5
97
85
89
A547Q>
13D0S4E
43
33
3F
49
4E
58
30<2B>
1650:D0
02
E6
98
Al
97
85
Ö£<27>
1800^98
B5
SA
20
4B
8E
A5
Al<6ß>
13DS153
42
43
34
4E
4F
50
30<C2>
1658:E6
97
00
02
E6
98
A5
A3<31>
1808:85
83
A5
A2
85
84
20
D1<B5>
13E0:3F
43
50
58
32
53
42
43<8S>
1660=00
13
A5
8D
©5
83
20
A0<25>
1SE0:Ö1
A0
02
20
31
82
20
79<8S>
i3Ea:32
49
4E
43
32
3F
42
45<A5>
1668:81
A5
BE
35
83
20
A0
ai<25>
iaE8:94
20
58
82
20
AB
8E
A5<;09>
13F0:51
42
53
42
43
38
3F
3F<52>
1670:A0
02
20
31
82
20
60
95<a0>
ieF0:9C
D0
02
20
60
8B
F0
CD<F9>
13F8:3F
53
42
43
39
49
4E
43<93>
1678:A9
24
20
17
82
A5
80
as<F6>
ISFS:4C
6B
84
00
00
00
00
00<B9>
1400:39
3F
53
45
44
30
53
42<0G>
1680:83
A5
BE
85
84
20
B2
SKIO
1900:00
00
00
00
00
00
00
0O<32>
1408:43
36
3F
3F
3F
S3
42
43<29>
1688:A9
2C
20
17
02
A9
58
2O<10>
Laenge 6407 Bytes
1410:35
49
4e
43
35
3F
3F
20<56>
1690:17
82
60
A2
O0
Al
97
85<53>
Üsting zu »\
Happy-Mon« (Schluß)
»Happy-Mon« greift sogar auf einzelne Diskettensektoren
zu. Dies ist speziell bei Boot-Disketten nützlich, da sie keine
Files enthalten. Mit »R Sektornummer, Butferanfang« liest
man einen Sektor, entweder mit 128 oder 256 Byte Länge,
in den Speicher ab »Bufferanfsmg«. Mit »W Sektomummer,
Bufferanfang« läßt sich ein Sektor wieder zurück auf Diskette
schreiben.
Hexadezimal-Dezimal-Umwandlung
Gibt man beispielsweise »? 100« ein, wird der entspre¬
chende Hexadezimalwert ausgegeben. »? $100« wandelt
eine Hexzahl in eine Dezimalzahl um.
Bildschirmdarsfellung
Mit dem Befehl »K« steht normale oder invertierte Bild¬
schirmdarstellung zur Wahl.
Maschinensprache-Unterprogramme aufrufen
Mit »G Adresse« kann ein Maschinensprache-Unterpro¬
gramm, das mit einer RTS-Anweisung enden muß, aufgerufen
werden.
102
Der Programmcounter und die »+«-Variable
Zur Vereinfachung der Arbeit können Sie jederzeit die
Platzhalter und verwenden. Dabei repräsentiert
den Programmcounter und wird in den Funktionen U E, Z, A,
D, U, F, und T mitgeführt. Ein mit der Funktion »L« gestartetes
Listing setzt »L * «fort.»+«ist eine vom Benutzer frei definier¬
bare Variable. Den Wert von »* « ändert man mit Wert«, und
von »-h« mit Wert«. Die Befehle +« und »+ *« sind
zulässig.
3&Happy-Mon« arbeitet sowohl mit DOS-XLais auch mit DOS
2.0 oder DOS 2.5. Die abgedruckte Version läuft allerdings
nur mit DOS-Versionen, die nicht ständig im Speicher verblei¬
ben, wie DOS 2.0 oder DOS 2.5. Für Besitzer von DOS-XL
oder anderen residenten DOS-Versionen befindet sich auf
der üeserservice-Diskette eine zweite Version mit dem
Namen »M ASTER1.COM«.
Besondere Hinweise zu »Happy-Mon«
Geben Sie zunächst das Listing mit AMPEL ein. Ist s^Happy-
Mon« komplett abgetippt, speichern Sie das File bitte mehr¬
fach. Legen Sie sich auch eine Kopie auf einer weiteren Dis¬
kette an, die Sie an einem sicheren Platz aufbewahren. Sollte
dann Ihre Arbeitskopie versehentlich gelöscht werden,
haben Sie immer noch eine Kopie Sicher ist sicher!
Aufruf von »Happy-Mon«
Sollten Sie die ^gedruckte Version verwenden (auf der
Leserservice-Diskette finden Sie das File mit dem Namen
»MASTEROOM«), müssen Sie entweder mit DOS 2.0 oder
DOS 2.5 arbeiten. Um das Programm zu starten, gehen Sie
zunächst mit »DOS« ins DOS-Menü. Dann laden Sie den
Maschinensprache-Monitor mit der L-Funktion. Kehren Sie
anschließend mit B zum Basic zurück, jetzt können Sie bei¬
spielsweise ein Basic-Programm eingeben oder von Diskette
laden. »Happy-Mon« rufen Sie mit »? USR{32768)« auf. Sie
befinden sich anschließend im Eingabeeditor des Maschi¬
nensprache-Monitors. Hier können Sie dann alle beschriebe¬
nen Funktionen ausprcbieren. Mit X gelangen Sie zum DOS
zurück und mit Q zum Basic. Sollte sich vor dem Aufruf von
»Happy-Mon« ein Basic-Programm im Speicher befunden
haben, steht einer Weiterbearbeitung nichts im Wega
Die zweite »Happy-Mon«-Version ist nur auf der
Leserservice-Diskette erhältlich. Sie finden Sie mit dem
Namen »MASTER1.COM«. Diese Ausführung nutzt die Adres¬
sen ab $2200, also oberhalb von DOS-XL, Somit ist ein
Zugriff auf die Adressen $8000 bis $9FFF, in dem sich
»Happy-Mon« normalerweise befindet, möglich. Außerdem
ist diese Version Voraussetzung, wenn Sie die Diskettenver¬
sion des MAC/65-Assemblers verwenden. Bevor Sie
»Happy-Mon 2« einsetzen, ist noch das File »AUTRUN.A« in
»AUTORUN.SYS« umzubenennen. Anschließend können Sie
diese Diskette booten. Wenn Sie mit der Diskettenversion
des MAC/65-Assembler3 arbeiten, schalten Sie den Atari-
Computer mit gedrückter OPTION-Taste ein, um das Basic zu
desaktivieren. Von der OOS-Befehlszeile aus laden Sie dann
anschließend das File »MASTER1.COM«. Ansonsten sind die
Funktionen in beiden »Happy-Mon«-Versionen identisch.
Wichtige Annterkung
»Happy-Mon« verwendet die Zeropage-Adressen 128 bis
160! Diese sollten nicht verändert werden. Sprünge von und
zu Programmen, die diese Register benutzen, wie beispiels¬
weise Basic und der MAC/65-Assembler, sind allerdings pro¬
blemlos. »Happy-Mon« rettet diese Register bei der Initiali¬
sierung und stellt sie beim Verlassen (auch bei RESET) wie¬
der her.
Windows:
Nicht nur ein
Augen¬
schmaus
Mit cfer Window-Technik läßt sich eine Benutzer¬
führung realisieren, die bislang nur teuren
Personal Computern Vorbehalten war.
H ört man den Begriff »Window« oder Fenster, so ver¬
bindet man diese Begriffe mit einer hervorragenden
Benutzerführung. In dieser Hinsicht hat besonders
der Atari 520 ST von sich reden gemacht.
Das Programm »Windows« für den Atari 800XL7130XE ist
sicher nicht mit GEM, der Benutzeroberfläche des Atari ST,
zu vergleichen. Vielmehr soll es dem Atari-Fan zeigen, daß
sich eine abgespeckte Version auch auf den »kleinen« Com¬
putern realisieren läßt. Mit diesem Programm kann man an
einer beliebigen Stelle auf dem Bildschirm ein Fenster ein¬
blenden. Der Vorteil dieser »Window-Technik« liegt darin, ver¬
schiedenartige Texte oder Grafik und Text nebeneinander
bearbeiten zu können. Löscht man das Fenster, erscheint auf
dem Bildschirm wieder der ursprüngliche Text
Der Trick dabei ist relativ einfach. Bevor man ein Fenster öff¬
net, wird der überblendete Bildschirmausschnitt in einen
anderen Speicherbereich »gerettet«. Daraufhin ist dieser
Bildschirmausschnitt für andere Arbeiten frei. Benötigt man
das Fenster nicht mehr, wird der anfängliche Bildschirmaus¬
schnitt wieder in den Bildschirmspeicher geschrieben.
Soviel zur Fenstertechnik. Wenden wir uns dem Programm
selbst zu.
Tippen Sie zunächst Listing 1 mit dem Prüfsummer ab und
speichern Sie dann das Programm. Nachdem Sie RUN einge¬
geben haben, wird ein File mit dem Namen WINDOWS.08J
auf Diskettenlaufwerk Nummer eins abgelegt. Dieses File
enthält dann die eigentlichen Window-Routinen. Um es ein¬
fach und schnell von Basic aus laden zu können, verwenden
Sie Listing 2 (bitte mit dem Atari-PrüfSummer eingeben). Das
Window-Initialisierungsprogramm liest dann die Window-
Routinen in den Speicher. Da nun die Betriebssystemerwei-
terung im Speicher vorliegt können Sie bedenkenlos mit
NEW löschen.
Ein anderer Weg, das Programm »Windows« zu laden, ist
von Basic aus »POKE106,144:DOS« einzugeben. Vom DOS-
PROGRAMIVI-SrrECKBRIEF
Programm narrte
Windows
Programmtyp
Utility
Prog rammiersprache
Basic und Maschinensprache
Programmlange
4974 Byte
für Computer
800 XL/130 XE
zusätzliche Hardware
keine
Erngabehilfe
Prüfsummer und AMPEL
Bemerkung
Maschinenprogramm mit Basic-Lad er
Leserservice
Diskette (LADE.BAS, WINDOWS.COM.
WINDBEIS.BAS)
{Thomas Fischermann/wb)
So könnte ein typischer, mit Windows versehener Bildschirm
aussehen
Menü aus ruft man dann »WINDOWS.OBJ« auf und kehrt wie¬
der ins Basic zurück. Nun noch »?USR(37120)« eintippen,
und die Fenster sind abrufbereit. Die Betriebssystemerweite-
rung benötigt 4 KByte-RAM. Zieht man aber die Vorteile der
Fenstertechnik in Betracht, dann ist dieser Speicher
bestimmt kein verschwendeter Platz. Die Fenster werden in
Grafikstufe 0 übrigens genauso angesprochen, wie andere
Gerätetreiber auch.
Öffnen eines Windows für Ein- und Ausgabe
:^POKE 1538,[X-Länge des Windows]: POKE 1539, [Y-
Länge des Windows]: POSITION [X-Position], [Y-Position]:
OPEN #[Kanalnümmer 1-7],12,0,"W:
Durch den OPEN-ßefehf wird ein (zunächst leeres) Win¬
dow auf den Bildschirm ausgegeben. Dabei enthalten die
Speicherstellen 1538 und 1539 die X- und die Y-Ausdeh-
nung (X-Ausdehnung = 5 bedeutet zum Beispiel, daß im Win¬
dow 5 Spalten zur Verfügung stehen).
Beispiel: ^POKE 1538,10: POKE 1539,8; POSITION
4,2:OPEN # 1,12,0, "W:^«
Beschreiben eines Windows
»PRINT #[Kanalnummer wie bei OPEN]; 'TEXT V
Die Ausgabe von Texterfolgt, wie man es von den Grafik-Modi
1 und 2 her kennt Das ASCII-Zeichen 125 löscht den Inhalt
des Windwos, und der windowinteme Cursor wandert dann
wieder an die obere linke Ecke des Fensters. Wenn der Cur¬
sor dann den unteren Rand des Fensters erreicht hat. wird
der Inhalt des Windows nach oben gescrollt Beispiel:
»PRINT #1;"5+7=";5 + 7^
Einlesen einer Textzeile
»INPUT # [Kanalnummer wie bei OPEN]; [Variablen-
name]^.
Der INPUT-Befehl wurde gegenüber dem üblichen INPUT
etwas verbessert. Der Benutzer kann mit dem Cursor die
INPUT-Zeile nicht mehr verlassen (zum Ausbessern von
Fehleingaben stehen die Pfeiltasten und DELETE-BACK-
SPACE zur Verfügung). Außerdem kann man die maximale
Länge der Eingabe festtegen, indem man den entsprechen¬
den Wert in die Speicherzelle 844+[Kanalnummer * 16]
POKEt. Nach einem INPUT-Befehl steht in dieser Adresse
wieder eine Null. Enthält diese Stelle keinen Wert größer Null,
dann wird die Eingabetänge von der letzten Spalte des Win¬
dows begrenzt. Beispiel: »POKE 860,6:INPUT #1:A$«
oder »INPUT #1;X^.
Positionieren des Cursors im Window
»X= [Spalte 0 bis X-Ausdehnung (Inhalt von 1538) des
Windows minus 1 ]:Y=[Zeile 0 bis Y-Ausdehnung (Inhalt von
1539) des Windows minus 1 ]:POINT #[Kanalnummer wie
bei OPEN],X,Y«.
Das nächste Zeichen wird dann an der entsprechenden
Stelle ausgegeben (der POINT-Befehl funktioniertim Zusam¬
menhang mit dem Window wie der POSITION-Befehl beim
Bildschirm-Editor). Beispiel: »X=4: Y=1: POINT #1,X,Y«
Schließen eines Windows
»CLOSE # [Kanalnummer wie bei OPEN]«
Der ursprüngliche Inhalt des vom Window verdeckten Bild-
schirmteiis wird wieder hergestellt. Beispiel: »CLOSE # 1«.
Schließen eines Windows, ohne den ursprünglichen Bild-
schirininhalt wieder herzustellen
»POKE 832 +[Kanalnummer*16],255«. Nun kann der
Kanal wieder benutzt werden, obwohl das Window auf dem
Bildschirm bleibt. Beispiel: »POKE 848,255«.
Beim Öffnen und Schließen eines Windows (mit CLOSE)
verlegt der Window-Händler den Cursor in die obere linke
Ecke des Bildschirms.
Selbstverständlich erkennt der Window-Händler auch
eventuelle Fehler (zum Beispiel Cursor außerhalb des Bild¬
schirms), Man erh^t dann die gewohnten Fehlermeldungen.
Dadurch ist es fast unmöglich, die Window-Routinen durch
falsche Werte zum Abstürzen zu bringen.
Wer noch einen Atari 400 oder 800 besitzt, muß in die
Window-Initialisienjngsroutine (Listing 2) die Zeile »32005
POKE 121,254:POKE 122,254« einfügen. Die INPUT-
Routine des Window-Handlers benutzt nämlich diese
Adresse (KEYDEF), die bei den XL- und XE-Modellen auf den
Anfang der Tastaturbelegungstabelle zeigt, zur Tastatur¬
abfrage. Durch Abändern von Listing 1 (Zeile 105 »OPEN
#1,8,0, "C:''«) und Listing 2 (Zeile 32035 »OPEN #1,4,0,
'":...«) läßt sich die Betriebssystemerweiterung an den
Atari-Programmrekorder anpassen.
Listing 3 beinhaltet ein kleines Spiel, mit dem Sie die
Window-Betriebssystemerweiterung ausprobieren können.
Es handelt sich darum, durchziehen von Karten und Addition
ihrer Einzel werte möglichst nahe an die Zahl 23 heranzukom¬
men, sie aber nicht zu überschreiten.
Windows - technisch betrachtet
Die zentrale Ein-/Ausgaberoutine des Betriebssystems
(CIO) benutzt für die elementaren Ein-/Ausgabeoperationen
wie Gerät öffnen, Gerät schließen, Byte lesen, Byte schrei¬
ben, Statusabfrage und sonstiges, die sogenannten Geräte-
Handler. Die Anfangsadressen dieser Maschinensprach-
Unterprogramme werden von der CIO über die Handler-
AdressenTabelle (HATABS, $031A bis $033F) berechnet.
Durch Ergänzen dieser Tabelle mit eigenen Händler-
Adressen lassen sich beliebig eigene Ein-/Ausgabegeräte
definieren. (Dietrich Wagner/wb)
Initialisierungsprogram m
(Window-Händler wird in
HATABS eingetragen)
$9i00-$9tl8
Window öffnen
$9119-$92A4
Window beschreiben
$92A5”$93e3
Sonstiges (Cursor positionieren)
$93B4-$93DF
Textzeile ei niesen
S93£0-$961F
Zwischenspeicher für den vom
Window verdeckten Bild¬
schirminhalt
$9S00-$9C99
Systemvariablen für den
Window-Handler
$0600-$062F
Wichtige Adressen des Programms »Windowfc
104
8000:FF
FF
©8
91
IF
96
60
20<©O>
0188:91
A9
©0
8D
10
06
OD
11<FA>
0370:A9
FF
BD
FC
02
AD
FC
02<BC>
0008iF6
95
B8
03
2©
©B
96
6©<67>
©IC©:©6
A©
©1
6©
ÖD
12
06
AE<6A>
0378;C9
FF
F0
F9
AA
2©
23
95<G1>
0010: 18
91
37
92
DF
93
A4
92<62>
©1CS:01
©6
AD
©©
©6
18
65
58<15>
0380:8A
C9
27
D0
03
4C
7B
95<D3>
©018:lE
96
B3
93
4C
IC
96
20<3A:>
©ID©:A8
8A
65
59
AA
98
AC
11<63>
©38Ö:C9
3C
D©
©3
4C
89
95
A8<E2>
00203 88
92
A5
54
18
6D
03
06<ß6>
0188:06
C8
IS
69
28
90
01
E8<D2>
0390:Bl
79
BD
26
06
C9
7D
F0<CF>
©020:B8
06
30
04
C9
17
30
87<D1>
©1E©:80
D©
F7
18
6D
X©
06
90<42>
039S:CE
C9
7E
DO
03
4C
3C
95<F9>
003©:A0
BD
A9
FF
85
2©
6©
A5<9A>
©1£0:©1
ES
18
69
©1
9©
©1
E8<2F>
03A0:C9
lE
D©
03
4C
59
95
C9<74>
©038:55
10
6D
02
©6
80
Fl
30<B7>
01FOiB5
E0
06
El
AD
12
©6
29<EE>
03A8:9B
FO
3E
C9
IF
F©
14
AE<4B>
0040:EF
C9
27
38
03
4C
2A
91<F0>
01Fa:7F
C9
20
1©
©6
18
69
40<14>
^0380:BE
02
F0
©8
C9
61
30
07<F3>
©048:AD
©2
06
F0
E3
AD
03
06<B4>
©200:4C
04
93
C9
6©
10
03
38<AB>
©3B0:C9
7B
X©
03
38
E9
20
1B<B1>
005©:F0
DE
A6
54
A9
©8
8D
O0<60>
©208:E9
20
8D
13
©6
A9
B0
2C<6B>
ß3C0:6D
B6
02
AE
20
06
SE
10<4A>
0058: 86.
80
©1
©6
Eß
©©
FO
11<2F>
©21©:12
©6
F0
09
AD
13
06
18<02>
03C8:06
EC
22
06
30
08
FO
06<F8>
0060:AD
00
06
18
69
28
SD
©0<FF>
0218:69
80
SD
13
06
AD
13
06<C2>
0300:CE
2©
©6
18
90
OD
C9
1F<29>
©060106
90
03
EE
©1
06
CA
D0<12>
©22©:A©
©0
91
E©
EE
1©
©6
AD<E9>
03DS:D0
03
4C
6E
95
20
A5
92<FS>
©07©:EP
AD
0©
06
13
65
55
SD<FF>
0228:10
©6
CD
02
©6
DO
©8
A9<97>
03E©:2©
17
95
EE
2©
©6
4C
61<:40>
©078:0©
©6
90
03
EE
©1
©6
AE<49>
0230:00
SD
10
06
EE
11
06
AD<26>
03ES:94
Ä9
FF
ÖD
FC
©2
AD
21<FD>
0080:03
06
EB
ES
AD
©0
06
1S<98>
©238:11
©6
CD
03
©6
30
©3
2©<37>
©3F©:©6
8D
2©
©6
A9
©0
A4
2E<25>
©©08:65
50
05
E0
AD
01
06
65<BA>
0240:3F
93
A0
01
60
AD
©o
06<68>
©SFB:99
4C
©3
AD
23
©6
85
E2<A7>
0ß9ß:59
35
El
AS
53
A9
0©
85<AF>
0240:18
69
28
85
E2
AD
Ql
06<D1>
0400:AD
24
06
85
E3
AD
22
06<09>
0098:E2
A9
98
05
E3
2©
6©
92<29>
0250:69
00
85
E3
AD
00
©6
18<F0>
0408:38
ED
21
06
A8
81
E2
D0<83>
00A0:A9
0©
8D
1©
©6
3D
11
06<96>
0258= 69
50
85
E0
AD
01
©6
69<31>
0410:09
CE
22
©6
88
10
F6
4C<69>
00AQ:A4
2E
A9
©0
99
4C
03
20<97>
©26©:©©
85
El
A5
E2
18
65
58<8C>
04iS:El
95
4C
9E
95
A©
8©
ec<ii>
0©B©:B2
91
2©
92
92
A©
©1
60<90>
0268:85
E2
A5
E3
65
59
85
E3<Ö8>
0420:IF
DO
8C
QA
D4
CB
D0
F7<36>
00BB:2©
88
92
AD
©8
©6
85
E0<CJ&>
0270s A5
E0
18
65
58
85
E0
A5<71>
0428:60
AD
23
06
85
E2
AD
24<75>
00C©:AD
01
06
85
El
A5
E©
ie<DB>
0278s El
65
59
05
El
AE
03
06<57>
043©;06
05
E3
AD
20
06
38
ed<;fa>
00C8:65
50
35
E0
90
02
E6
El<21>
©200:CA
F0
©3
20
6©
92
AG
03<EF>
0438:21
06
A8
Bl
E2
49
8©
91<18>
0ßD©:A5
El
18
65
59
05
El
A©<E3>
0288:©6
AD
0©
©6
18
65
58
S5<E5>
0440:E2
60
AE
20
06
EC
21
06<F©>
©0D8:0©
A9
51
91
E0
20
22
92<8B>
0290:E2
AD
©1
06
65
59
85
E3<F0>
0448:D0
03
4C
61
94
CA
8E
2ß< Sl >
00E0:CO
A9
45
91
E0
A9
0ß
8D<17>
0298:A5
E2
18
69
28
05
E2
90<1S>
0450:©6
se
10
06
A9
2©
20
A5<F4>
0ßEO:04
06
EE
©4
06
A0
00
A5<8E>
02A©:02
E6
£3
CA
0©
F2
A9
0©<e9>
©458:92
20
17
95
4C
61
94
AE<26>
00F0:E0
lö
69
28
85
E©
9©
e2<5D>
02A8=A0
0©
CO
91
E2
CC
02
ß6<57>
0460:20
06
EC
21
06
DQ
03
4C<4A>
©0Fe:E6
El
A9
7C
91
E©
2©
2D<QA>
©28©:DQ
FS
AE
03
06
CA
BE
11<07>
0468:61
94
CA
8E
20
06
20
17<:20>
0100:92
C8
A9
7C
91
E0
AD
03<C4>
02B8:06
60
A6
2E
8D
4C
©3
30<7C>
©470:95
4C
61
94
AE
20
©6
ES<©D>
©1©O:06
CD
04
06
D0
DC
A5
E©<40>
02C©:ID
CD
©2
©6
10
18
BC
4E<CB>
©478:SE
20
06
20
17
95
4C
6K95>
©110:le
69
28
85
E0
90
02
E6<F1>
©2C8:03
30
13
CC
©3
06
1©
0E<D7>
O4S0:94
AD
B6
02
49
80
8D
B6<2C>
0118:El
A©
©©
A9
5A
91
E©
2©<;3E>
B2D0:SD
10
06
SC
11
06
A9
ß0<BA>
0488:02
20
17
95
4C
61
94
AD<79>
0120:22
92
CB
A9
43
91
E©
60<AB>
02D8:9D
4C
03
A0
01
60
A9
00<75>
0490:BE
02
F0
05
A9
©0
4C
95<39>
0128:A9
52
CB
91
E0
CC
02
06<91>
©2E0:9D
4C
03
A0
SD
60
AD
29<D2>
©49Ö:95
A9
4©
BD
BE
02
20
17<B3>
©130:D0
FS
60
A9
0©
C8
91
E0<BE>
02E8:©6
F©
03
4C
9E
95
A9
©1<9C>
ß4A0:95
4C
61
94
AD
20
©6
CD<7A>
0138:CC
02
©6
D©
F8
6©
2©
8e<7A>
02Fß:SD
29
06
A4
2E
AD
10
ß6<8A>
04AS: 22
06
90
02
D0
39
38
ED<32>
0140:92
AD
08
©6
18
65
58
B5<5E>
ß2F8:8D
20
06
8D
21
06
18
79<9D>
0480:21
©6
A8
AD
23
©6
85
E2<G6>
©148:E2
AD
01
06
65
59
85
E3<5B>
030©:4C
03
38
E9
©1
30
10
CD<3S>
04SO:AD
24
06
85
E3
J&l
E2
aD<67>
015ß:A9
©Q
65
E©
A9
98
85
£1<E3>
0300:02
©6
1©
0B
SD
22
06
B9<F9>
a4C0:26
06
29
7F
C9
40
B0
06<07>
©158:AE
03
©6
E8
E8
2©
6©
92<43>
0310:4C
03
F0
03
4C
18
94
AE<C3>
04C8:13
69
20
4C
CF
95
C9
60<BA>
0160:20
92
92
A0
01
60
AQ
FF<CQ>
0318:02
06
CA
8E
22
©6
AS
58<9D>
04D0:B0
03
38
E9
40
AS
AD
26<22>
©160:03
Bl
E0
91
E2
CC
02
ß6<18>
032©;iÖ
6D
0©
06
SD
23
©6
A5<4F>
©408;06
29
80
OC
26
06
0D
26<7a>
©17©:D©
F6
C8
01
E©
91
E2
A5<95>
©328:59
6D
©1
06
SD
24
06
AC<63>
04eO:06
EE
2©
06
A0
01
60
A9<36>
©178:E©
18
69
28
85
E0
90
02<E8>
0330:11
06
ce
AD
23
06
IS
69<AE>
0480;00
BD
29
06
A9
98
CE
02<EE>
0108:E6
El
A5
E2
69
28
85<1C>
0338i2S
SD
23
06
90
03
EE
24<©A>
04F0S 06
20
A5
92
20
17
95
A9<C1>
0138;E2
9©
©2
E6
E3
CA
D0
D6<22>
©340;©6
08
D©
EF
AD
23
©6
1S<;6A>
04FO;9B
A©
01
6©
A2
0©
A©
21<S9>
©19©:6©
A0
©0
A5
50
91
5E
6©<7B>
©343:6D
10
06
SD
23
©6
AD
24<C0>
05©©;BD
lA
03
D©
02
18
60
ES<ES>
0198:Aß
©8
81
58
85
5D
84
54<79>
0350:06
69
00
8D
24
06
EE
23<C4>
0508:ES
ES
88
88
88
DO
Fl
3B<36>
01A0:84
55
A5
58
85
5E
A5
59<84>
0358:06
DB
03
EE
24
©6
AD
11<:38>
0510:60
A9
57
9D
lA
©3
A9
0A<A3>
©1A8:85
5F
6©
C9
9B
D0
03
4C<13>
©36©;©6
OD
27
©6
EE
02
06
AD<02>
0518:9D
18
03
A9
91
9D
IC
03<DC>
01ß©:29
93
C9
7D
D©
©E
2©
B2<C4>
0368:27
©6
8D
11
©6
20
23
95<51>
0520:10
60
A©
©1
6©
60
©0
0ß<96>
Listing 1. Die »Windows«-Betriebssystemerweiterung. Bitte mit AMPEL eingeben.
3200ia DATA*104, lß4, 141,85,3,104,141 ,S4,3
,104,141,89,3,104,141,08,3,169,7,162,16,
32035 OPEW et ,4,0, UIINDOS.OBJ":FOR F=1
TO 6:BET #1,HI:NEXT F
<CC>
32,86,228,96
<NJ>
32040 HI=USR(ADR(BLOAD^>,37120,1400)
<QL>
32010 RESTORE 32000:DIM BL0AI>^(25>
<US>
32045 CLOSE #1
<RM>
32020 FOR F=1 TO 25;READ HI:BLOAD^(F,F>=
32050 HI=ÜSR(37120)
<TZ>
CHR^CHI)sMEXT F
<UA>
32060 END
<KS>
32030 POKE 106,144;GRAPHICS 0
<BU>
Listing 2. ßaslc-Lader für »Windows« (bitte mit dem AtarpPrüfsummer eingeben)
5 REM BEISP2,BAS
<JA> !
555 GOSUB 1100:LX=22:LY=I--POSITION 8,0; G
10 REfl
<JO>
□SUB 2300:7 #3;"^Weiter^mit^lCTL Y>RETUR
20 REM Zuerst "WINDINIT.BAS” laufen
1 a55
NCCTL Y>.";:INPUT #3?1$
<8Q>
en
<KL>
557 CLDSE #3
<NE>
30 REM
<JQ>
560 IF GEW>0 THEN GOSUB 1700;GOTO 502:RE
100 REM *** 23 ***
<IW>
M >>> GEWONNEN <:<<
<JX>
150 2 "tESC CTL <>"=SETCaLOR 2,5,4;!
SETCO
570 NEXT N
<IH>
LÖR 1,0,14:SETCQLÜR 4,5,0
<TY>
5S0 GOTO 502
<0M>
200 DIh (40),I^<20>,NA^(20),PÜ(2)
,AW^(
997 REM
<CD>
1),X(2),y(2),CF(2)
<CC>
99B REM UP FRAGE
<HS>
210 ;N^(40):N#(2)=NS(1)
<SS>
999 REM
<C3>
220 X(1)=0:X(2>=lB:PU(l)=0:py(2)=0
<JT>
1000 ? #3;"Jetzt*bist*Du^dran,":7 #35NS(
230 CF(1)=0:CF(2)=ß
<VC>
N*20-19,N*20>;
<KS>
500 GOSUB 1200;REM >>> ANFANG <<<
<DV>
1010 ? #3;”Wi1Ist*Du^einG^Karteziehen^(J
502 FOR N=1 TO 2
<NU>
/N)^7^";
<KG>
510 LX^20;LY=7;POSITION X(N>,N*2-1;!
GOSUB
1020 RETURN
<OZ>
2300
<MC>
1097 REM
<VB>
520 GOSUB 1000
<QQ>
1098 REM UP PUNKTEANZEIGE
<LE>
530 IF CF(N)=1 THEN GOSUB 2100;GOTO
S50
<EG>
1099 REM
<VJ>
540 GOSUB 2000
<RF>
1100 LX=30:LY=10:POSITION 4,10;GOSUB 230
550 GOSUB 1600:REM >>> KARTE ZIEHEN
<<<
<UR>
553 GOSUB 1800
<UX>
Listing 3. Ein einfaches Spiel mit Windows
105
0
<EH>
1730
7 #3;7 #3;"Waech^tes*Spielt*ICTL
1110
? #3:? #3; "...***^*.k*******23****‘'
<SI>
V>RETURNICTL Y>."
<LD>
1120
2 #3 = 7 #3;NSC1,20) ;PU(1):? #3;
1740
INFUT #3;IS:PU<1)=0=PUC2)^a=GEW=0=C
? #3;
NS(21,40);":*";PUC2)
<XM>
LOSE
#3
<2R>
1130
? #3 = 2 #3:7 #3: {C)-.1985*DWS"
<HC>
1750
RETURN
<PW>
1140
RETURN
<PH>
1797
REM
<VP>
1177
REN
<VD>
1798
REM PRUEFEN, OB SPIEL ZU ENDE
<JD>
117S
REN UP ANFANG
<TO>
1799
REM
<vx>
1179
REN
<VL>
1800
IF PU<1)<21 OR PUC2X21 OR GEW>0 TH
1200
LX=32:LY=10;POSITION 3,0;6öSUB 2300
<ZU>
EN RETURN
<EE>
1210
? #3:? #3; *,.*,***,*,23**
<QZ>
1810
IF PÜ(1)>PU(2> THEN GEW=1:RETURN
<ZH>
1230
7 #3:7 #3; “Wie*hei^st*cler*er^1:e*Spi
1820
IF PU t2)>PU C1) THEN GEW=2;RETURN
<AI>
eler*7"'-- INPUT #3; 1^: C 1 ,20) =1$
<AJ>
1830
GEW=3:RETURN
<AU|>
1235
IF THEN NS<1,5)=”ATAKI" = CFC1)
1997
P£M
<VT>
= 1
<CF>
199S
REM UP SPIELERZUe
<DS>
1240
7 #3:7 #3;''Wie*heisst*der*zweite*Sp
1997
REM
<WB>
INPUT #3; IS: N$ t2l ,40) =1$
<GA>
2000
X=15:Y=3;POINT #3,X,YsINPUT #3;AWS
<GJ>
1245
IF I" THEN NS <21 , 28) == ” CONPUTER “ :
2020
IF AWS="N*' THEN KG=0: RETURN
<DN>
CF<2)
^1
<2K>
2030
IF AWS<>"J" THEN 2000
<LY>
1250
CLOSE #3:RETURN
<E(a>
2040
KG=1:RETURN
<AE>
1577
REM
<VE>
2097
REM
<VC>
1578
REN UP KARTE ZIEHEN
<LH>
2098
REM UP COMPUTERZUG
<EX>
1579
REM
<VT>
2099
REM
<VK>
1600
IF NOT KG THEN RETURN
<PE>
2100
GOSUB 2200
<XY>
1610
PP=INT (RND (0) *3) -1-3
<NL>
2110
IF KG=1 THEN ? #3?"J";RETURN
<IW>
1615
PU(N)=PU(N)+PP
<TK>
2120
7 #3; RETURN
<BF>
1620
7 #3; "Dui*bÄSt,*" ;PP: ”*Pijinkt.e" :? #3;”
2197
REM
<s;e>
gezogen."
<SG>
2198
REM UUP C0MPUTERENTSCHEIDUN6
<DY>
1630
IF PU<N)>23 TI-EN 7 #3; ”DiJi*hast*verl
2199
REM
<VM>
oren '
; GEW^Ni- C N^ 1) - (N=2 >
<MH>
2200
IF PU (NX 19 THEN Kß=l = RETURN
<XU>
1635
IF PÜ(N>=23 THEN ? #3;"Du*ha5t*gewo
2210
IF PU(N)>20 THEN KG^= RETURN
<TA>
nnen \
! “;GEW=N
<OH>
2220
IF PÜ(N+(N=1)-CN=2) XIS THEN KS=0;R
1640
RETURN
<PR>
ETURN
<VZ>
1697
REM
<VN>
2230
KG=1;RETURN
<AF>
1678
REM UP ENDE
<BE>
2297
REM
<V6>
1677
REM
<VV>
2293
REM UUP WINDOW GEFFNEN
<FA>
1700
LX=34=LY=6:PaSITION 2,2:G0SUB 2300
<UM>
2299
REM
<VO>
1705
IF 6EW=3 THEN 7 #3= "Unentschieden !”
2300
POKE 153a,LX:P0KE 1539,LY:POKE 880,
:? #3:GOTO 1730
<MJ>
255;OPEN #3,12,0,"W:":RETURN
<YB>
1710
7 #3; *'Bravo,*‘';NS(6EW*20-19,GEW*20)
<AK>
1720
7 #3; "Du*.hast*,ge Wonnen, "
<.LM>
Listing 3. Ein einfaches Spiel mit Windows (Schluß)
Großes Proisaii»diroibeii
Dieses Sonderheft haben wir
für Sie gemacht, liebe Leser.
Und damit Sie in Ihren Sonder¬
heften nur solche Themen vor¬
finden, die Sie auch wirklich
interessieren, brauchen wir Ihre
Meinung. Schließlich soll ein
mögliches nächstes Atari-Son¬
derheft noch besser, interes¬
santer und informativer werden.
Und damit wir wissen, was Sie
wollen, schicken Sie bitte den
ausgefüllten Fragebogen an
uns zurück.
Natürlich gibt es auch etwas zu
gewinnen. Unter allen Einsen¬
dungen verlosen wir viele inter¬
essante Preise^
Um an tJer Verlosung teilzunehmen, müs¬
sen Sie den folgenden Fragebogen aus¬
füllen, ihn in ein Kuvert stecken und an
unsere /Ndresse schicken:
k
• 2 Atari 1050-Diskettenlaufwerke, gestiftet von Atari
• 1 Atari 1029-Drucker, gestiftet von Atari
• 10 Gutscheine über je ein Buch freier Wahl aus
dem Markt&Technik-Angebot
• 5 Textverarbeitungs-Programme Atari-Schreiber
für alle Atari-Computer, gestiftet von Atari
• 20 T-Shirts im »Happy-Computer«-Look
Redaktion Happy-Computer, Der Rechtsweg ist ausgeschlossen,
MarktSTechnik Verlag AG, Brrsendeschluß ist der SO.Aprii 1986.
Kennwort Atari-Sonderheft,
Hans-Pinsei-Straße 2 , 8013 Haar (wb)
106
beeinflussen kann. Weiter¬
hin wird in diesem Kapitel
auch waagrechtes und senk¬
rechtes Scrollen bespro¬
chen.
Wer also mehr aus seinen
Programmen machen möch¬
te, sollte auf »Das Atari-
Buch, Band 2« zurückgrei¬
fen. Schließlich steckt im
Atari mehr als nur ein einge¬
bautes Basic, (wb)
Hans Lorenz Sehnender, Ruttetf Bichler, »Das
Atail-Ggch, ßgnd &. Technik. 197 Sei¬
ten, ISBN 3-89090-072-0. Preis 32 Mark
Sprühende Ideen
mit Atari-Graphik
SPRiÄSNDE
fr^.ATAHiGRAPHfK
’RwnBowtey
Zielgruppe: Anfänger
und Grafikinteressierte
Mit einer Auflösung von
320x192 Punkten und bis
zu 256 gleichzeitig darstell¬
baren Farbschattierungen,
ist der Atari-Computer kaum
zu schlagen. Allerdings ist
die Grafikprogrammierung
nicht aut Anhieb verständ¬
lich. Vor allem wenn man
seine Programme mit be¬
wegter Grafik ausschmük-
ken möchte, wird es kompli¬
ziert. Die Player Missile-
Grafik, die für Bewegung auf
dem Bildschirm sorgt, läßt
sich nämlich nur mit entspre¬
chenden Kenntnissen pro¬
grammieren.
Wer animierte Grafik ein-
setzen, mehr über die ver¬
schiedenen Grafikmodi des
Atari-Computers wissen,
eine neue Display-List erzeu¬
gen und einen neuen Zei¬
chensatz definieren möchte,
findet zu diesen Themen
jeweils ein eigenes Kapitel
vor. Um Ihr neu angeeigne¬
tes Wissen auch gleich zu
testen, wurden in das Buch
Fragen eingebaut, die am
Ende des Buches beantwor¬
tet werden.
Im Anhang finden sich
noch einige Arbeitsblätter
zum Entwurf und zur Gestal¬
tung von Bildschirmen. Die¬
se Seiten sollte man sich
natürlich fotokopieren, um
diese wirWich sinnvollen Hil¬
fen immer wieder einzuset¬
zen. (wb)
Tom Rowley. sSprühende Ideen mit Atari Gra-
phik*, te-wi Vertag, 211 Seiten,
iSßN 3-921803'39-K, Preis 49 Mark
Atari 600XL/800XL
Intern
Zielgruppe: Fortgeschrit¬
tene und Profis
Wenn Sie sich bereits in
Basic auskennen, sich an¬
schließend der Maschinen¬
sprache zuwenden und
gleichzeitig natürlich auch
mehr über die Hardware des
Atari-Computers wissen
möchten, dann ist das Buch
:^Atari dOOXUSOOXL Intern«
für Sie ein unerläßliches
Hilfsmittel. Angefangen von
der Speicherverteilung, bis
hin zu ausführlichen Erklä¬
rungen der einzelnen Spe¬
zialbausteine des Atari-
Computers, findet man alles
Wissenswerte. Ausführlich
wird jedes einzelne Register,
jeder wichtige Baustein be¬
sprochen, sei es der Antic
(zuständig für Grafik), der
GTIA {Bildausgabe) oder der
Pökey (zuständig für Tonaus¬
gabe, Tastaturabfrage etc.).
Im letzten Kapitel ist noch
der Gesamtspeicherplan der
Atari-Computer abgedruckt,
der nochmals alle Adressen
genau beschreibt. Wer also
wirklich alles über seinen
Atari wissen möchte, für den
ist das Buch ^Atari 600XU
800XL intern« ein absolutes
Muß. (wb)
Eicrtler. Grohmann, »Atari eOOXL'SOOXL
IritecTid, Data Becker, 383 Seiten,
3'S9011'053’3, Preis 49 Mark
Das Atari Profibuch
Zielgruppe: Fortgeschrit¬
tene und die es werden
möchten
Abgesehen von der ^t-
was anderen Einleitung« mit
viel Humor, verbergen sich
im >Atari Profibuch« Informa¬
tionen, auf die man zukünftig
nicht mehr verzichten kann.
In diesem Buch findet man
alles über Speicheradres¬
sen, die speziellen Bau¬
steine und die Besonderhei¬
ten des Atari.
Vor allem den Besonder¬
heiten der Atari-Computer
haben sich die Autoren in
diesem Buch zugewandt So
ist ein Hauptaugenmerk auf
die Funktion des Antic-
Bausteins und die verschie¬
denen GTIA-Grafikmodi ge¬
richtet. Auch Informationen
darüber, wie man Bild¬
schirmscrollen realisiert, wie
man den Display List Inter¬
rupt verändern kann und wie
Interrupts allgemein anzu¬
sprechen sind, fehlen nicht
Wer seinem Atari-Compu¬
ter schon immer mal besser
klingende Töne entlocken
wollte, findet zu diesem
Thema ein eigenständiges
Assembler-Programm vor.
Und wen zuletzt noch die
Anschlüsse der Atari-
Computer interessieren,
kann sich am Ende des
Buches über eine Reihe von
Bildern freuen, die jeden ein¬
zelnen Anschluß genaue-
stens erklären. Sogar einen
Schaltplan des 800XL kann
das »Atari Profibuch« aufwei¬
sen. Mit diesem Buch wer¬
den einem also alle Tore,
nicht nur zur Hardv^/arewelt,
weit geöffnet. (wb)
Julian ReschJffi. Andreas Wieüioff, »Das Atari
Profibuch«, Sybex Vertag, 289 Seiten,
ISBN 3 S8745-603-X, Preis 42 Mark
6502-Assembler-
Kurs für Beginner
Zielgruppe: Fortgeschrit¬
tene
Schon das Äußere des
Buches weicht von der Norm
ab. Es ist kein starres,
gebundenes Buch, sondern
eher als Paperback zu
bezeichnen. Es bezieht
seine Angaben auf den As¬
sembler TEX. AS ( = Terminal
Extended Assembler}, wel¬
cher ebenfalls aus dem
Hause Dripke stammt.
Das Buch ist sowohl f ür die
Theorie als auch für die Pra¬
xis geschrieben, so daß man
es am besten am Computer
bearbeitet. Die Assembler¬
befehle werden in kleinen
Programmen vorgestellt, so
daß die Wirkung aller
Befehle sofort ausprobiert
werden kann.
Zwischen diesen mehr
praktisch orientierten Kapi¬
teln sind andere mehr theo¬
retischer Art eingestreut, in
welchen von Bits und Bytes,
vom Speicheraufbau oder
von den verschiedenen
Adressierungsarten in der
Assemblersprache gespro¬
chen wird. Sie sind, wie das
ganze Buch, in einer locke¬
ren, leicht verständlichen
Sprache geschrieben. Und
hat man wirklich einmal
etwas nicht verstanden, so
kommt am Ende eines jeden
Kapitels noch einmal eine
Zusammenfassung, in wel¬
cher das Wichtigste der letz¬
ten Seiten wiederholt wird.
(Arnd Wängler)
Andreas Driphe, »6502-Assömblei'kurs für
Beg^ner«, Interface Agc Verlag, ISBN:
3-83936-000-1. Preis 29,80 JVtark
Basic-Schalter
Möchte man das eingebaute Basic abschalten,
muß man normalerweise den Atari-Computer
erneut booten. Die Maschinencode-Routine
»BSWITCH.COM« kann das genauso gut.
Is man sich bei Atari dazu entschieden hat, das einge¬
baute Basic durch Drücken der OPTION-Taste nur
während des Bootens zu desaktivieren, hat man
einige Anwender nicht gerade glücklich gemacht. Doch die
Notwendigkeit ständig neu zu booten, besteht nun nicht
mehr, denn mit der kurzen Maschinensprachroutine
»BSW1TCH.COM« kann man das Basic von DOS aus ein¬
beziehungsweise ausschalten.
Tippen Sie zunächst das kleine Basic-Programm ab, das
die benötigte Datei mit dem Namen »BSWITCH.COM« auf der
Diskette erzeugt. Sie können nun durch einfaches Laden des
Programms »BSWITCH.COM« das eingebaute Basic ein-
oder ausschalten. Geben Sie dazu unter DOS 2.5 zunächst
L ein. Betätigen Sie erschließend die RETURN-Taste und
laden Sie dann das File »BSW1TCH.COM«. War das Basic zu
diesem Zeitpunkt eingeschaltet, wird es ausgeblendet; war
es ausgeschaltet, funktioniert das Ganze umgekehrt.
Wichtiger Hinweis: Basic funktioniert nur dann einwandfrei,
wenn beim Booten nicht OPTION gedrückt wurde!
(Julian F. Reschke/wb)
1000 REM Basic Switch V 1.0 <WW>
1010 REM von Julian F_ R^schk© <ZB>
1020 REM Cc> Happy Computer <EV>
1030 REM <TH>
1040 OFEN #2,Ö,e,BBWITCH*COM" <IN>
1050 PRUEF=0 <IS>
1060 FOR 1^1 TO 23 <GC>
1070 READ WERTiFRUEF=PRUEF+WERT <JN>
10S0 PUT #2,WERT:NEXT I <FZ>
1090 CLOSE #2:IF PRÜEFO2301 THEN ? '^ERR
OR“ <PX>
1100 END <PR>
1110 DATA^Z55,255,0,6,10,6,173,248,3,73,
1,141,248,3,76,116,228,224,2,225,2,0,6 <SD>
Basic-Listing »BSWITCH«
iE0e
■t
ISIS
Switch V
1.0
1020
5 von Jalian F
Reschke
1030
; (c) Happy Computer 1985
1040
_
1050
5
1060
RÜNAB = ^02E0
;Einsprungvektor
1070
BAS I CF = $^03F8
;Basic-Flag
10B0
WARMSV ^ $E474
;Warmstartvektor
1090
1100
♦= $0600
1110
1120
LDA EABICF
1130
EOR #1
;Statue 'umdrehen'
1140
STA BASICF
i 150
JMP WARMSV
^ War mst art machen
1160
?
1170
RUNAD
1130
m
1190
.WORD $0600
;Einsprungvektor
1200
7
1210
-END
Quell-Listing »BSWITCH« (MAC/65-Assembier)
PROGRAMM-STECKBRIEF
PrograTtimname
ßasic-Schalter
Program mtyp
Utility
Pfogrammiers prac he
Atari“Basic (Assembler)
Prognammlänge
342 Byte
für Computer
800 Xiyiso XE
zusätzliche Hardware
Diskettenlaufwerk
Eingabehitfe
Prüfsummer
Bemerkung
Schaltet den Atari-Basic-Interpreter
nach Belieben
ein oder aus
Leserservice
Diskette (BSWITCH.BAS)
BNtzschneUe
Zeichen-
Umwandlung
Die interne Zeichendarstellung unterscheidet
sich vom normalen Zeichensatz. Eine Maschinell-
routine liest den Bildschirm und ordnet die gelese¬
nen Zeichen blitzschnell einem String zu.
E f in gemeinsames lästiges Übel der meisten gängigen
Heimcomputer ist, daß, je nach Situation, eine anders¬
artige Kodierung von Zeichen benutzt wird. Bei Atari-
Computern muß man zwischen zwei verschiedenen Darstel¬
lungen unterscheiden.
Die ASCII-Darstellung wird für alle standardmäßigen Ein-
und Ausgaberoutinen des Betriebssystems verwandt. Für
den Basic-Programmierer bedeutet dies: Alle Basic-Kom¬
mandos wie PRINT, INPUT, LOCATE etc arbeiten mit dieser
Zeichendarstellung.
Daneben gibt es noch die interne Darstellung von Zeichen.
Diese findet man beispielsweise bei der Reihenfolge der Zei¬
chen in einem Zeichensatz oder bei der Kodierung der Zei¬
chen im Bildschirmspeicher vor.
Gerade hier setzt das Programm »SCRSTR« an. Häufig gilt
es, auf dem Bildschirm dargestelite Zeichen in eine normale
Zeichenkette zu übertragen. Das Betriebssystem stellt zwar
hierfür eine Funktion zur Verfügung, nämlich den LOCATE-
Befehl, der aber auch Nachteile hat: Die einzelnen Zeichen
müssen über eine Schleife von der Büdschirmposition in die
Zeichenkette übertragen werden. Dies erfordert entspre¬
chend viel Zeit. Solche Verzögerungen sollte man aber bei
Programmen, die auf Tastatur-Eingaben reagieren, vermei¬
den.
Die Maschinenspracheroutine »SCRSTR« überträgt genau
960 Zeichen (40 Zeichen pro Zeile multipliziert mit 24 Zeilen
ergibt 960 darstellbare Zeichen auf dem Bildschirm in Grafik¬
stufe 0) eines normalen Textbildschirms in eine Zeichenkette
Diese muß vorher unbedingt auf die 960 Zeichen Länge
dimensioniert werden. Teile des Bildschirms können an¬
schließend problemlos als Teile dieser Zeichen kette behan-
110
delt werden. Hier ein Beispiel (SCREEN$ ist die benutzte Zei¬
chenkette): Die zweite Bildschirmzeile erhält man mit
»SCREEN$(41,80)^c. Wird das 10, bis 20. Zeichen aus der 4.
Zeile benötigt so müssen die Zeichen in SCREEN$ als Posi¬
tion 130 bis einschließlich 140 gelesen werden.
Noch eine Anmerkung zum Basic-Programm. Nach dem
Eintippen speichern Sie das Programm zunächst ab und
geben RUN ein. F^lls die Daten für die Maschinensprache¬
routine fehlerhaft sind, erfolgt eine entsprechende Meldung,
Ansonsten wird als Demonstration das Programm geLISTet
und in die Zeichenkette SCREENS übertragen, die daraufhin
auf dem Bildschirm ausgegeben wird.
(Julian R Reschke/wb)
PROGRAMM-STECKBRIEF
Program mname
Screen to String
Programmtyp
Utility
Program m iersprache
Basic (Assembler)
Programm länge
869 Byte
für Computer
800 XU130 XE
zusätzliche Hardware
Diskettenlaufwerk
Eingabehilfe
Prüfsummer
Bemerkung
Umwandlung von interner Darstellung
in normalen Zeichensatz
Lßseraervice
Diskette (SCRSTR.BAS)
1000 REM —- <wx>
1010 REH Screen to String V 1.0 <ZÜ>
1020 REH von Julian F- Reschke <ZE>
1030 REM (c) Happy Computer 1985 <FV>
1040 REM- <XJ>
1050 REM <TIM>
1060 REM String +uer Bildinhalt <KB>
i070 D IM SCREENS(96ß):SCREENS C 960 > =”*" < 7E >
1080 REM Bild tuellen <VW>
1090 POKE S2,0=LIST <WT>
1100 REM Routine definieren <WY>
1110 DIM SCRSTR$C71):PRUEF=0 <LE>
1120 FOR 1=1 TO 91 <1X>
1130 READ WERT:SCRSTR^<I,i>=CHR^(WERT) <LB>
1140 PRUEF=PRUEF+WERT:NEXT 1 <PA>
1150 IF RRUEFO12436 THEH 2 "Fehler !“ = EN
D <YV>
1160 DATA^104,104,133,215,104,133,214,16
5,SÖ,133,212,165,89,133,213,24,165,80,10
5,192,133,216,165,89,105 <HC>
1170 DATA^3,133,217,160,0,162,0,177,212,
16,2,162,255,41,127,201,64,16,5,24,105,3
2,203,9,201,96,16,5,56,233 <QP>
1180 DATA*64,16,0,224,255,208,2,73,123,1
45,214,230,212,208,2,230,213,230,214,203
,2,230,215,165,212,197 <LY>
1190 DATA*2i6,208,200,165,213,197,217,20
8,194,96 <RM>
1208 REH <TC>
1210 REM Routine aufrufen <GF>
1228 WERT=USR(ADR CSCRBTRS>,ADR(SCREENS >} <QC>
1230 REM SCREENS au^eben <KT>
1240 PRINT SCREENS <TH>
ßasic-Programm zu »SCRSTR«
1008
7
.. ... ...
1340
LDA (FRß),Y
1010
; Screen
to String V 1.0
1350
BPL NICHT_INVERS
1020
;von Juilian F» Rescbke
1360
LDX #$FF
1030
; (c> Happy Computer 1985
1370
NICHT_INVERS
1040
5
—--
13S0
AND #^7F
1050
5
1390
CMP #64
1060
SAVMSC =
= ^58 ; Vektor auf
Anfangs
1400
BPL GR_64
adresse des Bildspeichers
1410
CLC
1070
FR0 =
SD4
1420
ADC #32
1080
DEST =
^D6 5 Zeiger auf
String
1430
BNE FERTIG
1090
ENDE -
^D8 ; Zeiger auf
Ende de
1440
GR_64 CtIP #96
s Bildes
1450
BPL FERTIG
1100
7
1460
SEC
1110
* =
^0600 ; Programm iet versc
1470
SEC #64
hiebbar
1480
BPL FERTIG
1120
7
1490
FERTIG
1130
PLA
;Anzahl der
Paramet
1500
CPX #$FF
1 Invers gewesen?
er
1510
BNE WAR_NICHT
1140
PLA
; Anfangsadresse des
1520
EOR #*80
5 Invertieren
Strings
1530
WAR_NICHT
1150
STA
DEST-H
1540
STA (DEST),V
f
1160
PLA
1550
INC FR0
1170
STA
DEST
1560
BNE KEIN_CARRY
1180
;Adr. des Bi1dsp _ hoien
1570
INC FR0+1
1190
LDA
SAVHSC
1580
KEIN_CARRY
1200
STA
FR0
1590
INC DEST
1210
LDA
SAVHSC+1
1600
BNE KEIN_CARRY2
1220
STA
FR0+1
1610
INC DEST+1
1230
;Ende des Bi1dsp- berechnen
1620
KEIN_CARRY2
1240
CLC
1630
LDA FR0
;Ende?
1250
LDA
SAVMBC
1640
CtiP ENDE
1260
ADC
# <960
1650
BNE CONVERT
1270
STA
ENDE
1660
LDA FR0+1
1280
LDA
SAVMSC+1
1670
CMP ENDE+i
1290
ADC
# >960
1680
BNE CONVERT
1300
STA
ENDE+1
1690
5 das war"s
1510
;Hauptschleif e
1700
RTS
1320
CONVERT
LDY ^0
1710
7
QuelEUsting zu »SCRSTR«c
1530
LDX
#0
1720
.END
(MAC/65-Assembler)
Bildschimausschnitt
schnell gelöscht
Erfolgen häufig wechselnde Bildschirmausgaben,
sollten bestimmte Ausschnitte des Monitors auch
gleich wieder frei sein.
anchma! ist es ganz nützlich, wenn man bestimmte
Bildschirmbereiche schnell löschen kann. Zwar ist
dies durchaus von Basic aus realisierban allerdings
etwas langsam. Schneller geht es in Maschinenspracha Die
kurze Routine »Bildloesch« läßt ein beliebig großes Feld auf
dem Bildschirm im Bruchteil einer Sekunde verschwinden.
Die Maschinen-Unterroutine wird durch die Programm¬
zeilen 1000 bis 1120 in den Speicherbereich ab 1536 ge-
POKEt. Hierbei handelt es sich um die Page 6, die besonders
für kurze Maschinenroutinen geeignet ist. Der Aufruf des.
Programms erfolgt mit »X=USR(1536,SC-1 + DS,ZEI¬
LEN,SPALTEN)«.
Dabei enthält SC die Bildschirmstart-Adresse Von Basic
aus läßt sich dieser Wert auch mit den Adressen 88 und 89
ermitteln. SD stellt die absolute Bildschirmposition dar. Sie
wird mit Zeile X 40+Spalte errechnet ZEILEN gibt die Anzahl
der Zeilen und SPALTEN die Anzahl der Spalten an, die das
zu löschende Feld umfassen soll.
PROGRAMM-STECKBRIEF
Programm naiTie
Sildloesch
Programm typ
Utility
Programm iers prache
M asch ine nsprach e
Programm länge
690 Byte
für Computer
800 XU130 XE
zusätzliche Hardware
keine
Eingabehilfe
Prüfsummer
Bemerkung
löscht Teile des ßildschimris
Leserservice
Diskette (8L0ESCH.BAS)
TB BEH 0ER ÄliFSElIF EWFBjiQT. MET
sa HEM 51=05*1 'SC,;
4a SEK ^
LBB
LTB cataäf
128
E. ^
IBIM
1BT3:
1033
T3P
1038
fliaf SlHTCmjEB » “: S
iiae
iS
lila
4IS, iXS, Z«S>
1
1128 DATA IZS,. ISS ,,17-7
283,231,36
^ i»5 , S * iäS * 1.77 , ,
Hier ist bereits ein Teil des Bildschirms gelöscht
ln der vorliegenden Form funktioniert die Routine »Bild-
loesch« nur in Grafikstufe 0. Weiterhin noch in den Grafikstu-
fen, die 40 Byte pro Zeile in Anspruch nehmen. Ansonsten
muß der vorletzte Wert in Zeile 1110 entsprechend angepaßt
werden. Soll das Programm beispielsweise in Grafikstufe 1
verwendet werden, muß hier der Wert 20 anstatt 40 stehen.
{Wolfgang Czerny/wb)
10 REM LGESCHEN VON BILDTEILEN <GS>
20 REM DER AUFRUF ERFOGT MIT <OM>
30 REM X=USRCI536,SC,ZEILEN,SPALTEN) <KX>
40 REM ** VON WDLFGANG CZERNY <WO>
70 GRAPHICS 0:LIST <HS>
100 GOSUB 1000 <QI>
110 SC=PEEK (SS)+256*PEEK CSV) <FS>
120 ZEILE=10:SPALTERS <SO>
125 DS=2EIL£#40+SPALTE <EC>
130 X^SR (1536,SC-1+DS, 10,20) <YJ>
140 GOTO 140 <NG>
1000 REM UNTERPROGRAMM NACH 1536 <WW>
1010 S=0:RESTORE 1100 <OX>
1020 FOR A=1536 TO 1575:READ D=POKE A,D=
5=5+D:NEXT A <LQ>
1030 IF S0556S TUEN ? DATEN-FEHLER ! “ : S
TOP <WZ>
1070 RETURN <PU>
1100 DATA.<^104,104,133,177,104,133,176,10
4,104,170,104,104,133,178 <LZ>
1110 DATA*164,178,169,0,145,176,136,208,
251,24,165,176,105,40,133 <KQ>
1120 DATA^176,165,177,105,0,133,177,202,
208,231,76 <AS>
Basic-Listing zu »Bildloesch«
0100
; ■it' Loesehen
einzelner
0110
; Bildausschnitte 6r^0
0120
;***** >
:=USR(1536,SCPOS,Y,X)
0130
*=
S0600
0140
PLA
0150
PLA
;SCPOS NACH
0160
STA
^B1
;S00B0 UND
0170
PLA
;#00B1
0180
STA
^B0
0170
PLA
;ZEILEN IN
0200
PLA
- X^^^G.
0210
TAX
0220
PLA
;SPALTEN
0230
PLA
;NACH #B2
0240
STA
^E2
0250
LI
LDY
SB2
;#B2-YREG.
0260
LDA
#0
;LEERZEICHEN
02S0
L2
STA
(^B0>,Y
;SPEICHERN
0270
DEY
;ZEILE
0300
BNE
L2
;ZU ENDE?
0310
CLC
0320
LDA
#B0
;ADDIERE
0330
ADC
##2S
i40 SPLATEN
0340
STA
#B0
;ZU SCPOS
0350
LDA
0360
ADC
##00
0370
STA
#B1
0380
DEX
;ALLE ZEILEN
0390
BNE
LI
;FERTIG?
0400
RTS
;RETURN
Quell-Listing zu
»ßildloesch« (MAC/$5)
Daten schnell
zur Hand
Bilder, Daten und Variablen lassen sich mH »Turbo
10« blitzschnell von Diskette laden.
E ' s ist allgemein bekannt, daß im Betriebssystem des
Atari-Computers sämtliche wichtigen Routinen für
Ein- und Ausgaben bereits enthalten sind. Unter Basic
ist die Auswahl allerdings beschränkt: Man kann die Befehle
GET und PUT benutzen, die allerdings immer nur ein einzel¬
nes Zeichen lesen beziehungsweise ausgeben. Eine Alter¬
native stellen die Befehle PRINT und INPUT dar. Allerdings
kann man mit diesen Befehlen nur maximal 125 Zeichen auf
einen Massenspeicher schreiben und lesen.
Die Funktionen der CIO heißen nun »GET CHARACTERS«
und »PUT CHARACTERS«. Sie sind zwar als die Befehle
BGET und BPUT in Basic XL, Basic XE und im Turbo-Basic XL
definiert, im Atari-Basic fehlen sie aber. Daher soll hier
gezeigt werden, wie man sie über eine Maschinensprachun-
terroutine unter Atari-Basic ansprechen oder simulieren
kann.
Für Ein- und Ausgaben stehen auf dem Atari acht »Kanäle«
{0 bis 7} zur Verfügung. Zu jedem dieser Kanäle gibt es einen
sogenannten lOCB (InpuVOutput-Control-Block). Für uns
sind hier allerdings nur drei Register interessant.
iCCOM: Über dieses Register gibt man die Nummer des
auszuführenden Befehls an. (Beispiel: »7« bedeutet »PUT
CHARACTERS«, »11« bedeutet »GET CHARACTERS«.). Als
nächstes interessiert uns die Zwei-Byte-Variable ICBADR,
über die die Anfangsadresse des zu lesenden beziehungs¬
weise zu schreibenden Speicherbereiches festgelegt wird.
Zuletzt folgt noch ICBLEN. Hier gibt man die Anzahl der zu
übertragenden Zeichen an.
Bevor man die Schneiladeroutine anspricht, muß ein Kanal
bereits geöffnet sein. Jetzt folgt also nur noch der Sprung
nach ClOV {$E456}, und die gewünschte Funktion wird aus¬
geführt. Der Statuscode der Operahon kann übrigens über
das Y-Register abgefragt werden. Wir übertragen den Wert in
die Variable FRO {$D4) in Seite 0. Über die USR-Routinen
können dann die Ergebnisse an das Basic-Programm zurück¬
gegeben werden.
Falls nach RUN die Meldung »Fehler« ausgegeben wird,
haben Sie einen Wert in den DATA-Zeilen falsch eingegeben.
Korrigieren Sie in diesem Fall bitte das Programm.
Natürlich lassen sich auch Inhalte von Zeichenketten oder
Zeichensätzen laden und speichern. Hier sind der Phantasie
keine Grenzen gesetzt.
(Julian F. Reschke/wb)
PROGRAMM-STECKBRIEF
ProgrammnaiTie
Turbo IO
Programmtyp
Utility
Program mJersprache
Atari-Basic (Assembler)
Programmlänge
1146 Byte
für Computer
800 XU130 XE
zusätzliche Hardware
Disketten laufwerk
Eingabehitfe
Prüfsummer
Bemerkung
Schnelles Laden und Speichern von
Daten
iBsersorvice
Diskette {TURBOIO.BAS)
imm
REM--— — ^ —
<WX>
1Q10
REM Turbo-I/O V1.0
<FB>
1020
REM von Julian F- Reschk©
<ZE>
1030
REH Cc> Happy Compu-ter 19S5
<F9>
1040
REM------
<XJ>
1050
DIM TURB0^C39>
<JE>
1060
PRÜEF=0
<IV.^
1070
FOR 1=1 TO 39
<LA>
1080
READ WERT:TURBO# <I,I)=CHR# C WERT)
<FX>
1090
FRUEF=PRUEF-H4ERT
<VH>
1100
HEXT I
<ER>
1110
IF PRUEF03595 THEN ? "Fehler 1:END
<MO>
1120
DATA^104,104,104,10,10,10,10,170,
10
4,104,157,66,3,104,157,69,3,104,157,68
<XV>
1130
DATA...3 ,104,157,73,3,104,157,72,3,
32
,86,228,132,212,169,0,133,213,96
<KD>
1140
REH
<TM>
1150
REM Zur Dentonstration:
<GY>
1160
GRAPHICS 24=SETCQLÜR 2,0,0zCOLOR
1
<AH>
1170
FOR 1=0 TO 319 STEP 5
<MD>
1180
PLOT I,0=DRAWTD 319-1,191
<LC>
1190
NEXT I
<FS>
1200
FOR 1=0 TO 191 STEP 3
<HU>
1210
PLOT 0,I:DRAWTO 319,191-1
<PD>
1220
MEXT r
<EZ>
1230
REM
<TL>
1240
REH Bild abspeichern
<BI>
1250
REM AnTangsadresse; PEEKCSS)+256*PE
EKte9}
<WP>
1260
REM Laenge: 192*40=7680
<LM>
1270
REM BeTehl: Schreiben=ll
<JC>
1280
□PEN #i,8,0,"D:TEST-PIC"
<(3M>
1290
0=U5R CADR(TURBO*) ,1,11,PEEK CB8> +256
*REEK(e9),7680)
<MG>
1300
CLOSE #1
<MP>
1310
REM Bild loeschen
<DL>
1320
GRAPHICS 24:SETCaLaR 2,0,0
<TP>
1330
REM Bild laden; BeTehlscode 7
<NP>
1340
OPEN #1,4,0,"DiTEST,PIC"
<NY>
1350
□=USR(ADR(TURBO*),1,7,PEEK(88)+256*
PEEKC89>,76B0)-CLOSE #1
<XU>
1360
GOTO 1360
<RW>
Listing 1. »Turbo lO« als Easic-Lader
1000 ;---
1010 ;TurbD-I/0 VI.0
i02ß ;von Juli an F, ReechJce
10^0 ;Happy Computer
1040 ;------
1050 ;
1060 AD
1070
f
10SO
SD4
1090
ICCOM =
$0342
1100
ICBADR = $0344
niQ
ICBLEM =
: $0348
1120
ClOV =
$E456
1130
5
1140
*=
$0600
1150
5
1160
PLA
;Anzahl der PÄr*met
er
1170
PLA
1180
PLA
; K^nal rnjmmer
1190
ASL
A ;*16
1200
ASL
A
1210
ASL
A
1220
ASL
A
1230
TAX
1240
PLA
1250
FLA
; Kiommandonuimmer
1260
STA
ICCOM,X
1270
PLA
;Adresse
12B0
STA
ICBADR+1,X
1290
PLA
1300
STA
ICBADR,X
1310
PLA
1320
STA
ICBLEN+l,X
1330
PLA
1340
STA
ICBLEN,X
13S0
JSR
CIQV in's DS
1360
5TV
FR0 $ Feh1ercode
1370
LDA
#0
1380
STA
FR0+1
1390
RTS
1400
-
1410
- END
List'mg 2. Quelltext zu i>Turbo 10« (MAC/65-Assembler)
Wortumbruch
perfekt
Ohne Rücksicht auf Verluste - sprich Trennregeln
- werden unter Basic Worte einfach »zerrissen«.
Mit der kurzen Routine »Wordwrap« passiert das
nicht mehr.
UMM er schon einmal versucht hat, ein Textadventure in
Basic zu schreiben, kennt das Problem: Man kann
W W zvrar das Spiel auf dem Bildschirm verfolgen, aber
einige Wörter werden am rechten Rand einfach »auseinan¬
dergerissen«. Diesem Manko setzt nun unsere kurze Routine
»Wordwrap« ein Ende - und das, ohne beim Programmieren
lange »herumzutüfteln«. Die kurze Maschinenroutine läuft auf
allen XL- und XE-Modellen. Der auszugebende Text muß zu¬
nächst einmal in einem maximal 255 Zeichen langen String
stehen. Ein String mit dem Namen TEXTS soll nun auf dem
Bildschirm dargestellt werden. Der Aufruf der »Wordwrap«-
Routine erfolgt dann mit: »X=USR{Adresse,ADR(TEXT$),
LEN{TEXT$})«. [3er Wert »Adresse« bezieht sich dabei auf die
Anfangsadresse der »Wordwrap«-Routine im Speicher (sie
wird in einem String abgelegt).
Weiterhin ksuin man noch den rechten Rand mit »POKE
83,X« und den linken Rand mit »POKE 82.X« festlegen. Aller¬
dings darf eine Zeile dann nicht kürzer als das längste ver¬
wendete Wort sein. (Bastian Robin/wb)
PROGRAMM-STECKBRIEF
Pfogrammname
Wortumbruch
Programmtyp
Utility
P rog rammiersprache
Maschi nensprache
Prograimnlänge
1701 Byte
für Computer
800 XD130 XE
zusätzJiclie Hardware
keine
Eingabehilfe
Prüfsummer
Bemerkung
Bei Textausgabe auf dem Bildschirm
immer zusammenhängende Worte in
jeder Zeila
Leserservice
Diskette (WORDWRAPBAS)
50 REM ^‘^*^*^**-ik*^*^**************-vt-^^
51 RErt * DeuiQ Programm fuer den *
52 REM * Wordprozessor- Eingabeteil *
53 REM *’)t*»***-»tit*****-it-»t-ifr*»****«-****-i(-*
100 DIM T*(255)
105 OPEN
106 POKE 62,10:PGKE ^,30
110 RESTORE :? ”^ESC CTL < J; POSITION 5,
6: ? “A> *Te>ctj.ohnej..RB*WDrdprozessor " : POSI
TION 5,10:? "B) tARB^Wordprozesso
r”
120 6ET A=66 THEN 200
130 IF A065 THEN 120
140 ? "CESC CTL <>":? :FOR W=1 TO 9
150 READ T*:? T$;:NEXT 0
160 ? :? **<£SC CTL ->R £TURN ”;: INPUT TSzB
OTO 110
200 ? "^ESC CTL <>":? :FÜR W=1 TO 9
210 READ T#=SQSUB 100O:NEXT W
220 GOTO 160
990 REM ****if-*Ht*^(‘****-it *♦*»********■*■**
991 REM * Das folgende 6502 Untei— ^
992 REM * Programm druckt den Text— *
993 REM * String ohne Zerreissen *
994 REM * von Woertern Zeile -fuer *
995 REM * Zeile auf dsn Bildschirm- *
996 REM * Laenge und Adresse des *
997 REM * Strings werden an das
998 REM * UnterprograiBfn uebergeben- *
999 REM ^■«'^■it-int»***^^********-«:*********
1000 A=ADR tT$ >:L=LEN(T^)
1040 X=IJSRCADR<"hbC CTL E ^LhC CTL E> KbhpGC
CTL E > M) CCTL A> CCTI^J g^CCTL B>*-CCTL ,>CC
TL D^NlKI- .p<CTL N>^ Sg-f N^NDMp+Pm“ <.ESC CTL
>:> hHDMp ^:CTL F> lKI^Pt C CTL CCTL X>eUESt
CTL F> CCTL H> N^NDMp -CCTL OlKiCTL
Xlt CTL P>J> CCTL ,>C CTL MI ^pCCTL B> €CTL ->
"),A,L)
1050 RETURN
1991 REM * Data—Zeilen ^uer *
1992 REM * Ad venture Text *
2000 DÄTA-LDua.stehstAani,^.Eingang^e£ ner^gew
al t i gen^Hoehl e - j.Li nks*neben*di r*-f uehr tu..e
i n-i.Pf ad*nach^Westen ; -.er^Lsi eht
2010 DATA*., i eml i ch^ver wi 1 dert ^aus*und*
wi r d^vonAgewal ti gen-i.Grashal men*verdeckt -
*^*schei nt *i ns* verwunschen e*T al
2020 DATA*,*zu*fuehren _ *Richtung*Osten*e
rhebt*sich*ein*gewaltiger*Huegel*der*an*
diB*Hoehle*angrenzt p *Ausserdem
2030 DATA*,*dringen*aus*der*Hoeh1e*pIoet
z 1 i ch*mer kwuer di ge*Laute ; *si e.^wer den*! mm
er*lauter*und*es*hat*den
2040 DATA*,*Anschein*als*haetten*sie*Dic
h*entdeckt-.n-**Was*nun?
<IC>
<RD>
<TT>
<II>
<£E>
<BZ>
<WB>
<ZW>
<EK>
<EL>
<IH>
<C«>
<KM>
<IA>
<XS>
<NZ>
<MU>
<WV>
<0E>
<SY>
<SK>
<RZ>
<DV>
<VQ>
<IX>
<NV>
<HE>
<Ba>
<pi>
<RP>
<6U>
<ej>
<SB>
<NW>
<DW>
<KA>
<EZ>
<HY>
Listing zu »Wordwrap«
Du. 5 «3» £:iEa:T53-n:gr
Er .seh.
ss-ÄTt-en-; skch:. ^
Du a« 'eiaer - , V■
5ewtTi«£^ : ,
si.eh.t ic.b
t!',. ■■. Er - ■ ^ ^ ■" ■ ■
v.er’vras’clseü-e TaJi' i ^
ll’r’- 'ij i' . ‘ ’
Hier sind die Texte am rechten Rand zerstückelt. Es fäüt
einem schwer, den Text zu lesen, da man am Ende einer Zeile
den Rest des Wortes in der nächsten Zeile suchen muß.
Mit der Routine »Wordwrap« werden Worte am rechten Rand
nicht abgeschRitten. Man kann den Text fEössig lesen. Neben¬
bei wirkt diese Darstellung auch viel professioneller.
114
Seitensprung
ins Betriebssystem
Einige brauchbare Betriebssy-
stem-4loutinen lassen sich auch
von Basic aus nutzen. Wir zeigen
ihnen wia
0 er Atari-Computer enthält ins¬
gesamt 24 KByte ROM, von
denen das Basic genau ein Drit¬
tel, also 8 KByte eännimmt. Den ande¬
ren Teil beansprucht das Betriebs-
systen.
Dieses enthält alle wichtigen Unter-
programmei die der Computer schon
nach dem Einschalten benötigt So ist
beispielsweise Basic zu aktivieren, sind
Peripheriegeräte anzusteuern und ähn¬
liches mehr. Das Basic selbst verwen¬
det ständig Routinen des Betriebssy¬
stems - dies ist auch der Grund dafür,
warum im Basic-Interpreter so viele
Befehle zur Verfügung stehen. Es ist
beachtlich, daß dafür nur 8 KByte ROM
genügen.
Nichts, was mit Ein- und Ausgaben zu
tun hat, wie beispielsweise die Befehle
PRINT, GRAPHICS, IN PUT oder OPEN
erledigt das Basic selbst Es spielen
dabei immer Unterprogramme des Be¬
triebssystems mit
Da es die Atari-Computer bereits seit
etwa sechs Jahren gibt und auch ver¬
schiedene Versionen{400/800/600XLj'
800XL/130XE) existieren, wurde das
Betriebssystem mehrfach geändert.
Wie soll man nun wissen, an welcher
Stelle ein bestimmtes Unterprogramm
zu finden ist?
Atari hat zum Zeitpunkt der Entwick¬
lung des Betriebssystems vorausge¬
plant So wurde dem Atari-Computer
eine sogenannte »Sprungleiste« mit auf
den Weg gegeben. Das bedeutet daß
man Unterprogramme nicht an ihrer
eigentlichen Position im Speicher auf¬
ruft, sondern an einer festen Stelle in
einer Tabelle von Einsprungvektoren,
die sich garantiert nicht ändert. Ein Bei¬
spiel: Ob auf dem Atari 400 oder dem
Atari 130 XE, mit einem Sprung nach
Adresse $E477 (siehe Tabelle) wird ein
Kaltstart ausgeführt. Bei $E477 selbst
steht nur ein Sprungbefehl zur eigentli¬
chen Kaltstart-Routine. Wo sich diese
befindet, muß der Programmierer nicht
unbedingt wissen.
Dieser Aufbau hat noch einen großen
Vorteil: Wer sich nämlich ein anderes
Betriebssystem-ROM in seinen Com¬
puter einbauen läßt oder sich ein modifi¬
ziertes Betriebssystem in den RAM-
Bereich von $C000 bis $FFFF lädt,
kann davon ausgehen, daß alle Pro¬
gramme, die sich an die Sprungtabelle
halten, auch auf Ihrer Betriebssystem-
Version laufen. So kann man mit einem
veränderten Betriebssystem beispiels¬
weise einen RAM-Disk-Treiber für den
130 XE einbauen, der dann nicht nur
unter DOS 2.5, sondern mit allen Pro¬
grammen mit Diskettenzugriff funktio¬
niert. Ein solcher Treiber für den zusätz¬
lichen Speicher ist in verschiedenen
Spielen bereits integriert.
Betrachten wir die Tabelle der Ein¬
sprungadressen, die auf den ersten
Blick ziemlich kurz aussieht. Dies liegt
ausschließlich daran, daß einige der
Routinen fast universell einsetzbar
sind. Die Sprungleiste beginnt bei der
Adresse 58448 ($E450}, und jede
Einsprungstelle belegt natürlich 3 Byte
(nämlich 1 Byte für einen Maschinen-
sprache-»JMP« (Sprungbefehl) und 2
Byte für die Adresse). Jede Einsprung¬
adresse hat eine feste Bezeichnung,
die von Atari in den entsprechenden
technischen Dokumentationen vorge¬
geben wurde. Ideal wäre es, wenn sich
jeder an diese Benennungen halten
würde. Dann wäre eine einheitliche
Namensgebung gewährleistet und
andere Programmierer könnten sich
schneller in fremde Programme hinein¬
denken. Jeder Name eines Einsprungs
hat als letzten Buchstaben ein »v«, als
Erinnerung daran, daß es sich ja nur um
einen Vektor handelt, und nicht etwa um
die tatsächliche Adresse der Routine im
Betriebssystem-ROM.
Fünf Sprünge in die Tiefe
Der zweite Teil der Liste enth^t fünf
Einsprüngei die man nur auf dem 600
XL, 800 XL und 130 XE nutzen sollte.
Programme, die auf dein Atari 400 und
800 laufen sollen, dürfen diese Ein¬
sprünge auf keinen Fall verwenden!
Man sollte sich also folgendes merken;
Programme, die für alle Geräteversio¬
nen bestimmt sind, dürfen nur Ein¬
sprungadressen zwischen $E450 und
$E47F benutzen. Alle anderen Aufrufe
von Routinen im Bereich ab $0000 auf¬
wärts sind illegal.
Nach diesen Vorüberlegungen kom¬
men wir zu den einzelnen Routinen.
Hier muß man einerseits zwischen den
Routinen unterscheiden, die für den
Basic-Programmierer interessant sind
und andererseits zwischen denen, die
nur auf Maschinenspracheebene von
Bedeutung sind. Beginnen wir mit einer
kurzen Übersicht über die einzelnen
Funktionen:
68448 $E460 - DSKIV
Über diese Routine kann man den
seriellen Bus für die Benutzung der Dis¬
kettenstation initialisieren.
58451 $E453 - DSKINV
Ein- und Ausgaberoutine für die Dis¬
kettenstation, über die man einzelne
Diskettenoperationen ausführen kann
(beispielsweise Sektoren lesen oder
schreiben).
58454 $E456 - ClOV
Dies ist der Einsprung für das wichtig¬
ste Unterprogramm des Betriebssy¬
stems, der CtO. Über die CIO (Central
Input/Output Utility) können alle stan¬
dardmäßigen Ein- und Ausgabeopera¬
tionen durchgeführt werden (Datei öff¬
nen, Bytes schreiben, Bytes lesen
eta). Bis auf zwei Befehle nämlich,
BPUT und BGET (siehe auch den Arti¬
kel über eine Schnell-Laderoutine in
diesem Sonderheft), sind alle CIO-
Funktionen auch über Basic-Befehle
ansprechbar.
58457 $E459 - SIOV
Einsprung in die Ein- und Ausgabe¬
routine für den seriellen Bus. Mit dieser
Routine kann man alle Ein- und Ausga¬
ben über den seriellen Bus durchfüh¬
ren, unter anderem natürlich auch die
unter DSKINV aufrufbaren Funktionen.
58460 $E45F - SETVBV
Diese Routine kann Vektoren von
wichtigen Betriebssystemroufinen än¬
dern. Dafür ist eine eigene Routine
nötig. Wird nämlich ein Vektor in dem
Moment aufgerufen, in dem man ihn
verändert, kann dies einen Systemab¬
sturz zur Folge haben. Um einen Vektor
zu ändern, muß man zunächst das X-
und das Y-Register (High- und Ijow-
Byte) mit dem gewünschten Wert
laden. Mit dem Akku legt man dann den
zu verändernden Vektor beziehungs¬
weise Zähler fest
Wert Name Bedeutung
0 VIMIRQ IRQ-Vektor
1-5 CDTMVI-5 Systemzähler 1-5
6 WBLKI Vektor auf
Immediate-VBI
7 WBLKD Vektor auf
Deferred-VBI
58463 $E45F - SYSV8V
Routine zur Beendigung des
Immediate-VBI (Vertical Blank Inter¬
rupt).
58466 $E462 - XITVBV
Routine zur Beendigung des De-
ferred-VBl.
58469 $E465 - SIOINV
Routine zur Initialisierung des Pokey-
Chips, der beim Einschalten nicht initia¬
lisiert wird.
58472 $E468 - SENDEV
Pokey-Chip auf Ausgabe stellen.
58475 $E468 - INITIV
NMI-Interrupts initialisieren.
58478 $E46E - ClOiNV
Routine zur Initialisierung der CIO
(siehe oben).
58481 $E471 - BLKBDV
Vektor für den Basic-Befehl BYE, der
beim Atari 400/800 in den Memo-Rad-
Modus und bei den neueren Geräten in
den Selbsttest führt.
58484 $E474 - WARMSV
Vektor für den Warmstart: entspricht
dem Drücken der RESETTaste
58487 $E477 - COLDSV
Vektor für den Kaltstart; entspricht
dem Aus- und Einschalten des Compu¬
ters (allerdings wird der zusätzliche
RAM-Bereich des XE nicht gelöscht).
58490 $E47A - RBLDKV
Einen Block vom Kassetten-Recor-
der einiesen.
58493 $E47D - CSOPIV
Einen Kanal für das Lesen von Daten
vom Kassetten-Recorder öffnen.
58496 $E480 - PUPDIV
Sprung zum Einschaltbild, das beim
XL und XE dem Selbsttest entspricht.
58499 $E483 - SLFTSV
Sprung in den Selbsttest.
58502 $E486 - PHENTV
Eintrag in der Gerätetreibertabelle
vornehmen.
58505 $E489 ~ PHULNV und
58508 $E48C - PHINIV
Spezielle Routinen für die Benutzung
des parallelen Busses.
Die Erfahrung zeigt, daß von den auf¬
geführten Routinen nur acht häufiger
benutzt werden. Dies sind natürlich
zunächst einmal die Einsprünge für
Warmstart (von Basic: USR(58484))
und Kaltstart {USR{58487)}. Dazu
kommen SETVBV, SYSVBV und XITVBV.
die bei Interrupt-Routinen des öfteren
notwendig sind. Es bleiben die drei Ein-
und Ausgaberoutinen DSKINV, ClOV
und SIOV.
Da alle ClO-Funktionen (bis auf die
oben genannte Ausnahme) direkt über
Basic-Befehle ansprechbar sind, blei¬
ben also für den Basic-Programmierer
noch die beiden Routinen DSKINV und
SIOV.
Sie steuern die Ein- und Ausgaben
über den seriellen Bus, wobei DSKINV
sozusagen eine auf die Diskettensta¬
tion »spezialisierte« Version von SIOV
ist.
In der obigen Liste war sehr gut zu
erkennen, daß man beim Aufruf von
Betriebssystemroufinen die Prozessor¬
register oft auf bestimmte Werte setzen
muß. Dies ist jedoch mit der USR-
Funktion nicht möglich. Außerdem kann
man mit USR nur speziell für Basic
geschriebene Routinen aufrufen, dadie
mit USR übergebenen Werte automa¬
tisch auf dem Prozessor-Stack abge¬
legt werden. Daher benötigt man eine
spezielle USR-Routine, die zunächst
die Prozessorregister lädt und dann
einen »echten« Sprung ausführt. Ein
solches Progrsunm finden Sie im abge¬
druckten Basic-Programm.
Bitte speichern Sie das Programm ab,
bevor Sie es mit RUN ausprobieren.
Zunächst wird das 35 Byte lange
Maschinenprogramm in die Zeichen¬
kette CALL$ gelesen. Daraufhin wird zu
Demonstrationszwecken, mit Hilfe der
Betriebssystemroutine DSKINV, der
Bildschirm in Grafikstufe 24 mit dem
Inhalt der ersten 60 Sektoren auf der
Diskette gefüllt. Hier eine Erklärung der
Register, die man setzen muß:
Trickreiche Adressen
769 $301 - DUNIT
Nummer des anzusprechenden Dis¬
kettenlaufwerks (1 bis 8).
770 $302 - DCOMND
Kommando der auszuführenden
Funktion. Das 1050-Laufwerk von Atari
versteht folgende Kommandos:
33 (»!«); Formatieren mit 720 Sektoren
34 (»"«): Formatieren mit 1040 Sekto-
ren
80 (»P«): Sektor schreiben ohne Über¬
prüfung (läuft nur auf dem Atari 800, XL
und 130 XE)
82 (»R«): Sektor lesen
83 (»S«): Status überprüfen
87 (»W«): Sektor schreiben mit Über¬
prüfung
772,773 $304,$305 - DBUFLO.HI
Zeiger auf die Stelle im Speicher, ab
der die Informationen eines Sektors von
Diskette gelesen oder geschrieben
werden.
778,779 $30A,$30B - DAUX1/2
Nummer des anzusprechenden Dis¬
kettensektors.
Betrachten wir nun den Rest des Bei¬
spielprogramms: In den Zeilen 1160 bis
1180 werden den Registern zunächst
Konstanten zugeordnet. Dies ist nicht
unbedingt notwendig, trägt aber zur
Verständlichkeitdes Programms bei. Es
folgt in Zeile 1190 das Einschalten der
hochauflösenden Grafik. Außerdem
wird die Anfangsadresse des Bildspei¬
chers berechnet und in der Variablen
SC abgelegt. Bereits in Zeile 1200 wer¬
den die ersten Register für die DSKINV-
Routine gesetzt: DUNIT enthält den
Wert 1, weil das erste Laufwerk benutzt
werden soll. DCOMND wird auf Lesen
von Sektoren (»R« wie Read) gesetzt.
Werte, die über den Bereich von 0 bis
255 hinausgehen, erscheinen beim
Atari immer als Doppetbytes, bei denen
das zweite Byte das höherwertige ist.
Konkret heißt das, daß man den Wert
Adresse
Tabelfe der wichtigsten Emsprungvektoren
Hex.
Dez.
Name
SeschreibuRg
$E450
58448
DSKIV
Initialisierung des Laufwerks
SE453
58451
DSKINV
Ein- und Ausgabe für Diskettenstation
$E456
58454
ClOV
Central Input/Output-Routine <CIO)
$E459
58457
SIOV
Serial Input/Output-Routine (SJO}
$E45C
58460
SETVBV
Interrupt-Vektoren setzen
$E45F
58463
SYSVBV
Beende immediate-VBI
SE462
58466
XITVBV
Beende Defen'ed-VSI
$E465
58469
SIOINV
Initialisiere POKEY-Chip
$E46S
58472
SENDEV
Schatte PO KEY auf Ausgabe
$E46ß
58475
IMTINV
Interrupts initialtsieren
$E46E
58478
ClOlNV
CIO initialisieren
$E471
58481
BLKBDV
Vektor für >BYE«
$E474
58484
WARMSV
Warmstart-Vektor
SE477
58487
COLDSV
Kaltstart-Vektor
$E47A
58490
RBLOKV
Record von Kassette lesen
Die folgenden Einsprünge gibt es nur auf dem 600 XL, 800 XL und 130 XE!
$E480
58496
PUPDIV
Vektor zum Einschattbild
$£483
58499
SLFTSV '
Vektor zum Selbsttest
$E486
58502 '
PHENTV
Eintrag in HATAßS vornehmen
$E489
58506
PHULNV
Eintrag löschen
$E48C
58508
PHINIV
Parallelen Bus initialisieren
116
1000 REM- <RW>
1010 REM Betriebssystem-Demo <I3T>
1020 REM von Julian F. Reschke <ZE>
1030 REM (c) Happy Computer <EY>
1040 REM- <SI>
1050 DIM CALL3:(35) :CALLf <3S)="^'' <FS>
1060 PRüEF=0 <IV>
1070 FOR I=l TO 35 <1S>
1080 READ WERT:PRUEF=PRUEF+WERT <JQ>
1090 CALL#<I,I)=CHRi(WERT) <JA>
1100 NEXT I <ER>
1110 IF PRUEFO4907 THEN PRINT CHR#(125)
;"Datentehler!":END <DD>
1120 REM <TG>
1130 DATA*104,104,104,133,212,104,104,13
3,213,104,104,133,214,104,133,215,104,56
,233 <BD>
1140 DATA^l,170,165,215,233,0,72,138,72,
165,212,166,213,164,214,96 <DJ>
1150 REM <TP>
1160 DUNIT=769:DC0MND=778 < QR >
1170 DBUFL0-772:DBUFH1=773 <YN>
1180 DAUXl=778iDAUX2=779;DSKINV=58451 <XB>
1190 GRAPHICS 24sSETCOLOR 2,0,0:SC=PEEK(
88)+256*PEEK(89) <EX>
1200 POKE DUNIT,1:PQKE DCDMND,ASC("R"):P
OKE DAUX2,8 <NQ>
1210 POKE DBUFHI,INT<SC/256):POKE DBUFLO
,SC-256*PEEK(DBUFHI) <IK >
1220 FOR 1=1 TO 60 <GI>
1230 POKE DAUX1,I <LX>
1240 WERT=USR(ADR(CALL#),0,0,0,DSKINV) <LV>
1250 L0=128+PEEK(DBUFLO):IF LO<256 THEN
POKE DBUFLO,LO;GOTO 1270 <SL>
1260 L0=L0-256:P0KE DBUFHI,1+PEEK(DBUFHI
)sPaKE DBUFLO,LD <JQ>
1270 NEXT I <FO>
1280 GOTO 1280 <SO>
Mit diesem Programm können von Basic aus Betriebssystem-Vektoren
angesprungen werden. AnschlieBend kehrt man wieder ins Basic zurück.
einer solchen Adresse folgender¬
maßen berechnen kann:
»PEEK(Adresse}+256* PEEK
(Adresse-HI)«
Analog muß man natürlich vergehen,
wenn man ein solches 16-Bit-Register
verändern will. Da nur die Sektoren bis
Nummer 60 angesprochen werden sol¬
len, muß das High-Byte der Sektornum¬
mer immer den Wert 0 enthalten. Es
muß also nur ein einziges Mai, vor dem
Eintritt in die Hauptschleite, richtig
gesetzt werden. Anschließend noch mit
der gleichen Methode DBUFüO/HI auf
den Anfang des Bildspeichers bringen.
Die Schleife von 1220 bis 1270 benutzt
das Indexregister »1« als Schleifen Zäh¬
ler, so daß man I als Low-Byte der Sek¬
tornummer betrachten und in DAUX1
übertragen kann.
Schließlich folgt noch der Aufruf der
Betriebssystemroutine Da DSKINV
keine speziellen Werte in den Prozes¬
sorregistern erwartet, wird hier einfach
jeweils die 0 als Wert angegeben. Zu
guter Letzt muß noch das Doppelbyte
DBUFLD/HI um genau 128 erhöht wer¬
den, da schließlich jeder Sektor 128
Byte lang ist.
Sie haben sicherlich bemerkt, daß
dabei nicht unbedingt die größte Lade¬
geschwindigkeit erreicht wird. Das liegt
daran, daß die Basic-Befehle zwischen
den einzelnen Aufrufen von DSKINV
immer so lange warten müssen, bis die
Diskette wieder eine volle Umdrehung
zurückgelegt hat. Erst dann kann der
nächste Sektor gelesen werden.
DPEEKs und DPOKEs
mit Turbo-Basic XL
Abhilfe schafft Turbo-Basic XL, das
einerseits das Atari-Basic an Geschwin¬
digkeit überfrifft, außerdem für die Ver¬
änderung von 16-Bit-Registern die
schnelleren (und komfortableren)
Befehle DPEEK und DPOKE zur Verfü¬
gung stellt.
Ungefähr das gleiche kann man mit
der Routine SIOV ($E459} erledigen.
Allerdings gibt es auch einige Unter¬
schiede Da man nicht auf die Disketten¬
station festgelegt ist, sondern auch
Drucker oder Kassetten-Recorder
ansprechen kann, müssen einige Regi¬
ster zusätzlich initialisiert werden
(diese Arbeit nimmt einem normaler¬
weise der Einsprungvektor DSKINV
ab);
768 $300 - DDEVIC
Mit diesem Register wird der anzu¬
sprechende Gerätetyp ausgewählt:
49 = Diskettenstation
64 = Drucker
96 = Kassetten-Recorder
771 $303 - DSTATS
Einerseits muß vor dem Aufruf von
SIOV festgeiegt werden, ob es sich um
eine Ausgabe (128) oder eine Eingabe
(64) handelt. Andererseits enthält
DSTATS im Anschluß daran den Status¬
code des seriellen Busses (entspricht
normalerweise dem Basic-Fehlercode).
774 $306 - DTIMLO
Auch die Zeit in Sekunden, die die
Ausführung eines Kommandos dauern
darf, muß festgelegt werden. Für Dis¬
kettenoperation kann man eine 7 wäh¬
len (Ausnahme ist das Formatieren, für
das man den Wert 160 ansetzen sollte).
Für Operationen mit einem Kassetten-
Recorder oder einem Drucker empfeh¬
len sich Werte um 30.
776,777 $308,$309 - DBYTLO/HI
Anzahl der zu übertragenden Bytes.
Bei der Diskettenstation normalerweise
128.
Bleibt anzumerken, daß der Befehl P
(Schreiben ohne Überprüfung) auf dem
Atari 400/800 voraussetzt, »SIOV« zu
benutzen, da bei den alten Betriebs¬
systemversionen dieser Befehl von
DSKINV nicht unterstützt wurde.
Die Routine CALL$ können Sie übri¬
gens auch verwenden, um eigene
Maschinenspracheroutinen von Basic
aus aufzurufen. Dies ist immer dann
notwendig, wenn diebetreffenden Rou¬
tinen nicht als USR-Routinen für Basic
konzipiert wurden.
Es zeigt sich also, daß man mit Ein¬
sprungadressen ins Betriebssystem
der Atari-Computer viele wirklich nützli¬
che Funktionen ausföhren kann. Für
den Basic-Programmierer öffnen sich
somit viele sonst verschlossene Türen.
Denn leider ist Basic in so manch einer
Hinsicht einfach überfordert.
(Julian F. Reschke/wb}
Viele der Player-Missile-Adressen
haben die Eigenart, daß sie, je nachdem
ob sie geiesen oder beschrieben wer¬
den, unterschiedliche Funktionen
w^rnehmen. Bezieht sich in der
Tabelle eine Beschreibung auf das
Lesen, so wird dies mit (L), beim Schrei¬
ben mit (S) gekennzeichnet. Die Größe
eines Players oder Missiles wird folgen¬
dermaßen angegeben. Wert 0 oder 2
entspricht der normalen Größe. Wert 1
ergibt die doppelte Größe und Wert 3
die werfache Größe Ist der Inhalt eines
Kollisionsregisters ungleich Null, so hat
ein Zusammenstoß zwischen den
jeweils angegebenen Playern oder Mis¬
siles stattgefunden.
(Wolfgang Czerny/wb)
Tabelle der wichtigsten PEEKs und POKEs
Dezimal-
Wert
Hexadezimal-
Wert
Label
Beschreibung
16
$10
IRQEN
Die Interruptquellen des Pokey können von hier aus gesteuert werden.
Beispiel: »POKE 16,64: PO KE 53774,64« setzen die BREAK-Taste bis zum r^ächsten Graphics-Befehl
außer Funktion.
17
$11
IRQ3T
Zeigt an, ob Interrupts des Pokey aktiv geworden sind.
Beispiel; ifPEEK{17)=0« sagt aus, daß die BREAK-Taste gedruckt wurde
18,19,20
$12,$13,$14
CIDCK
Ein 3-Byte-Wert, der alle Vso Sekunde inkrementiert wird. Zeitdrfferenzen Kann man wie folgt berech¬
nen: »Start=INT((PEEK{1S)*65536)+(PEEK{19)*256)+PEEK(20))/50)«. Die STOP-Zeit wird ebenso
ermittelt. Die Zeitdifferenz ZEIT errechnet sich dann aus STOP minus START in Sekunden. Eine Uhr
kann mit diesen Speicherstellen natürlich auch simuliert werden.
65
$41
lOSOUNDEM
Sei einem Wert von Null wird bei In put/Output-Operationen, also beispielsweise beim Uesen einer Dis¬
kette, die Tonausgabe unterdrückt. Beispiel: »POKE 65,0« schaltet den Ton ab, »POKE 65,3« schaltet
ihn wieder ein. Auf die Sound-Befehle oder das Tastaturkücken hat dies jedoch keinen Einfluß.
77
$4D
ATTRACT
Der sogenannte Attract-Modus ist für den Farbwechsel zur Schonung des Bildschirms verantwortlich.
Wird für etwa zehn Minuten keine Taste betätigt, so hat ein Zähler den Wert 128 erreicht und schaltet
diesen Modus ein. Dies kann verhindert werden, indem man im Programm regelmäßig den Befehl
»POKE 77,0« durchführt und so den Zähler auf Null zurücksetzt. Mit »POKE 77,129« schaltet man den
Attract- Modus sofort ein.
82
$52
IJr4 ARGIN
Linker Rand bei der Textdarstellung. Der Standardwert ist 2. Mit »POKE 82,0« beispielsweise kann der
linke Rand auf Spalte 0 eingestellt werden. ’
83
$53
RMARGIN
Rechter Rand bei der Textdarstellung. Der Standardwert in Grafikstufe 0 ist 39. »POKE 83,X« stellt den
rechten Rand auf Spalte X.
84
$54
ROWCRS
Diese Speicherstelle beinhaltet die aktuelle Zeilen Position des Cursors in Grafikstufe 0.
85,86
$55,$56
COlJCRS
Aktuelle Spalten Position des Cursors als 2-Byte-Wert in Grafikstufe 0.
88,89
$68,$59
SCRSTART
Dieser 2-Byte-Wert gibt die Adresse des ersten Bildschirmbytes an. Man errechnet sie folgenderma¬
ßen: »ADR = PEEK(88) +256*PE£K(89)«
Kennt man diese Adresse, so kann man den Bildschirm leicht speichern oder beliebige Werte direkt auf
den Bildschirm POKEn.
93 '
$5d
DATCURS
Hier wird das Zeichen abgelegt, das sich unmittelbar unter dem Cursor befindet.
106
$6a
RAMTOP
Durch die Verschiebung des RAM-Tops wird es beispielsweise möglich, mehrere Screens gleichzeitig
im Speicher zu behalten und sie dann im sogenannten Page-Bipping hin und her zu schalten.
186,187
$ba,Sbb
Dieser 2-Byte-Wert enthält die Zeilennummer beim Abbruch eines Programms, Ein solcher Abbruch
kann durch eine Programmunterbrechung mit BREAK, ein STOP oder einen Fehler verursacht werden.
195
$C3
ERRSAV
Belm Auftreten eines Fehlers wird der Fehlercode hier gespeichert. Dies ist vor allem dann von Nutzen,
wenn ein Programmabbruch mit dem TRAP-Befehl verhindert wird, der jeweilige Fehler aber dennoch
registriert werden soll. Beispiel: »ERROR=PEEK(195)«.
559
$22f
DMACNTL
Antic-Kontrolle. Belegt man diese Speicherstelle mit dem Wert Null, so wird der Bildschirm ausgeschal¬
tet de nach Grafikstufe bnngt dies eine Geschwindigkeitssteigerung bis zu 30 Prozent. Um den Bild¬
schirm wieder einzuschalfen, muß man die Speicherstelle mit ihrem uraprünglichen Wert belegen.
Beispiel: »WERT=PEEK{559):POKE 559,0« schaltet den Bildschimn aus. »POKE 559,WERT« schaltet
Ihn wieder ein, POKEt man hier den Wert 62, so bedeutet dies einfache Auflösung und beim Wert 46
doppelte Zeilenaufiösung der Player und Missiles.
560,561
$230,$231
DLPTR
Dieser 2-Byte-Wert gibt die Anfangsadresse der Display List an. »DL=PEEK(560)+256*PEEK(66l)«.
580
$244
COLDSTR
Wenn in dieser Speicherstelle ein Wert größer Null steht, erfolgt beim Betätigen der »SYSTEM RESET«-
Taste ein Kaltstart Das heißt, daß gewisse Initialisierungsvorgänge ablaufen und bei angeschlossenem
Diskettenlaufwerk neu gebootet wird. Beispiel: »POKE 580,1«.
118
PEEKs und
POKEs mit
List und
Tücke
Wer seinem Atari etwas mehr
entlocken will, als es die norma¬
len Basic-Befehle zutassen, der
sollte sich der zahlreichen Spei¬
cherstellen bedienen, die man
mit PEEK und POKE erreicht.
0 as Atari-Basic verfügt schon in
der Grundversion über einige
sehr komfortable ßefehla Wenn
mal jedoch beispielsweise bewegte
Grafik erzeugen möchtei stößt man in
Basic schnell auf Grenzen. Wer sich
dann nicht recht mit Maschinensprache
anfreunden will, kann sich einer Vielzahl
von PEEKs und POKEs bedienen, ohne
die ein gutes Programm in Basic schon
fast nicht mehr auskommt.
Die Beschreibung der einzelnen
Adressen geht jeweils nach einem
bestimmten Schema vor sich. Zuerst
findet man den dezimalen Wert der
Speicherstelle vor. Danach folgt der
entsprechende hexadezimale Wert, der
jedoch nur bei der Programmierung in
Maschinensprache interessant ist.
Dezimal-
W^rt
Hexa¬
dezimal-
Wert
Label
Beschreibung
623
$26f
Pfioritätsregister der Player-Missiles.
694
$2b6
XORKEYMSf^
POKEt man eine Zahl in diese Speicherstelle, so wird der Zeichencode der T^tatur um den gePOKE-
ten Wert verschoben.
Beispiel; ^POKE 694.128« bewirkt, daß statt der normalen Buchstaben inverse Buchstaben und Zei¬
chen ausgegeben werden.
702
$2be
SHIFTLOCK
Hier kann man die Tastaturcodes bis zu einem gewissen Grad beeinflussen. »POKE 702,128« simuliert
die Betätigung der COIMTROLTaste. Tippt man also normale Buchstaben ein, so werden statt dessen
die entsprechenden Qrafikzeichen ausgegeben. »POKE 702,0« schaltet den Kleinschrift-Modus ein,
den man auch über die CAPS-Taste erreicht. »POKE 702,64« schaltet zurück in den normalen Schrift-
Modus. »POKE 702,128« simuliert die Betätigung der CONTROL-Tasta Tippt man also normale Buch¬
staben ein, so werden statt dessen Grafikzeichen ausgegeben. »POKE 702,255« bewirkt, daß nur
noch Tasten akzeptiert werden, die mit numerischen Werten oder Interpunktion belegt sind. Buchsta¬
ben können nur über die SHIFTTaste erzeugt werden.
703
$2bf
NUMNXTUN
Der hier gespeicherte Wert gibt die Zahl der Textzeilen auf dem Bildschirm an. Es werden nur die Werte
0, 4 und 24 akzeptiert. POKEt man zum Beispiel in Grafikstufe 0 den Wert 4, so erhält man ein vierzei¬
liges Textfenster am unteren Bildschirmrand, wie man es von verschiedenen Grafikstufen her kennt. Auf
diese Weise kann man auch in Grafikstufe 0 ein vom sonstigen Bildschinm unabhängiges Textfenster
einschalten. Wie in Grafikstufe 1 und 2 muß der Bildschirm dann mit PRItCT #6 angesprochen werden.
Dabei empfiehlt es sich, den Cursor mit aPOKE 752,1« zumindest vorübergehend auszuschaJten.
704
$2c0
COLPMO
Farbregister für Player 0 und Missile 0
705
$2c1
COLPM1
F^rbregister für Player 1 und Missile 1
706
$2c2
COLPM2
Farbregister für Player 2 und Missile 2
707
$2c3
C0LPM3
Farbregister für Player 3 und Missile 3
708
$2c4
COLORO
Farbregister 0. Dies entspncht dem Befehl »SETCOLOR 0, Farbe,Helligkeit«. Um den entsprechenden
POKE-Wert zu erhalten, multipliziert man den Farbwert mit 16 und addiert den Helligkeitswert. Beispiel
für die Farbe Blau. »SETCOLOR 0,9,4« entspricht dem Befehl »POKE 708,9*16+4« oder »POKE
708,148«. In Grafikstufe 1 und 2 bestimmt dieses Register die F^rbe der Großbuchstaben.
709
$2c5
COLDR1
Farbregister 1. In Grafikstufe 1 und 2 bestimmt dieses Register die Farbe von Kleinbuchstaben. In
Stufe 0 und S wird hier die Helligkeit der Zeichen eingestellt.
710
$2c6
COIJOR2
Farbregister 2. In Grafikstufe 1 und 2 bestimmt dieses Register die Farbe inverser Großbuchstaben, in
Stufe 0 und 8 die Farbe des Hintergrunds.
711
$2c7
C0L0R3
Farbregister 3. Werden die vier Missiles zu einem Player vereinigt, so wird die Farbe dieses zusätzli¬
chen Players hier festgelegt, ln Grafikstufe 1 und 2 steht hier der Farbwert für inverse Kleinbuchsta¬
ben.
712
$2c8
COLOR4
Hintergrundfarbe
729
$2d9
KEYRPDELY
Bestimmt die Zeit vom Tastendruck bis zum Beginn der Repeat-Funktion. Der Standardwert ist 40.
730
$2da
KEYREP
Gäbt die WiedeitioJungsfrequenz der Repeat-Funktion an. Der Standardwert Ist 5.
731 !
$2db
CLiCKDiSA
Hier kann man das lastaturklicken ein- und ausschalten. »POKE 731,255« bedeutet Klicken aus,
»POKE 731,0« schaltet das Klicken ein.
732
$2dc
NELPFU\G
Diese Speicherstelle gibt an, ob die HELP-Taste gedrückt würde.
Beispiel: »X=PEEK(732)«
x= 17 bedeutet HELP-Taste gedrückt
x= 81 bedeutet SHIFTHELP gedrückt
x=145 bedeutet CONTROL-HELP gedrückt
762
$2f0
CRSINH
Mit dieser Speicherstelle läßt sich der Cursor ein- und ausstellen. »POKE 752,1« bedeutet Cursor aus,
»POKE 752,0« bedeutet Cursor ein.
755
$2f3
CHARCTRL
Hier kann man die Darstellung des Cursors und des Textes auf dem Bildschirm beeinflussen. Es sind
acht verschiedene Einstellungen möglich. Beispiel: »POKE 755,X«
X=0 - Zeichen sichtbar, Cursor unsichtbar, Schrift normal
X=1 - Zeichen unsichtbar, Cursor unsichtbar, Schrift normal
X-2 - Zeichen sichtbar, Cursor sichtbar, Schrift nomnaJ
X=3 - Zeichen unsichtbar, Cursor sichtbar, Schrift normal
X-4 - Zeichen sichtbar, Cursor unsichtbar, Schrift auf dem Kopf
X=5 - Zeichen unsichtbar, Cursor unsichtbar, Schrift auf dem Kopf
X=6 - Zeichen sichtbar, Cursor sichtbar, Schrift auf dem Kopf
X=7 - Zeichen unsichtbar, Cursor sichtbar, Schrift auf dem Kopf
POKEt man mit einer Schleife abwechselnd die Werte 0 bis 3 in diese Speicherstelle, so kann man
invers dargestellten Text in Grafikstufe 0 zum Blinken bringen.
756
$2f4
CHARBASE
Zeichensatzauswahl. Der Atari hat neben seinem Standardzeichensatz noch einen internationalen Zei¬
chensatz vorrätig, in dem auch die deutschen Um taute enthalten sind. Dieser internationale Zeichen satz
wird durch »POKE 756,204« aktiviert. Mit »POKE 756,224« schaltet man zurück in den normalen Zeh
chensatz. Oer »POKE 756,226« ermöglicht es, in Grafikstufe 1 und 2 Kleinbuchstaben und Graßkzei-
chen darzustellen. Allerdings muß man sich dann das Leerzeichen selbst definieren, da in diesem
Modus das Leerzeichen als Herz dargesteilt wird.
119
Dezimal-
Wert
Hexa¬
dezimal-
Wert
Labe!
Beschreibung
764
$2fc
KBCODE
Hier wird der Tastatufcode der zuletzt gedrücKten Taste gespefchert. Dieser Code entspricht allerdings
nicht dem Standard-ASClI-Code, sondern stellt einen Atari-spezifischen Code dar.
1021-1151
$3«d-$47f
CASBUF
Kassettenpüfferbereich. Bei der Verwendung von Diskettenlaufwerken kann man diesen Bereich zum
Speichern von Maschinen Unterprogrammen verwenden.
1536-1791
$0600-06ff
Page 6 - Dieser Bereich wird in der Regel zum Speichern von Maschinenunterprogrammen verwendet.
53248
SdOOO
(L) Kollisionsregister Missile 0 mit Spielfeld.
(S) Horizontale Position von Player 0.
53249
$d001
(L) Kollisionsregister Missile 1 mit Spielfeld.
(S) Horizontale Position von Player 1.
53250
$d002
(L) Kollisionsregister Missile 2 mit Spielfeld.
(S) Horizontale Position von Player 2.
53251
$d003
(L).Kollisionsregister Missile 3 mit Spielfeld.
(S) Horizontale Position von Player 3.
53252
$d004
(L) Kollisionsregister Piayer 0 mit Spielfeld.
(S) Horizontale Position von Missile 0.
53253
$d005
(L) Kdlisionsregister Player 1 mit Spielfeld.
(S) Horizontale Position von Missile 1
53254
$d006
(L) Kollisionsregister Player 2 mit Spielfeld.
(S) Horizontale Position von Missile 2.
53255
$d007
{L) Kollisionsregister Player 3 mit Spielfeld.
(S) Horizontale Position von Mtssile 3.
53256
$d008
(L) Kollisionsregister Missile 0 mit eirvem Player.
(S) GröBe von Player 0.
53257
$d009
(L) Kollisionsregister Missile 1 mit einem Player.
(S) Größe von Player 1
53258
SdOOa
(L) Kollisionsregister Missile 2 mit einem Piayer.
(S) Größe von Player 2.
53259
$d00b
(L) Kollisionsregister Missile 3 mit einem Player.
(S) GröBe von Player 3.
53260
SdOOc
{L) Kollisionsregister Player 0 mit anderem Player.
(S) Größe von Missile 0.
53261
$d00d
(L) Kollisionsregister Player 1 mit anderem Player
(S) Größe von Missile 1
53262
SdOOe
(L) Kollisionsregister Player 2 mit anderem Piayer,
{S) Größe von Missile 2.
53263
$d00f
{L) Kollisionsregister Player 3 mit anderem Player. ,
(S) Größe von Missile 3.
53277
$d01d
(S) Hier kann man die Ptayer und Missile ein- und ausschalten.
53278
$d01e
(S) Schreibt man in dieses Register einen beliebigen Wert, so werden alle Kollisionsregister gelöscht.
53279
$d01f
CONSOL
Diese Speicherstelle wird zur Abfrage der Sondertasten des Atari, also von OPTION, SELECT und
START verwendet Da die HELP-Taste nur bei den XL-Modellen vorkommt ist ihre Abfrage an anderer
Stelle zu entnehmen. Die Werte, die man aus dieser Speicherstelle erhält, haben folgende Bedeutung:
X^PEEK(53279) '
x=0 - OPTION+SELECr-f START gedruckt
x=1 - OPTION -i-$ELECT gedrückt
x-2 - OPTION-f START gedrückt
x=3 - OPTION Taste gedrückt
x^4 - SELECT+START gedrückt
x=6 - SELECT Taste gedruckt
x=6 ^ START Taste gedrückt
x=7 - keine der Sondertasten wurde betätigt
Die gleichzeitige Betätigung von CONTROL oder SHIFT mit einer der Sondertasten liefert keine ande¬
ren Werte.
53770
$d20a
RANDOM
Diesem Register kann m^m eine Zufallszahl entnehmen, deren Wert zwischen 0 und 255 liegt. Das ist
vor allem beim Arbeiten mit Compilern wicbtig, die die »RND«-Funktion nicht übersetzen.
54016
$d300
PORTA
Port A der PIA
64017
$d301
PORTS
Port S der PIA
54018
$d302
PORTACNTL
Datenrichtungsregister für Port A.
54019
$d303
PORTBCNTl^
Datenrichtungsregister für Port B.
54279
$d407
PMBASE
Hier muß das High-Byte der Adresse des Player-Missile-Speichers stehen.
120
Dem
SOUND-Befeh!
auf der Spur
Oft wird den Atari-Computern Ihre Soundfähigkeit
abgesprochen. Ein paar Tricks entlocken dem
Atari aber dennoch sehr wohlklingende Töne.
PROGRAMM-STECKBRIEF
Programmname
Musik-Kurs
Programmtyp
Kurs
Programmiersprach e
Atari-Basic
Programm länge
insgesamt 33716 Byte
für Computer
800XU130XE
zusätzliche Hardware
Diskettenlaufwerk oder
Kassettenrecorder
Eingabehilfe
Prüfsummer
Bemerkung
zusammenhängender Musik-Kurs
(SOUNQ7 und SOUND.S sind
Demos).
Leserservice
Diskette (SOUND.12 bis SOUND.S)
E s ist sicher etwas zuviel verlangt, einem Heimcom¬
puter Musikqualitäten einer elektronischen Orgel ab¬
zuverlangen. Schließlich wurde er in erster Linie für
andere Zwecke entwickelt. So geht seine Verwendung vom
Spielecomputer über Grafikanwendungen bis hin zur Datei¬
verwaltung und Textverarbeitung. Aber es beschäftigen sich
eben auch einige »Musikfreaks« mit den Soundeffekten.
In diesem Beitrag dreht sich alles um den SOUND-Befehl.
So gilt es hier, dem Atari-Computer in Sachen Tonerzeugung
auf die Sprünge zu helfen. Der eingebaute Sound-Baustein
»Pökey« soll also voll ausgereizt werden. Dabei werden Tricks
angewandt, die bislang nur Insidern bekannt waren.
Noch ein Wort zum Aufbau dieses Beitrags. Sie finden eine
ganze Reihe von dokumentierten Listings, die das Grundge¬
rüst des Artikels darstellen. Nur wenn Sie diese Programme
vorliegen haben, können Sie sich richtig in die »Sound«-
Materie der Atari-Computer einarbeiten. Es empfiehlt sich
also, alle hier abgedruckten Programme einzugeben. Wenn
Sie ein Diskettenlaufwerk verwenden, sollten Sie die Pro¬
gramme mit den vorgeschlagenen Programmnamen spei¬
chern. Nach der Abarbeitung des ersten Programms wird
dann automatisch das nächste Programm geladen etc. Ver¬
wenden Sie einen Kassettenrecorder, müssen Sie die Pro¬
gramme in der abgedruckten Reihenfolge eingeben und auf
einer Kassette speichern. Übrigens: Lassen Sie die Musik¬
programme nur unter dem normalen Atari-Basic laufen,
Turbo-ßasic XL arbeitet die Programme viel zu schnell ab.
Der SOUND-Befehl setzt sich aus den vier Parametern
»Voice«, »Pitch«, »Distortion« und »Volume« zusammen. Dabei
steht Voice für Stimme, Pitch für Tonhöhe, Distortion für Ver¬
zerrung und Volume für die Lautstärke Damit man sich besser
und schneller in die Beispielsprogramme einarbeiten kann,
werden immer die gleichen Variablen verwendet. Dies trägt
außerdem zur Übersichtlichkeit bei. In den folgenden Bei¬
spielen wird immer nur die erste Stimme verwendet. Der Ver¬
zerrungsfaktor beträgt dabei stets 10. Die Tonwiedergabe
erfolgt bei dieser Einstellung verzerrungsfrei.
Falls Sie ein Diskettenlaufwerk verwenden, geben Sie jetzt
bitte »RUN "D:SOUND.12«ein, umListing 1 zu starten. Beim
Kassettenrecorder laden Sie bitte das entsprechende Pro¬
gramm.
Innerhalb der Beispielsprogramme können Sie sich mit der
OPTION-Taste eine Tonfolge immer wieder anhören. Mit
START gelangen Sie zum nächsten Beispiel.
Der Ablauf von Usting 1:
- Der Computer meldet sich zuerst mit einem mittleren C.
- Verändern der Lautstärke, mal langsam und dann wieder
schnell.
- nur die Tonhöhe verändern
- Tonhöhe und Lautstärke verändern
Wenden wir uns nun der Musikprogrammierung zu. Insge¬
samt stehen Pitch-Werte von 0 bis 255 zur Verfügung. Es
sind aber nur die Werte interessant, die jeweils einem Ton ent¬
sprechen (siehe Tabelle 1).
Tabelle 1. Tonhöhentabelle
Ein Unterprogramm bestimmt die Tondauer, das heißt, ob
zum Beispiel eine ganze, halbe oder Viertelnote gespielt wird.
Es bietet sich hier an, einen im Betriebssystem der Atari-
Computer eingebauten Counter (Zähler) zu verwenden.
Dazu eignet sich die Speicherstelle 540. Der in dieser
Adresse enthaltene Zähler zählt jede Vso-Sekunde einen
Schritt zurück. In die Adresse 540 kann also ein Wert zwi¬
schen 0 und 255 gePOKEt werden. Nach Beendigung der
Warteschleife, also wenn die Adresse den Wert 0 erreicht
hat, kann ins Hauptprogramm zurückgesprungen werden.
Hier eine Routine^ die eine Sekunde lang eine Note spielt:
10 SOtfflD l,200jlO,10:REH
Tonausgabe einschalten
20 POKE 540,50:REM
Der Ton soll für eine Sekunde gespielt werden
30 IF PEEK(540)< > 0 THEW 30:REM
Wiederhole bis die Speicherstelle 540 den Wert 0 enthält
40 SOOWD 1,0,0,0:REM
Ton abstellen.
Da in einem Programm eine solche Warteschleife öfter
benötigt wird, bietet es sich natürlich an, für diesen Zweck
eine separate Unterroutine zu verwenden. Weiterhin emp-
Noten¬
nummer
Tonhöhe
Noten-
name
1
14
C
2
55
B
3
16
A# 0. ßb
4
17
A
5
18
a Ab
6
19
G
7
21
F# 0. GÜ>
8
22
F
9
23
E j
10
24
0, Eb
11
26
D
12
27
C# aDb
13
29
C
14
31
B
15
33 1
A# Ol ßb
16
35
A
17
37
G# 0. Ab
18
40
G
19
42
F# a Gb
20
45
F
21
47
' E
22
SO
D# Ol Eb
23
53
D
24
67
C# a Db
25
60
C
Noten-
nummer
Tonhöhe
Noten¬
name
26
64
B
27
68
A# 0. Bb
28“
72
A
29
76
G# 0. Ab
30
81
G
31
85
F # 0. Gb
32
91
F
33
96
E
34
102
D# 0. Eb
35
108
D
36
114
G# a Db
37
121
C
38
128
B
39
136
A# a Bb
40
144
A
41
153
G# 0. Ab
42
162
G
43
173
F # 0. Gb
44
182
F
45
193
E
46
204
0# a Eb
47
217
D
48
230
C# 0. Db
49
243
C
50
255
B
fiehltsich eine Übergabevariable einzusetzen, die bestimmt,
wie lange ein Ton gespielt werden soll.
Nachdem eine bestimmte Tonsequenz abgearbeitet
wurde, müssen gegebenenfalls adle vier Stimmen wieder
abgestellt werden. Die folgende Programmzeile erledigt dies
für Sie:
60 FOR AUS=0 TO 3:S0ÜND AUS,0,0,0:NEXT AUS:RETURN
Wenn man jetzt also ein Musikstück in Basic schreiben
möchte, kann man die benötigten Notennummern in DATA-
Zeilen ablegen. Mit einer READ-DATA-Schleife lassen sich
dann die Werte lesen und verarbeiten. Listing 2 demonstriert
dieses Verfahren.
Wenn Sie ein Diskettenlaufwerk verwenden, wird Listing 2
automatisch geladen und gestartet. Besitzer eines Kasset¬
tenrecorders müssen jetzt wieder das entsprechende Pro¬
gramm laden,
Begleitung mit Dur-Akkorden
Haben Sie bislang nur einfache Beispiele gehört, folgt jetzt
mit Listing 3 eine komplexere Melodie
Es beginnt mit der Dimensionierung der Variablen. Hier
werden einerseits LINE$ und ein Array N sowie die Variablen
VO bis V3 vordefiniert. In der Variablen N sind dann insgessmt
50 Tonhöhen gespeichert, UN E$ nimmt immer eine Textzeile
auf und stellt sie auf dem Bildschirm dar. Sie dient sozusagen
dem Dialog. Anschließend erfolgt ein Sprung zu Zeile 100.
Die DATA-Werte ab Zeile 100 werden aber zunächst ignoriert,
und es wird ein Unterprogramm ab Zeile 21000 aufgerufen.
Dieses Unterprogramm ist für das Löschen des Bild¬
schirms, die Hintergrundfarbe, die Schrift und die Fixierung
der Bildränder zuständig. Dazu werden folgende POKEs ver¬
wendet:
- »POKE 752,1« Cursor aus
- »POKE 82,X« und »POKE 83,X« für das Setzen des lin¬
ken und rechten Bildschirmrandes
- »POKE 201,X« setzt die Anzahl der Leerzeichen fest,
die bei »PRINT,« ausgegeben werden sollen
- »POKE 77,0« schaltet den automatischen Farbwechsel
aus.
Nachdem das Unterprogramm abgearbeitet ist, springt das
Programm zurückzu Zeile 120. Jetzt werden noch die Noten
in das Feld N geschrieben.
Eigentlich stellt sich nun die Frage: Warum werden die
Tonhöhen-Werte noch zusätzlich in einem Feld abgelegt? Es
würde doch genügen, die benötigten Werte direkt aus den
DATA-Zeilen zu lesen. Das ist prinzipiell richtig, aber wenn Sie
Tabelle 1 von oben nach unten lesen, wird Ihnen auffallen,
daß in der mittleren Spalte verschiede Werte fehlen. In der
ersten Spalte, mit der Bezeichnung »Noten-Nummer«, finden
Sie aber 50 fortlaufende Nummern. Diese Nummern erlau¬
ben eine schnellere Berechnung der Akkorde. Dazu muß nur
der Grundton des gewünschten Akkordes angegeben wer¬
den und schon wird der gesamte Akkord ausgegeben.
Die Unterroutine zur Berechnung der Akkorde beginnt ab
Zeile 40 und nennt sich »Akkord-Berechner«. Vor dem Aufruf
dieser Routine muß die Notennummer in der Variablen P
übergeben werden. Dabei darf P nur Werte zwischen 8 und
50 enthalten. Weiterhin nimmt noch die Variable PO die ent¬
sprechenden Tonhöhen aus dem Feld N an. Dann wird der
Akkord berechnet und die Tonhöhenwerte in den Variablen
PI, P2 und P3 abgelegt. In Zeile 42 werden die vier Stimmen
aktiviert. Stimme 0 ist dabei auf eine höhere Lautstärke
gesetzt als die restlichen drei Stimmen des Akkorda
Das Unterprogramm ab Zeile 30 ändert lediglich die Ton¬
höhe und springt daraufhin in die Verzögerungsschleife. In
Zeile 70 sind alle vier Stimmen zunächst auf gleiche Laut¬
stärke gesetzt. Diese wird dann gleichmäßig zurückgenom¬
men, bis nichts mehr zu hören ist.
Zeile 210 liest nun die Daten für LINES, CHORD, P und
WAIT. Der Inhalt von LIN ES wird auf dem Bildschirm ausgege¬
ben und anschließend das Unterprogramm ab Zeile 40 auf¬
gerufen. ln dieser Routine steht also in LINES »Häns-chen
klein - ging allein«, die Variable CHORD enthält nun den Wert
49, P den Wert 30 und WAIT den Wert 30.
Der in Listing 3 verwendete Algorithmus ist nicht für jedes
Lied geeignet. Eventuell müssen Sie einige Änderungen vor¬
nehmen. Schließlich gibt es verschiedene Tempi und nicht
nur Dur-Akkorde. Das abgedruckte Programm zeigt ein Bei¬
spiel, wie man die entsprechenden Noten für Akkorde findet
und so ein Lied komponiert.
Laden Sie jetzt Listing 4. Dieses Programm spielt jeweils
eine Tonleiter in Dur, Moll, und C-Dur vor. Begleitend erschei¬
nen die entsprechenden Usting-Zeilen auf dem Bildschirm.
So können Sie sich auch ein Bild von der Programmiertechnik
machen.
GePOKEte Musik
Mit den ersten sechs Programmen (Listing 1 bis Listing 6)
hatten Sie die Gelegenheit, sich einen Eindruck davon zu ver¬
schaffen. was der SOUND-Befehl zu leisten vermag. Aller¬
dings gibt es einen noch viel besseren Weg, nämlich von
Maschinensprache aus. Dann kann man die Fähigkeiten des
Pokey-Bausteins, der für die Tonausgabe zuständig ist, voll
ausnutzen; denn für manche Geräuscheffekte ist das Atari-
Basic einfach zu langsam. Sie müssen aber nicht unbedingt
auf Maschinensprache zurückgreifen, denn auch der POKE-
Befehl kann die Sound-Register direkt ansprechen. Auf diese
Art und Weise lassen sich dann noch viel wirkungsvollere
Klangvariationen erzeugen. Listing 7 stellt ein solches Klang¬
beispiel vor. Zur Bedienung brauchen Sie lediglich einen Joy¬
stick. Schließen Sie diesen bitte an Joystickport 1 an.
Auf dem Bildschirm erscheinen dann die Zahlen 53760 bis
53768. Sie repräsentieren die Speicherstellen, die für die
Tonausgabe zuständig sind. Nach dem Starten des Pro¬
gramms sind alle Adressen auf Null gesetzt. In der ersten
Zeile befindet sich noch ein " > " Zeichen. Bewegen Sie es
mit dem Joystick bis zur Zahl 53768, indem Sie den Joiratick
nach unten auslenken. Mit dem Feuerknopf verändern Sie die
Speicherstelte. Dann brauchen Sie den Joystick nur nach
vorne oder hinten zu bewegen. Hat die Adresse den
gewünschten Wert erreicht, betätigen Sie nochmals die
Feuertaste, und das "> "-Zeichen kehrt 2 Xir ersten Zeile
Variable
Bedeutung
VO
Stimme 0
VI
Stimme 1
V2
Stimme 2
V3
Stimme 3
P
Tonhöhe
D
Verzerrung
V
Lautstärke
Es gibt insgesamt vier Stimmen (VO bis V3). Diesen Variablen wird
stets ein Wert zugewiesen, der sich dann wahrend des ProgramTn-
lauts nicht mehr ändert. Sie erhalten folgende Werte:
VO
0
VI
1
V2
2
V3
3
P
Tonhöhe, karin einen ganz^hligen Wert
zwischen 0 und 255 annehmen
D
Verzerrung, nimmt Werte zwischen 0
und 14 an
V
Lautstärke für diese Variolen sind
Werte zwischen 0 und 15 zugelassen
Variablenliste
122
zurück. »POKEn« Sie beispielsweise in die Adresse 53768
den Wert 80, in Adresse 53760 den Wert 10 und in 53761
einen beliebigen Wert. Anschließend wird der Lautsprecher
Ihres Fernsehers oder Monitors aktiv.
Die Speicherzelle 63768 ist der Schlüssel zu allem. Bele¬
gen Sie diese Speicherzelle auch einmal mit anderen Werten
zwischen 0 und 255. Ändern Sie dann noch die Speicherzel¬
len 53760 und 53761. Was ist nun mit 53762 bis einschlie߬
lich 53767? Ändern Sie jetzt auch diese Speicherzellen. So
können Sie sich auf experimentellem Wege einige gut klin¬
gende Geräusche aussuchen.
Bevor Sie die POKE-Befehle in Basic anwenden, müssen
Sie wissen, daß der Sound-Prozessor zunächst instailiert
werden muß. Dazu reicht es aus, am Anfang eines Pro¬
gramms den Befehl »SOUND 0,0,0,0«auszuführen. Weiterhin
sind die Sound-Register des Atari-Computers nur für Zahlen¬
werte empfänglich. POKEt man beispielsweise in die Adresse
53762 den Wert 10, erhält man nach »PEEK(53762)« nicht
mehr denselben Wert. Warum dies so ist, ist für die Tonerzeu¬
gung nicht wichtig. Man muß nur wissen, daß man mit dem
POKE-Befehl die Geräuscherzeugung beeinflussen kann.
Tabelle 2 listet noch die englischen Bezeichnungen für die
Sound-Register auf.
Falls Sie ein Diskettenlaufwerk verwenden, wird am Ende
automatisch Listing 8 geladen. Es demonstriert, daß der
Atari-Computer schon von Basic aus sehr wohlklingende
Töne von sich zu geben im Stande ist. Auch Sie können sol¬
che Melodien komponieren, vorausgesetzt Sie haben die
hier erläuterten Grundlagen verstanden. Aber auch in der
Musikprogrammierung gilt das Motto: Übung macht den Mei¬
ster.
Möchten Sie sich am Schluß noch eine wirklich meisterhaft
umgesetzte Melodie anhören? Dann geben Sie noch Listing 9
ein. Nachdem Sie das Programm gestartet haben, hören Sie
die Melodie »Digi Loo, Digi Lee«. Das Programm wurde uns
freundlicherweise von Kemal Ezcan zur Verfügung gestellt;
Register
Bezeichnung
53760
voice Q
Frequency
63761
Vorce 0
Control
53762
Voioe 1
Frequency
53763
V^rce 1
Control
53764
Voice 2
Frequency
53765
Voice 2
Control
53766
Voice 3
Frequency
53767
Volce 3
Control
53763
Audio
Control
Tabelle 2. Die Sound-Register
er ist einer der wenigen, die die Soundprogrammierung des
Atari wirklich perfekt beherrschen. Vielleicht machen Sie ihm
bald Konkurrenz? (Peter Gerstner/wb)
0 REM,SOUND-1 Ein-fuehrung
Cc) 1?S5 by Peter Berstner 08/10/85 <SA>
1 REM <UQ>
2 REH <UR>
3 REM <US>
10 V;0=0: V1 = 1:V2^2= V3=3;DIM TYPE$ (40) C5
0):GOTO 100 <ED>
50 PQKE 540,WAIT <VY>
52 IF PEEK(540)00 THEN 52 <0U>
54 RETURN <ML>
60 FOR OFr=0 TO 3iSOUND OFF,0,0,0:WEXT O
FF:RETURN <KN>
70 LINEALEN CTYPE^:) sPOSITION HOR,V£R <NB>
72 FOR ME=1 TO LINE:? TYPE^CME,ME);:IF T
YPESCME,ME)="*" THEN 76 <DL>
74 SOUND 0,25,4,6:FOR DECAY=6 TO 0 STEP
-0.5:SOUND 0,10,0,DECAY:NEXT DECAY <AX>
76 NEXT ME:RETURN <NZ>
100 BOBUB 21000; Wfi'lT=60 <VW>
200 TYPE^- " Bi 11ej..denj^Beg 1 ei ttexuerj^SO
UND.12":HDR=3:VER=9:GOSUB 70 < DL >
210 TYPE±="“ 1 e5enj.Lind*erst-.£ii e*START-Tast
e*druecken":HOR=l:VER=11-SOSUB 70 <QS>
220 TYPE#— " wenn.*.es.*.i m.-.Tex t.*,vGr 1 angt*.wi rd
-":H0R^5:VFR=13=B0SUE 70 <TV>
230 BOSUB 20000:BOSUB 21000 <XK>
700 TYPES—"SOUND*BeTehl ^Tuerttl er
-^":H0R^3:VER=736DSUB 70;SaSUB 50 <OG>
720 POSITION 12,13;? "SOUND*0,121,10,8":
SOUND 0,121,10,8:GOSUB 50:GOSUB 60 <16>
740 LINE=720:GOSUB 22000 <UQ>
7QO TYPES="SOUND^^mit^variab1er^LAUTSTAE
RKE":H0R=4:VER=7:GOSUB 70 <M0 >
820 POSITION 12,13i? "SOUNDSO,60,10,0" <AZ>
840 FOR D=0 TO 14:POSITION 12,13:? "SOUN
121,10, SOUND V0,121,10,D <NM>
860 WAIT^20:GOSUB 50:NEXT D <DD>
380 FOR D=13 TO 0 STEP -l:POSITION 12,13
:? "SOUND*0,121,10,“:D;"**': SOUND V0,121,
10,D <LV>
900 WAIT=20:GOSUB 50:NEXT D:WAIT=60:GOSU
B 50 <JA>
920 FOR D=0 TO 14:POSITION 12,13:? “SOUN
D^0,121,10,SOUND V0,l2l,10,D <NJ>
940 WAIT=10:GOSUB 50:NEXT D <CQ>
960 FOR D=13 TO 0 STEP “1:POSITION 12,13
:? "SOUND-.0,121,10,"; D? SOUND V0,121,
10,D <LS>
780 WATT=^10: GOSUB 50: NEXT D: WAIT=60: GOSU
B 50 <JG>
1000 FOR D=0 TO 14;POSITION 12,13:? "SOU
ND*0,121,10,”;D;SOUND V0,121,10,D:NE
XT D ■ <DI>
1020 FOR D=12 TO 0 STEP -IsPOSITlON 12,1
3:7 "SOUND*0,121,10,";D;SOUND 90,121
,10,D:N£XT D <IB>
1030 WAIT=60:GOSUB 50 <ER>
1040 FOR D-0 TO 14 STEP 2:P0SITI0N 12,13
:7 "SOUNDSO,121,10,D;SOUND V0,121,
10,D:NEXT D <YI>
1060 FOR D=12 TO 0 STEP -2:POSITION 12,1
3:? "SOUND-.0,121,10, ";D; : SOUND V0,121
,10,D:NEXT D:GOSUB 50 <0V>
1080 FOR D=14 TO 0 STEP -2:POSITION 12,1
3:? "SOUNDSO,121,SOUND 90,121
,10,D=NEXT D:GOSUB 50 <QB>
1100 FOR D=14 TO 0 STEP -1:POSITION 12,1
3:? "SOUND^0,121,10,";D;SOUND 90,121
,10,D:NEXT D:BOSUB 50 <0F>
1120 FCMR D^14 TO 0 STEP -0.5:POSITION 12
,13:7 ■•SOUND*0,121,10,"3 INT CD) ; SOUND
90,121,10,D:NEXT DiSOSUB 50 <CV>
1140 FOR D=14 TO 0 STEP -0.2:POSITION 12
,13=7 " SOUND*0,121, lO , " ; INT CD) ; " : SOUND
^ 90,121,10,D=NEXT DiGOSUB 50 <Z9>
1X60 POSITION 12,13;? "SOUND-^0,121,10,10
SOUND 0,121,10,10:WAIT=20:GOSUB 50 <9M>
1180 POSITION 12,13:7 ”SOÜND^0,121,10,0*
GOSUB 60:WAIT=20:GOSUB 50 <^9>
1200 FOR ME=1 TO 3:POSITION 12,13:? "SOU
ND*0,121,10,10":SOUND 0,121,10,10:WAIT=1
0:GOSUB 50 <NP>
1220 POSITION 12,13;? "SGUND...0,121,10,0*
":GOSUB 60:GOSUB 50:NEXT ME:WAIT^60;GOSU
B 50 <BP>
1240 FOR ME=1 TO 5;P0SITI0N 12,13:? "SOU
ND*0,121,10,10":SOUND 0,121,10,10 <TN>
1260 POSITION 12,13:? "SOUND*©,121,10,0-
";GOSUB 60:NEXT ME:WAIT=60:GOSUB 50 <MZ>
1300 LINE=820:GOSUB 22000 <YP>
1360 TYPE*=^"SClUND*mi t*var i ab 1 er*TONKOEHE
":H0R=6:9ER=7:GOSUB 70 < MR >
1400 FOR P=0 TO 2S5;P0SITI0N 12,13:? "SO
UND*0,";P;",10,8**":SOUND 0,P,10,3;NEXT
p <0Z>
1420 FOR P-255 TO 0 STEP -1:POSITION 12,
13:? "SOUND*0,“;F;",10,8**":SOUND 0,P,10
Listing 1. Einfache Beispiele mit dem SOUND-BefehL Bitte
mit dem Mamen »D:S0UND.12« auf Diskette speichern.
123
,e:NEXT P
<EU>
R3TCTL R>ICTL RXCTL R> ICTL R> ICTL RJ CCT
1440 FOR P^0 TO 255 STEP 5:PÜSITI0N 12,1
L R>TCTL R^TCTL R>tCTL R>TCTL RICCTL RII
3=2 "SOUNDSO,"3PsSOUND 0,P,10,
CTL RiCCTL E>"
<AT>
8:NEXT P
<DD>
20020 ? ^"TSHIFT =>*Druecke*START*^uer*w
1460 FÜR P™255 TO 0 STEP -5:POSITION 12,
eiter*TSHIFT =>"
<PW>
13:2 "SCUND...0,";P; " ,10,8**" = SOUND 0,P,10
20030 ? ,"TCTL Z>TCTL R J'CCTL R> tCTL R? tC
,8:NEXT P
<JK>
TL R^TCTL RJICTL R>TCTL RITCTL RJTCTL RJ
1480 FOR P=0 TO 250 STEP 10:POSITION 12,
tCTL Ri^CTL R>CCTL R> ICTL RJTCTL RXCTL
13=2 ”SOUND*0,"3P;",10,8**":SOUND 0,P,10
RJICTL R>TCTL RiTCTL R>tCTL RITCTL RiICT
,S:NEXT P
<EK>
L R>TCTL RiTCTL RiTCTL RiTCTL R>TCTL RiC
1500 FOR P=250 TO 0 STEP -10:POSITION 12
CTL RiTCTL Ci"
<BW>
,13:2 "SOUND*0,";F;", 10,8**":SOUND 0,P,1
20040 IF PEEK<53279>=6 THEN POKE 755,2:R
0,8:NEXT P
<riG>
ETURN
<Bß>
1520 POSITION 12,13:2 "SOUND*0,0,0,0***"
20050 POKE 755,3:POKE 755,2:PET=0:GOTO 2
:SOSUB 60:LINE=1400:BOSUB 22000
<CB>
0040
<NR>
1560 TYPE$="SOUND**mit*variab1er":HOR=10
21000 GRAPHICS 0:SETCOLÜR 2,9,0:SETCOLOR
:VER=5:G0SUB 70
<KT>
4,9,0:SETCDLOR 1,9,12:POKE 752,1:POKE 8
1580 TYPE^="TONHOEHE*und*LAUTSTAERK£" = HO
2,2:POKE 63,39:POKE 201,8
<IN>
R=S:VER=7=GOSUB 70:WAIT=60:GOSUB 50:REST
1 21010 ? ,"TCTL OiTCTL RiTCTL RiTCTL RiTC
□RE 1600
<ÜX>
TL RiTCTL RiTCTL RiTCTL RiTCTL RiTCTL Ri
1600 DATA*60,53,47,45,40,35,31,29,29,31,
TCTL RiTCTL RiTCTL RiTCTL RiTCTL RiTCTL
35,40,45,47,53,60
<EE>
RiTCTL RiTCTL RiTCTL RiTCTL Ei"
<JM>
1620 FOR rlE=l TO 16 : READ P:FOR V=14 TO 0
21020 2 ,"TSH1FT =i*Der*SOUND*Betehl*TSH
STEP -2:POSITION 12,13:2 "SOUND* 0 ,";P 5 "
IFT =J"
<IV>
,10,";V;"*":SOUND 0,P,10,V
<AS>
21030 2 ,"TCTL ZiTCTL RiTCTL RiTCTL RiTC
1640 WEXT V:WAIT-10=GOSUB 50=NEXT ME:RES
TL RiTCTL RiTCTL RiTCTL RiTCTL RiTCTL Ri
TORE 1660
<YR>
TCTL RiTCTL RiTCTL RiTCTL RiTCTL RiTCTL
1660 DATA*243,193,162,121,96,31,60,47,40
RiTCTL RiTCTL RiTCTL RiTCTL C3"
<LH>
,29,23,19,14,14,19,23,29,40,47,60,81,96,
21040 POKE 77,0:RETURN
<AK>
121,162,193,243
<BR>
21100 GRAPHICS 0:SETCOLOR 2,9,0;SETCOLOR
1680 FOR ME=1 TO 26:READ P;FOR V=14 TO 0
4,9,0:SETCOLOR l,9,12iPOKE 752,1sPOKE S
STEP -2:POSITION 12,13:2 "SOUND*0,";P;"
,2,2:POKE 83,39: POKE 201,11
<YD>
,10,";V;"*":SOUND 0,P,10,V
<cc>
21110 2 ,"TCTL QiTCTL RiTCTL RiTCTL RiTC
1690 NEXT V:WAIT=10:GOSUB S0:NEXT ME
<BJ>
TL RiTCTL RiTCTL RiTCTL RiTCTL RiTCTL Ri
1700 RESTORE 1600:LINE=1620:GOSüB 22000
<NX>
TCTL RiTCTL RiTCTL RiTCTL RiTCTL Ei"
<MQ>
2000 REM
<SZ>
21120 2 ,"TSHIFT =i*BASIC*MUSIK*TSHIFT ^
2001 REM
<TD>
i "
<IJ>
2002 REM SOUND-2 BASIC-MUSIK
<XB>
21130 2 ,"TCTL ZiTCTL RiTCTL RiTCTL RiTC
2003 REM
<TL>
TL RiTCTL RiTCTL RiTCTL RiTCTL RiTCTL R>
2004 REM
<TP>
TCTL RiTCTL RiTCTL RiTCTL RiTCTL Ci"
<OV>
2050 RESTORE 2100
<IL>
21140 POKE 77,0:RETURN
<AN>
2100 DATA*14,15,16,17,18,19,21,22,23,24,
22000 POSITION 2,19:POKE 201,5:POKE 752,
26,27,29,31,33,35,37,40,42,45,47,50,53,5
1
<Wlrf>
7,60,64,68,72,76,01,85,91,76
<WE>
22010 2 ,"TCTL QiTCTL RiTCTL RiTCTL RiTC
2110 DATA*102,108,114,121,128,136,144,15
TL RiTCTL RiTCTL RiTCTL RiTCTL RiTCTL Ri
3,162,173,182,193,204,217,230,243,255
<xr>
TCTL RiTCTL RiTCTL RiTCTL RiTCTL RiTCTL
2120 GOSUB 21100:FOR X=1 TD 50:READ IT:N
RiTCTL RiTCTL RiTCTL RiTCTL RiTCTL RiTCT
(X)=IT:NEXT X
<XW>
L RiTCTL RiTCTL RiTCTL RiTCTL RiTCTL Ei"
<XZ>
2130 TYPE^=" Leseni*Si e*bi tte*i in*Tex t*wei t
22015 2 ,"TSHIFT =i*QPTlON*=**Wiederholu
er":HÖR-5:VER=9 1 GOSUB 70
<GG>
ng**TSHIFT =i"
<UV>
2140 TYPE^-" drLiecken*Si e*erst*d i e*START-
22020.7 ,"TSHIFT =i*START**=**Weiter****
Taste ,"3 HOR=3:VER=11:GOSUB 70
<V0>
****TSHIFT =i"
<JE>
2150 TYPES="wenn*e 5 *im*Tex t*ver1angt*wir
22030 ? ,"TCTL ZiTCTL RiTCTL RiTCTL RiTC
d -"3 HOR^5:VeR=13s GOSUB 70
<CT>
TL RiTCTL RiTCTL RiTCTL RiTCTL RiTCTL Ri
2200 GOSUB 20000:GOSUB 21100
<HV>
TCTL RiTCTL RiTCTL RiTCTL RiTCTL RiTCTL
2300 LIST 2310
<QC>
RiTCTL RiTCTL RiTCTL RiTCTL RiTCTL RiTCT
2310 FOR P=1 TO 50:FOR V=15 TO 0 STEP -3
L RiTCTL RiTCTL RiTCTL RiTCTL RiTCTL Ci"
<ZG>
:SOUND 0,NCP>,10,V:NEXT ViNEXT P
<EN>
22040 IF PEEK(53279>=6 THEN POKE 755,2:G
2320 IF LINEO2310 THEN ? sLIST 2330
<Q0>.
OSUB 21000:RETURN
<TV>
23t50 FOR P=50 TO 1 STEP -1:F0R V=15 TO 0
22050 IF PEEK(S3279)=3 THEN POP :POKE 75
STEP -3:SOUND 0,N(P>,lO,V:NEXT V:NEXT P
<YM>
5,2:POSITION 2,19:? " TESC SHIFT DELiTESC
2335 IF LINE=2310 THEN 2400
<QE>
SHIFT DELiTESC SHIFT DELiTESC SHIFT DEL
2400 LINE=2310 : GOSUB 22000
<YP>
i";:GOTO LII^^
<DW>
2500 RUN "D:SOUND.3":REM CASSETTEN BENUE
22060 POKE 755,3=POKE 755,2:GOTO 22040
<XL>
TZER MUESSEN HIER GRAPHICS 0:END ANSTATT
25000 POSITION 2,15:2 "TESC SHIFT DELiTE
RUN“D:50UND-3" EINGEBEN
<BX>
SC SHIFT DELiTESC SHIFT DELiTESC SHIFT D
20000 POSITION 2,20:POKE 201,4:POKE 752,
ELiTESC SHIFT DELiTESC SHIFT DELi " 5 :RETU
1
20010 2 ,"<CTL Q>CCTL RJICTL RJCCTL R>TC
<PR>
RN
<MZ>
TL RXCTL R>ICTL R J ^CTL RTCCTL R JICTL RI
Lfstlng 1. Einfache Beispiele mit dem SOUND-BefehL
TCTL RJCCTL R>ICTL R>TCTL RIICTL R>TCTL
(SchluS)
0 REH SOUND-3 <
c) 1985 by Peter Ger^tner lß/lß/S5 <RB>
1 REM <UG>
2 REH <UR>
3 REM <US>
10 DIM LINE^:(40> ,N(50> :V0=0:Vl = liV2=2: V3
=3:60TG Ißß <TJ>
30 .SOUND V0,NtP>,10,i4=GOTO 50 <VO>
40 Pß=N(P >:P1C CHORD >:P2-N(CHQRD-4> = P3=
N(CHaRD-7> <PV>
42 SOUND Via,P0, 10, i4sSOUND VI ,P1,10,6:SO
UND V2,P2,10,Ä:SOUND V3,P3,10,6 <FX>
50 POKE 540,WAIT <VY>
32 IF PEEKt340><>0 THEN 52 <OU>
54 SOUND V0,0,0,0:RETURN <GC>
Ltsling 2. Ein Lied zum Mitsingen. Bitte mit dem Flamen
»D:SOUND.3« auf Diskette speichern.
60 FOR □FF=0 TD 3:SOUND OFF,0,0, 0 :NEXT □
FF;RETURN <KN>
70 P0=N < P):PI=N fCHORD):P2^N C CHORD-4 > = P3=
N<CH0RD"7) <PY>
72 FOR DECAY^B TO 0 STEP *-1: SOUND V0,P0,
10,DECAY:SOUND VI,P1,10,DECAY;SOUND V2,P
2,i0,DECAY=SOUND V3,P3,10,DECAY <XP>
74 NEXT DECAYsRETURN <X1>
100 DATA*0,14,15,16,17,18,19,21,22,23,24
,26,27,29,31,33,35,37,40,42,45,47,50,53,
57,60,64,68,72,76,01,85,91,96 <QV>
1 10 DATA*102,108,114,121,128,136,144,153
,162,173,182,193,204,217,230,243,255 <FF>
120 GOSUB 21000:FOR X=0 TO 50:READ lT=Nt
X)=IT:NEXT X <AB>
200 POKE 82,4:2 "^":2 <CH>
210 READ LINES,CHORD,P,WAIT;? LINES:GOSU
B 40 <SB>
220 FOR ME =1 TO 2:READ P,WAIT;GOSUB 30:N
EXT ME:GOSUB 60:WAIT=10:GOSUB 50 <LE>
223 READ CHORD,P,WAIT:GOSUB 40 <ZF>
225 FOR ME^i TO 2:READ P,WAIT:GOSUB 30:N
EXT ME:GOSUB 60:WAIT^10:BDSUB 50 <LT>
230 READ LINES,CHORD,P,WAIT:2 =2 LINES :8
OSUB 40 <YB>
240 FOR ME=1 TO 6 :READ P,WAIT:GOSUB 30:N
EXT ME;GOSUB 60;WAIT=30:GOSUB 50 <SS>
250 READ LINES,CH0RD,P,WA1T:2 ;? LINES:G
OSUB 40 <YF>
260 FOR ME=1 TO 2:READ P,WAIT:GOSUB 30:N
EXT ME:GOSUB 60:WAIT“10:GOSUB 50 <LM>
263 READ CHORD,P,WAIT:GOSUB 40 <2N>
265 FOR ME=1 TO 2:READ F,WAIT;GOSUB 30:N
EXT ME:GOSUB 60:WAIT=10;GOSUB 50 <MB>
270 READ LINE^,CHORD,F,WAIT:? :? LINES :6
OSUB 40 <YJ>
280 FOR ME =1 TO 4:READ P,WAIT:GOSUB 30;N
EXT M£:GOSUB 60:WAIT=30:GOSUB 50 <RS>
290 READ LINE$,CHORD,P,WAIT:? :? LINE$:G
OSUB 40 <YN>
300 FOR ME=1 TO 6 =READ P,WAIT:GOSUB 30:N
EXT ME <VF>
320 READ LINE$,CH0RD,P,WAIT;2 :? LINES:G
OSUB 40 <YA>
330 FOR ME =1 TO SsREAD P,WAIT:GOSUB 30:N
EXT ME <WT>
350 READ LINES,CHORD,P,WAIT:2 :? LINES:G
OSUB 40 <YG>
360 FOR HE =1 TO 2:READ P,WAIT:GOSUB 30:N
EXT ME <TB>
363 READ CHORD,P,WAIT:GOSUB 40 <ZO>
365 FOR ME=1 TG 2:READ P,WAIT:GOSUB 30:N
EXT ME <TQ>
380 READ LINES,CHORD,P,lfltflIT:2 :? LINES:G
□SUB 40 <YM>
390 READ P,WAIT:GOSUB 30 <MM>
400 READ CHORD,P,WAIT:GOSUB 40 <YU>
410 READ P,WAIT:GOSUB 30 <LX>
420 READ CHCH^D,P,«AXT:GOSUB 40 <YY>
430 READ P,WAIT:GOSUB 30 <MB>
440 READ CHORD,P,WAIT;GOSUE 40 <20
450 GOSUB 60:WAIT=10:GOSUB 50:FOR DECAY-
15 TO 0 STEP -0-5=SOUND V0,N<1),10,DECAY
:NEXT DECAY <QW>
460 GRAPHICS 18:2 #6:2 # 6 ;
<JK>
510 FOR ME-1 TO S:READ CHORD,P,LINES:POS
ITION ME*2,10-ME:2 # 6 ;LINES:GOSUB 70:NEX
T ME <NV>
530 FOR ME =8 TO 1 STEP -1:READ CHORD,P,L
INES;POSITION ME*2,10-ME:? #6;LrNES:G0SU
B 70:NEXT ME <GH>
540 «AIT=15:GOSUB 50:POSITION 3,11:2 #69
"DRUECKE^* <ZB>
550 FOR DECAYs15 TO 0 STEP -0,5:SOUND V0
,N< 6 >,10,DECAY;NEXT DECAY <CT>
560 WAIT-IS:GOSUB 50:POSITION 11,11;? #6
;“START“ <CU>
570 FOR DECAY= 1 S TO 0 STEP -0,5:SOUND V 0
,NC 1 ) , 10 ,I^CAY:lsCXT DECAY <UL>
600 SETCOLOR 0,PEEKC20),10:IF PEEK153279
)<>6 THEN 600 <JJ>
605 RESTORE 22000 <CC>
610 FOR L=1 TO 5 <OV>
620 GOSUB 21000 <TG>
630 READ X,Y:LIST X,Y <DL>
640 GOSUB 20000 <SY>
650 NEXT L;GOSUB 21000 <EF>
655 FOR L -1 TO 3 <0M>
660 READ X,Y:LIST X,Y <DR>
665 NEXT L <IB>
670 GOSUB 20000 <TE>
700 GRAPHICS ISsSETCOLDR 0,1,10:SETCOLOR
l,ll,12:SETCOLOR 3,4,12 <YÜ>
710 2 #6:2 # 6 : 2 #69 "«-DRUECKE^opti on" : ?
#6 5 " -.-.FUER-..W IEDERHOLEN " <HR >
720 WAIT=60:GOSUB 50 <HV>
730 2 #6:2 # 6 ;"^^^EfflUECKE^ ^Lart “:2 # 6 ;"*
^^FUER^WEITER" <F0>
740 IF FEEKC53279>=3 THEN RUN <KR>
750 IF PEEKC53279)=6 THEN 900 <IW>
760 GOTO 740 <FY>
900 RUN ”D:SOUND,4":REM CASSETTEN BENUET
ZER MUESSEN HIER GRAPHICS 0:END EINGEBEN
ANSTELLE RUN ”D=S0UND-4" <GX>
i 000 DATAAHaen^-chen^k 1 ei —*g i ngj.al “1 e
in <XL>
1010 DATA*49,18,30,21,30,21,60,42,20,30,
23.30.23.60 <JC>
1020 DATA-fciriji.A-’ta—ri^*SOUND*hin—ein <NI>
1030 DATA*49,25,3O,23,30,21,30,20,30,18,
30.18.30.18.60 <HD>
1040 DATA-..Saund*mi t-..POKE-.—*das*kl i ngt^t
oll <TP>
1050 DATA-w49,30,30,33,30,33,60,42,32,30,
35.30.35.60 <ZX>
1060 DATA*al-les*WDhl^und*voll <G«>
1070 DATA^49,37,30,33,30,30,30,30,30,37,
120 <KC>
1080 DATA^Rei cht*der*acht-^Bi t-i.SOUND*nich
L^aus <TB>
1090 DATA-..42,35,30,35,30,35,30,35,30,35,
30.33.30.32.60 <FM>
1100 DATA^mach—en^wir^sech—zehn^Bit*da-r
aus <QE>
1110 DATA*49,33,15,33,15,33,30,33,15,33,
15,33,15,32,15,30,30,0,60 <FM>
1120 DATAAWiiTjtsindÄ^ i t*-—“*tol l^der^Tric
k <HO>
1130 DATA*49,30,30,33,30,33,60,42,32,30,
35.30.35.60 <ZT>
1140 DATA*Vielenj.Dank^dem*PO—K£Yj.Chip-t. -
<BC>
1150 DATA*49,25,15,26,15 <ON>
1160 DATA^44,2S,30,32,30 <GP>
1170 DATA^42,26,30,30,30 <DA>
1180 DATA*49,25,90 <GX>
1200 DATA*49,37,C <HB>
1210 DATA*47,35,D <FT>
1 220 DATA-.45,33, E < EL >
1230 DATA*44,32,F <EE>
1240 DATA*42,30,G <CW>
1250 DATA*40,28,A <CF>
1260 DATA*3S,26,B <FC>
1270 DATA^37,25,C <EV>
1300 DATA^37,25,c <ZA>
1310 DATA^38,26,b <ZN>
1320 DATA*40,28,a < WW >
1330 DATA*.42,30,g <XT>
1340 DATA*44,32,+ <ZH>
1350 DATA-..45,33,e <ZU>
1360 DATA^47,35,d <&1>
1370 DATA^49,37,c <CW>
20 ™© POSITION 2,20:POKE 201,4:POKE 752,
1 <PR>
20010 ? ,“-[CTL QICCTL RXCTL RXCTL RXC
TL RXCTL RXCTL RXCTL R J <CTL RXCTL R5
CCTL RJCCTL RJCCTL RJ<CTL RI<CTL RIICTL
R:^<CTL RICCTL R> CCTL R5ICTL RI ICTL RXCT
L KJ<CTL RXGTL R J <CTL RXCTL R JICTL RX
CTL RXCTL EI" <AT>
20020 ? ,"CSHIFT =J*DrueckB*START*'fuer*n
eiter^-CSHlFT =>" <PW>
20030 2 ,"<CTL ZJICTL RI <:CTL Rl <CTL RXC
TL RXCTL RXCTL RXCTL RXCTL RXCTL RJ
Listifig 2> Ein üed zum Mitsifigen. (Fortsetzung)
125
<CTL Rl^CTL R>^CTL R>-CCTL RI ^CTL R> tCTL
RI^CTL RI^CTL R> ^CTL R J <CTL RXCTL RI CCT
L RI^CTL RI^CTL RI^CTL RXCTL RI ^CTL RIC
CTL RICCTL CI" <BW>
213040 IF PEEK<53279y<>6 THEN 20040 <VY>
20050 RETURN <TS>
2t000 GRAPHICS 0ISETCOLOR 2,9,0:SETCOLOR
4,9,0:SETCOUOR l,9,12:POKE 752,1:PDKE 8
2,2 t;POKE 83,39: PÖKE 201,3 <01 >
21010 POSITION 2,0:7 , " <:CTL QI CCTL RXCT
L RXCTL RICCTL RI tCTL RItCTL RXCTL RI t
CTL RItCTL RICCTL RXCTL RI tCTL ^RI tCTL R
ItCTL RICCTL RI CCTL RI ^CTL RI CCTL RXCTL
RICCTL RI<CTL RI CCTL RICCXL RXCTL RI <C
TL RICCTL RICCTL RI CCTL RXCTL RI tCTL EI
" <JA>
21020 ? ,"CSHIFT =I .ivBEGLEITUNG^hIT^DUR^A
KKORDE^TSHIFT =1“ <Ka>
21030 7 ,''<CTL ZXCTL RICCTL RICCTL RI CC
TL RICCTL RICCTL RICCTL RICCTL RICCTL RI
CCTL RICCTL RICCTL RICCTL RICCTL RICCTL
RICCTL RICCTL RICCTL RICCTL RICCTL RICCT
L RICCTL RICCTL RICCTL RICCTL RICCTL RIC
CTL RICCTL RICCTL RICCTL-CI“ <HN>
21040 PQKE 77,0:RETURN <AK>
22000 DATA^0,10,100,120,21000,21040,100
210,30,74,210,220,40,54,1000,1010 <RZ>
üstirtg 2. Ein üed zum MHsingen- (Schluß)
0 REM SOUND-4 (
c) 1985 by Peter Gerstner 11/10/85 <UE>
1 REM <‘UQ>
2 REM <UR>
3 REM <UB>
10 DIM TYPESC40),N(S0V:V0=0;Vl=lsV2=2:V3
=3:P0KE 02,2:? "CESC CTL -I"=GOTO 100 <PD>
50 POKE 540,WAIT <VY>
52 IF PEEK<540)00 THEN 52 <0U>
54 RETURN <ML>
60 FOR DFF^O TO 3:SOUND OFF,0,0,0;NEXT O
FF:RETURN <KN>
70 L1NE=LEN<TYFE$);POSITION HOR,VER <NG>
72 FOR ME=1 TO LINE=? TYPESCME,ME>;=IF T
YPE#<ME,ME>="*“ THEN 76 <DL>
74 REM SOUND 0,25,4,6:FOR DECAY=6 TO 0 S
TEP -0-5:SOUND 0,10,0,DECAY:NEXT DECAY <AG>
76 NEXT ME:RETURN <NZ>
100 DATA-..14,15,16,17,18,19,21,22,23,24,2
6,27,29,31,33,35,37,40,42,45,47,50,53,57
,60,64,68,72,76,81,85,91,96 <WW>
110 DATA-».102,108,H4,121,128, 136,144,153
,162,173,182,193,204,217,230,243,255 <FP>
120 GOSUB 21000:FOR X=1 TO 50:READ IT:Nt
X>-IT:NEXT X <AY>
130 TYPEBi 11e^den-^Beg 1 ei tte5< t*Fuer ^SO
UND - .4-." = HOR=31 VER^9: GOSUB 70 < CZ >
140 TYPE#= ■' 1 esen-..und-^€rsti e*START-Tast
e^druecken":HOR=l:VER=11:GOSUB 70 <QX >
150 T VPE^—” wen n ^es^i ffi^Tex t *ver langt -«.wi r d
- ■^:H0R=5: VER=13:BOSUB 70 <UA>
160 GOSUB 20000=GOSUB 21000 <XP>
190 TYPE$=’*DUR**AKKORDE: " s HOR=l 4: VEft=6: G
DSUB 70:GOSUB 50:7 :? :LIST 200,210 <HF>
200 FOR X=13 TO 50:SOUND 8,NCX),10,14sSO
UND l,N<X-4>,10,6:SOUND 2,NCX-7),10,6:SO
UND 3,N<X-12),10,6 <XG>
210 GOSUB 60:NEXT X <PB>
215 IF LINEO200 THEN 7 :LIST 220,230 <FU>
220 FOR X=50 TO 13 STEP -1:SOUND 0,N<X),
10, 14: SOUND 1 ,N <X"'4) , 10,6:SOUND 2,N (X-7>
,10,6:SOUND 3,NtX-l2>,10,6 <KH>
230 GOSUB 60:NEXT X <PF>
240 LINE=200:GOSUB 22000 <RR>
250 TYPES=*’MOLL*AKKORDE: ” : HDR^14: VER=6: G
OSUB 70:GaSUE 50:7 :LIST 260,270 <IK>
260 FOR X=13 TO 50:SaUND 0,N<X>,10,14:50
UND l,N<X-3),10,6:SÖUND 2,N(X-7),10,6:SO
UND 3,NCX-12),10,6 <VT>
270 GOSUB 60:NEXT X <PN>
280 IF LINEO260 THEN 7 :LIST 290,300 <PA>
290 FOR X^50 TO 13 STEP -1:SOUND 0,N<X>,
10,14:SOUND 1,NtX-3>,10,6:SOUND 2,N<X-7>,
,10,6:SOUND 3,N<X-12),10,6 <I0>
300 GOSUB 60:NEXT X <PA>
310 LINE=260:GOSUB 22000 <UA>
320 X=49 <AV>
330 TYPES="C*DUR":HOR=17:VER=6:GOSUB 70:
GOSUB 50:7 :LIST 340:7 <AB>
340 X=49:SOUND 0,N(X>,10,14:SOUND 1,N<X-
4),10,6:SQUND 2,N<X-7),10,6:SOUND 3,NCX-
12),10,6 <AC>
350 WAIT=60:GOSUB 50:GOSUB 60 <HZ>
360 IF LrN£<>340 THEN TYPES^"C*MDU-":HÖR
^17:VER=12:GOSUB 70:GOSUB 50:7 :LIST 370
:7 <DU>
370 X=49: SOUND 0 ,N ( X > , 10, 14: SOUND t,N<X”’
3),10,6:SOU?^ 2,N<X-7),10,6:SOUND 3,NCX-
12),10,6 <VT>
380 WAIT^60:GOSUB 50=GOSUB 60 <IF>
390 LINE=34Ö;GOSUB 22000 <UE>
400 TYPE:t= “ OK, —zLtrueck^zLum—normal en-^SOUN
D”:HOR=5:VER^6:GOSUB 70 <XT>
410 TYPES= " Bet eh 1 -.-Lind*machen*ei nen*Ver g 1
eich-":H0R=3:UER=S=GOSUB 70:GOSUB 50 <UT>
420 TYP£^= “ Di e*t i et ete*Note-^di e*wi r *mi t"
: HOR=^6 : VER= 10: GOSUB 70 < RM >
430 TYPE*-" mi t*D ISTORTION* 10*bekonimen*kD
ennen,":HOR^3:VER=12:60SUB 70:GOSUB 50 <WW>
435 TYPE*-"i5t-^ein-..tietes-..'B'- ":H0R-11:V
ER-14:GOSUB 70:GOSUB 50 <LT>
440 TYPE*=“SOUND*V0,255,10,8":HOR=i2:VER
=16:GOSUB 70:GOSUB 60:SOUND 90,255,10,8:
GOSUB 50:GOSUB 60 <FV>
450 GOSUB 20000;GOSUB 21000 <XQ>
500 TYPE*-"VergleichBn*wir-..nLin-.-zwei*SoLin
d&---":H0R=4:VER-6:GOSUB 70:GOSUB 50 <XF>
510 TYPE*= “SOUND-.V0,255,10,8": HÖR-12 : VER
=8:GOSUB 70:GOSUB 50 <3E>
520 SOÜND V0,255,10,8:GOSUB 50:GOSUB 60=
GOSUB 50 <YS>
530 TYPE*="SOUND*V0,33,12,8":H0R=12:VER-
10:GOSUB 70:GOSUB 50 <MF>
540 SOUND 98,33,12,8;GOSUB 58:GOSUB 60:6
DSUB 50 <VJ>
550 TYPE*= “Di e-kT on q ual i t aet * i st *ver sc h i e
den*aber";H0R=2:VER-12:GOSUB 70 <AD>
568 TYPE*=“die*aktLielle*PlTCH*ist*das-..gl
eichet-":HOR=2:VEB=14:SOSUB 70; GOSUB 50 <UZ>
570 POSITION 12,8:7 " SOUND^V0,255,10,8 ":
POSITION 12,10:7 "SOUND-..V0,33, 12,8" :SOUN
D 90,255,10,8 <KF>
580 GOSUB 50:GOSUB 60:GOSUB 50:POSITION
12,8:7 “SOUND*90,255,10,8“ <V0>
590 POSITION 12,10:7 " SQUND*V0,33,12,8 “:
SOUND V0,33,12,8:BDSUB 50:GOSUB 60=GOSUB
50 <I0>
600 POSITION 12,8:7 “ SOUND-.90,255,10,8 ";
SOUND 90,255,10,8;POSITION 12,10:7 "SOUN
D*V1,33,12,3 “ = SOUND 91,33,12,8 <NS>
610 GOSUB 50:eOSUB 60:LINE=570:GOSUB 220
08 <92>
620 TYPE*=“Wir*koennea*mit*DISTÖRTION-12
":H0R=5:9ER^6:GOSUB 78 < RJ >
630 TYPE*-"anstatt*DISTÖRTION-1O*noch*ti
etere":H0R^3:VEft=8:GÜSUB 70:GOSUB 50 <NE>
635 TYPE*=“BASS-NDTEN-bekommen-":HOR=11:
9ER=10:GOSUB 70:GOSUB 50 <SP>
640 TYPE*="ZUM-BEISPIEL:":H0R-14:9ER=12:
GOSUB 70:GOSUB 58 <YQ>
700 DATA*25,27,2S,30,31,33,36,37,40,42,4
5,43,51,52,57,60,63,67,72,75,82,85,90,97
,102 <FN>
710 FOR BASS=1 TO 25:READ P0:FOR DECAY=1
5 TO 0 STEP -1 <AT>
720 POSITION 12,14:7 "SOLHviD-90, “;P0; " , 12
,”;C^CAY;SOUND 90,P0,12,DECAY:NEXT D
ECAY:NEXT BASS <JH>
tisting 3- Verschiedene Akkorde. Bitte mit dem Namen
»D:SOUND.4ö auf Diskette speichern.
126
750 RESTORE 700^LINE=710:GOSUB 22000 <CE>
800 TYPE^= *' Das^riaechste^Progr amm^er 1 aubt
^uns ■*: HOR=^: VER=^&s BOSUB 70 < XP >
810 TYPE^=vergeh i edene*Sounds*anz uhoer^
n,^w^nn”s H0R=3:VER=B:GQSUE 70 <DK>
820 1 YPE^= wi r t ^den* Joyst i ck*P ITCH , *V
□LUME, " : l-tOR=3^ VER=^ 10= BOSUB 70 < XO >
830 TYP£^= " und*D I STÖRT I ON^veraendern , : H
GR=7:VER=12 = BOSUB 70 = BOSUB 20000 < DO >
840 RUN "DiSOUND,5":REM CASSETTEN BENUET
ZER MUESSEN HIER BRAPHICS 0;END EINGEBEN
ANSTELLE VON RUN "D;SOUND-5" <RB>
20000 POSITION 2,20=PQKE 2ai,4iPOKE 752,
l <PR>
20010 ? ,"<CTL ß>tCTL RJ tCTL R:^ CCTL R>CC
TL R>^:CTL RJtCTL RI^ {;CTL R> CCTL R5 ^CTL RI
^CTL R>CCTL R>tCTL R>i:CTL R J CCTL R> tCTL
R5CCTL RJ<;CTL R J CCTL R3 ^CTL RXCTL R J <CT
L R>CCTL R>CCTL R>CCTL RJCCTL R>tCTL R>C
CTL RXCTL EJ" <AT>
20020 ? ,"CBHIFT =>Lteci<e^ START ^4^
ex ter>.-CSHIFT =>" <PW>
20030 ? ,“^CTL 2XCTL RICCTL R>CCTL R J
TL R>CCTL R>tCTL RXCTL R>^CTL RJ CCTL R>
CCTL RJtCTL RJCCTL RXCTL RXCTL R J ^CTL
R>tCTL R>CCTL R>CCTL R5CCTL R>CCTL R>CCT
L R>CCTL RJCCTL R>CCTL R>CCTL R^CCTL R>C
CTL R>CCTL C>" <BUI>
20040 IF PEEK (5327V) 06 THEN POKE 755,3s
POKE 755,2=00X0 20040 <W>
20050 POKE 755,2:RETURN <CS>
21000 BRAPHICS 0:SETCOLOR 2,9,0:SETCOLOR
4,9,0sSETCOLOR 1,9,12:POKE 752,1=POKE S
2,2:POKE 83,37:POKE 201,8 <IN>
21010 ? ,"CCTL 0>CCTL RICCTL RJCCTL R>CC
TL R>CCTL R>CCTL RJCCTL R>CCTL R>CCTL RI
CCTL RICCTL RICCTL RICCTL RICCTL RICCTL
RI CCTL RICCTL RI CCTL RI CCTL EI” <Jri>
21020 ? ,”CSHIFT =J*Der*SÜUW*Be-fehl^CSH
IFT =1" <IV>
21030 ? ,"CCTL ZICCTL RICCTL RICCTL RICC
TL RICCTL RICCTL RICCTL RICCTL RICCTL RI
CCTL RICCTL RICCTL RICCTL RICCTL RICCTL
RICCTL RICCTL RICCTL RICCTL CI" <LH>
21040 POKE 77,0:RETURN <AK>
22000 POSITION 2,19:POKE 201,5:POKE 752,
1 <WW>
22010 2 ,"CCTL QICCTL RICCTL RICCTL RICC
TL RICCTL RICCTL RICCTL RICCTL RICCTL RI
CCTL RICCTL RICCTL RICCTL RICCTL RICCTL
RICCTL RICCTL RICCTL RICCTL RICCTL RICCT
L RICCTL RICCTL RICCTL RICCTL RICCTL EI" <XZ>
22015 ? ,"€SHIFT =I-^OPTION*=**UIiedGrholu
ng^*CSHlFT =1" <UV>
22020 2 ,"CSH1FT =>*STA^**=**Weiter
****CSHIFT =1” <JE>
22030 ? ,"CCTL ZICCTL RICCTL RICCTL RICC
TL RICCTL RICCTL RICCTL RICCTL RICCTL RI
CCTL RICCTL RICCTL RICCTL RICCTL RICCTL
RICCTL RICCTL RICCTL RICCTL RICCTL RICCT
L RICCTL RICCTL RICCTL RICCTL RICCTL CI" <ZG>
22040 IF PEEK(53279)=6 THEN POKE 755,2:6
OSUB 21000= RETURN <TV >
22050 IF PEEK (53279) THEN POP :POKE 75
5,2=POSITION 2,19=2 "CESC SHIFT DELICESC
SHIFT DELICESC SHIFT DELICESC SHIFT DEL
>";=60T0 LINE <QW>
22060 POKE 755,3:POKE 755,2=BOTO 22040 <XL>
Ltstmg 3. Verschiedene Akkorde. (SchluB)
0 REM SOUND-5
Cc> 1985 by Peter Ber^tner 13/10/85 <QJ>
1 REM <UQ>
2 REM <UR>
140 SRAtf^HlCS 2= POKE 752,1: POKE 710, 145: P
OKE 712,145=POKE 201,10=2 "CESC CTL -I" <NX>
150 2 "JOYSTICK^u-F/ab^^^***=^TONHOEHE" <I2>
160 7 "JOYSTICK*trigger****^=*VERZERRUN
B" <ZR>
170 ? "JOYSTICK^links/rBchts...=*LAUTSTAER
KE" <WV>
180 7 "DRUECKE^EINE^BELIEBIGE...TASTE^FUER
...END"; <VW>
190 POKE 764,255 <WZ>
200 VOLUME=2 <R0>
210 DISTORTIÜN=10 <KG>
220 D£LAY=320 <AQ>
230 IE STICK(0)=14 THEN PITCH=PITCH+1:IF
PITCHI255 THEN P1TCH=2S5 <XK>
235 IF STICK C0) =13 THEN PITOL-PITCH-l = IF
PITCH<0 THEN PITCH=0 <DP>
240 IF STRIB(8)=0 THEN DI STÖRTION=DISTÖR
T10N+2S GOSUB DELAY < YM>
250 IF DISTÖRTION=16 THEN DISTORTION=0 <PM>
260 IF STICK<0)=7 TFEN VQLUME=VOLUME+1:I
F V0LUMEI15 TFEN V0LUI1E=15 <BX>
270 IF STICKC0) =11 THEN V0LU!1E=V0LUME-1:
IF VOLUME<0 THEN VOLUME=0 <FU>
280 IF PEEK (764)0255 THEN BRAPHICS Os PO
KE 764,255=POKE 752,0=RUN "D=SOUND.6" <FA>
290 POSITION 2,4=? #6;"^ound*0,";PITCH;"
, " jDISTDRTION; " , " ; VOLUME; <CM>
300 SOUND 0,PITCH,DISTÖRTION,VOLUME <ZB>
310 SETCOLOR 0,DISTORTIPN,10=SETCOLOR 1,
VOLUME,10=POKE 77,0=GOTO 230 <SN>
320 FOR WAIT=1 TO 100:NEXT WAIT;RETURN <YJ>
330 REM CASSETTEN BENUETZER MUESSEN IN Z
EILE 280 'RUN "D:S0UND-6" ' AENDERN IN '
GRAPHICS 0:EhlD ' <QA>
Listing 4. Experimentieren mit dem SOUND^efehL Sitte
mit dem Namen »»DrSOUND.S« auf Diskette speichern.
0 REM SOUND-6
(
191 REM
<BD>
c> 1985 by Peter Ger^tner 03/06/85
<LN>
200 FOR P0=10 TO 2 STEP -0.02=VOC=F0/2=S
1 REM
<UQ>
CUND V0,P0,S,VOL:SOUND VI,P0+1,B,VOL
<DT>
2 REM
<UR>
210 SCMJND V2,P0+2,8,VOL:SQUND V3,RND<0)*
3 REM
<us>
3,8,VOL
<XY>
10 V0=0:V1=1:V2=2:V3=3:POKE 82,2:POKE 83
220 FOR P0=3 TO 12 STEP 0.02: VCM_=P0/2: SO
,39:6070 2000
<TX>
UND VO,P0,S,VOL=SOUND Vl,P0+1,8,VOL
<TC>
50 POKE 540,WAIT
<VY>
230 SOUND V2,P0+2,8,VOLsSOUND V3,RND(0)*
52 IF PEEK(540)00 THEN 52
<OU>
3,S,V0L:NEXT P0
<SK>
54 FOR OFF=0 Tü 3:SOUND aFF,0,0,0:NEXT 0
240 FOR P0=10 TO 2 STEP -0.02=VOL=P0/2=S
FF= RETURN
<KU>
OUND V0,P0,8,VOL=SOUND VI,P0+1,8,VOL
<EB>
89 REM
<KN>
250 SOUND V2,P0+2,e,Vi:B_:SOUND V3,RND(0>*
90 REM *** MACHINE BUN ***
<QM>
3,S,V0L:NEXT P0:BOSUB 54:RETURN
<MB>
91 REM
<JY>
2Ö9 f^M
<CA>
100 FOR SH0T=1 TD 12=FOR V0L=15 TO 0
STE
290 REM *** LAZERS/PHOTONS ihmi-
<CQ>
P -5:SOUND V0,80,0,VOL:SOUND VI,60,0
,VOL
<VA>
291 REH
<BE>
110 SOUND V2,2O0,4,VOL:SOUND V3,10,4
,VOL
300 FOR SHOT^l TO 6:FOR P0=0 TO 200 STEP
:NEXT VOL:GOSUB 54:NEXT SHDT
<GH>
10
<EN>
120 RETURN
<MP>
189 REM
<BZ>
Listing 5. Verschiedene Sound-Effekta Bitte mit dem
190 REM SURF/WAVES ***
<TY>
Namen »D:SOUND.6« auf Diskette speichern.
127
310 SOUND Vß,PB,0,8:SOUND VI,PB,10,8=SOU
1200 FOR 1=0 TD 3
<WL>
MD V2,P0,12,8=SOUND V3,Pß,4,8
<AJ>
1210 FOR X=15 TO 0 STEP -0.2
<Y0>
320 NEXT P0:NEXT SHOT:GOSUB 34;RETURN
<YW>
1220 SOUND 0,X,i2,S
<TM>
389 REM
<CB>
1230 FOR DELAY=1 TO 2=NEXT DELAY
<TL>
390 REM *** POLICE/FIRE SIREN ***
<DP>
1240 NEXT X
<LD>
391 REM
<BFy
1250 NEXT 1:SOUND 0,0,0,0:RETURN
<BO>
400 FOR P0=200 TO 50 STEP - 1 =SOUND va,P0
1289 REM
<VK>
,10,8:SOUND VI,P0+2,10,6:SOUND V^,P0+4,1
1290 J^M *** THUNDER ***
<FK>
0,2:SOUND V3,P0+6,10,ZsNEXT P0
<TG>
1291 FIEM
<UH>
420 FOR PB^30 TO 160 STEP 0-2sStKJND V0,P
1300 FOR PO=l TO 3
<IX>
a,i0,e:SOUND Vl,pa-^2,1B,6:SC1UN0 V2,P0+4,
1310 Y=INT<255*RNDCl>+20)
<ZY>
10,4=SOUND V3,P0+6,10,2:NEXT P0
<MT>
1320 X=RND<1)*75
<BG>
430 GOSUB 54: RETURN
<QZ>
1330 FOR Pl=l TO Y
<JZ>
4S9 REM
<CC>
1340 SOUND 0,PI,8,15
<cw>
490 REM *** AIR RAID SIREN ***
<ZX>
1350 NEXT PI
<EZ>
491 REM
<BG>
1360 FOR DELAY=1 TO X:NEXT DELAY
<YO>
500 FOR LOQP=l TO 6:FOR P0=1 TO 20:SOUND
1370 NEXT PB:SOUND 0,0,0,0:RETURN
<BY>
V0,S0+P0,12,S:NEXT P0
<K0>
1389 REM
<VH>
510 SOUND V0,30,10,12:SOUND 91,100,10,12
1390 REM *** OLD AIRPLANE ***
<IÜ>
:SOUND V2,13,4,12
<m>
1391 REM
<UJ>
520 NA IT-30: GOSUB SBslsEXT LOOP
<QX>
1400 FOR X=1 TO 400
<TU>
530 FOR V^12 TO 0 STEP -0.1:SOUND V0,C20
1410 SOUND 0,99,10,8
<RR>
-V>*10,10,V=SOUND VI,(20-V>*10+20,10,V:S
1420 SOUND 0,0,0,0
<HK>
□UND V2,13,4,V=NEXT V
<OJ>
1430 NEXT X:RETURN
<KH>
340 GOSUB 54=RETURN
<RC>
1489 REM
<V0>
389 REM
<CD>
1490 REM »** PLANE CRASHING ***
<NC>
390 REM *** TELEPHONE RINGING ***
<BM>
1491 REM
,<UL>
591 REM
<BH>
1500 FOR X=255 TO 0 STEP -1
<HW>
600 FOR RING=1 TO 2:F0R LOUD-l TO 35=SOU
1510 SOUND 0,X,8,B
<NJ>
ND V0,20,10,8:SOUND VI,1,2,8
<MN>
1520 FOR I-t TO 5
<YR>
610 FOR LQOP=l TO 2s SOUND V0,25,10,8=SOU
1530 NEXT I:NEXT X
<G0>
ND Vl,0,2,8slv£XT LCMDPsSDUND V0,0,0,0:SDU
1540 FOR X=15 TO 0 STEP -1
<CN>
ND VI,0,0,0:NEXT LOUD
<IL>
1550 SOUND 0,25,16,X
<OX>
620 FOR V=7 TO 0 STEP -0.2:SOUND V0,20,l
1560 FOR 1=1 TO 20
<EK>
0,V:SOUND VI,0,2,V:NEXT V
<CG>
1570 NEXT Izl^XT X
<HA>
630 WAIT=90;GOSUB 50:NEXT RING:GOSUB 54:
1580 RETURN
<QB>
RETURN
<0H>
1999 STOP
<DW>
689 REM
<CE>
2000 REM *** MENU OPTimS ***
<X0>
690 REM *** WHISTLING BOMB ***
<CI>
2010 GRAPHICS 0:SETCOLOR 2,15,0:POKE 752
691 REM
<BI>
,l:POKE 201,10:?
<EN>
700 FOR P0=0 TO 150:SOUND 0,P0,10,P0/15+
2:NEXT PO
<BA>
2020 ? ,”TCTL QJCCTL R3^CTL R>CCTL R>TCT
L R3CCTL R3CCTL R>CCTL RTCCTL R3<CTL R3C
710 FOR P0=^0 TO 240 STEP 5 s VOL=14-P0/20:
SOUND VB,P0,0,VCft_=SOUND Vl,PB,B,VOL
<FC>
CTL R>CCTL RJiCTL R3^CTL R>^CTL R3CCTL R
XCTL E3"
<VE>
720 SOUND V2,P0+15,2,VOL:NEXT P0:GOSUB 5
4:RETURN
<cc>
2030 ? ,'‘^SHIFT =3*S0UND-..EFFEKTE*^SHIFT
..
<ED>
789 REM
<CF>
2040 ? ,"^CTL Z3CCTL R3CCTL R3TCTL R3CCT
790 REM *** SPACE SHIP ***
<LF>
L R3CCTL R3CCTL R3CCTL R3CCTL R3CCTL R>C
791 REM
<BJ>
CTL R3CCTL R3CCTL R3CCTL R3CCTL R3CCTL R
800 SOUND V2,0,8,2:FOR VOL=l TO 15 STEP
3CCTL C3":PQKe 201,9=?
<SV>
0.1:SOUND V0,25,4,VOL=SOUND Vl,13,4,VOL:
2050 POKE 201,5
<MJ>
NEXT VOL
<SH>
2100 ? ,”^<l>.J^OIINE^GUN“
<AH>
S10 FOR V0L=14 TO O STEP -0.1:SOUND V0,2
2110 ? ,"*<2>-.SURF*WAVES*‘
<Q0>
□ ,4,V[:ft_=SOUND VI, 13,4,VOL:NEXT VOL
<6K>
2120 ? ,"*<3>*LAZER*FIRE‘'
<RE>
820 GOSUB 54:RETURN
<Re>
2130 2 ,"*<4>*P0LICE-i.SIREN“
<M0>
889 REM
<CG>
2140 ? ,"*<5>*AIR*RAID*SIREN"
<FK>
890 REM *** SPACE ECHO ***
<VN>
2150 ? ,*'*<6>*TELEPHONE*RHvKING‘^
<0N>
891 REM
<EK>
2160 ? 7 >^NHISTLING-.BOMB“
<NN>
900 FOR V0L=15 TO 0 STEP -0.2:FOR P0=0 T
2170 ? ,"*<8>^SPACE*SHIP"
<RY>
0 5:SOUND V0,P0,2,VOL:SOLHMD V1,P0+1,2,VO
2180 ? ,*’-.<9>*SPACE*ECH0"
<BE>
L:N£XT PB
<UF>
2190 ? ,"<10>-.DOOR*BELL"
<BD>
910 FOR P1-VOL*10 TO VOL STEP -10:SOUND
2200 ? ,“<11>^U2ZER”
<UM>
V0,P1,10,VOL=SOUND Vl,Pl+V0L,10,VaL:NEXT
2210 ? ,"<12>^GALAXY^CANTINA*MUSIC“
<HW>
PI=NEXT VOL
<D6>
2220 ? ,”<13>^THUNDER"
<R6>
920 RETURN
<MX>
2230 ? ,"<14>*0LD*AIRPLANE"
<IU>
999 REM
<CH>
2240 ? ,"<15>...PLANE-i.CRASHING"
<JZ>
990 REM *** DOOR BELL ***
<TK>
2500 ? ,“<16>*RUN*LAST*PRQGRAM-
<IW>
991 REM
<BL>
3000 POKE 53279,0:? :? ,"**^^WELCHE*NR.
1000 FOR VOL=15 TO 0 STEP -0.5=SOUND Vß,
";:TRAP 9000: IfvffTJT CHOICE=TRAP 40000
<xw>
29,10,VOL:SOUND VI,30,10,VOL:NEXT VOL
<FS>
3010 CHOICE^INT<CHOICE)sIF CHOICECl OR C
1010 FOR VQL=15 TO 0 STEP -0.5:SOUND VO,
H01CEM6 THEN 9000
<ZM>
35,10,VOL:SOUND VI,36,10,VOL:NEXT VOL
<PA>
3020 IF CH0ICE=16 THEN RUN “D:SOUND-7"
<SC>
1020 RETURN
<0Z>
3030 BRAPHICS OsSETCOLOR 2,CHOICE,0 e? :?
1089 REM
<VG>
= ? :? =HST CHOICE*!©©-10,CHOICE*!00+80
<BB>
1090 REM **# BUZZER ***
<HA>
3040 GOSUB CHOICE*100;? :? =? "...^..JHJRECK
1091 REM
<UD>
E-.£rNE^TASTE^FUER*MENUE " ; ; POKE 764,255
<CS>
1100 SOUND 0,40,6,10
<HL>
3050 IF PE£K€764)=255 THEN 3050
<XC>
1110 FOR DELAY^l TO 400
<XH>
3060 POKE 764,255:GOTO 2000
<SK>
1120 iv^XT DELAY
<cz>
9000 RUN
<XW>
1130 SOUND 0,0,0,0rR£TURN
<DL>
9010 REM CASSETTEN BENUETZER MUESSEN IN
1189 REM
<VI>
ZEILE 3020 'RUN “D;SOUND.7"' AENDERN IN
1190 REM *** GALAXY CANTINA MUSIC ***
<YW>
'GRAPHICS 0:£ND'
<CG>
1191 REM
<UF>
Listing 5, Verschiedene Seund-EffekteL (SchluB)
128
0 REM SOUND-7 (
c) 1985 by Peter Ger^tner 26/11/85 <OB>
1 REM <UO>
2 REtt <UR>
3 REM <ÜS>
100 SDTQ 10000 <JC>
500 POSITION 1,0;FOR ME=0 TO S:POSITION
6,riE+2=9 #6;53760+ME? "="?N<ME) ; NEXT
ME <DZ>
600 7 #6;''WÄehlejLspeicherzelle*'; <SF>
700 POSITION 5,2:? #6;"CESC CTL ■i->":Y=2 <ZS>
720 ^STICKt01:IF S=14 AND Y>2 THEN POSI
TIÜN 5,Y:? #6;"*":Y=Y-1=POSITION 5,Y=? #
6;CHR$(30>:GÖSUB 3000 <XN>
730 IF PEEK(764)0255 THEN 12000 <CH>
740 IF S==13 AND Y<10 THEN POSITION 5,Y = ?
#6; *'*"sY=Y+l: POSITION 5,Y:? #6;CHRitC30>
iGOSUB 3000 <RF>
760 IF STRIG(0)=1 THEN 720 <AB>
800 GC=Y-2 <UB>
900 POSITION 0,11;? #6;"*trigger^auslass
en-.-.**; <EE>
1000 IF STRie(0)^0 THEN 1000 <YL>
1010 POSITION 5,Y:? #6;"*" <SE>
1020 P=53760+GC;L$^STR4^CP):FOR ME=1 TO 5
: IT^SCCLS CME,ME> ) : IT=IT+i28:L^ CME,ME)=C
HRS<IT):NEXT ME <TQ>
1030 POSITION 6,Y:? #6;L^ <BP>
1040 POSITION 0,11:? #6j‘'-.--.-aender^poke
<NN>
2000 S=STICK(0);IF S=14 AND N(GC><255 TH
EN N(GC)=NCGC)+1 <PW>
2020 IF PE£K(764)0255 THEN 12000 <UE>
2100 IF S=13 AND N(GC)>0 THEN N(eC)^(GC
)-l <QE>
2200 POKE P,NCGC)sPOSITION 12,Y:? #6;N(G
C) ; CUU>
2300 IF STRIG(0)=1 THEN 2000 <AJ>
2400 POKE 65,0:GOTO 500 <OJ>
3000 FOR ME=1 TO 10tPOKE 53279,0:POKE 53
279,S:NEXT t-E: RETURN <LM>
10000 GRAPHICS 18:DIM N(S>,LSC5)t^IUND 0
,0,0,0:PDKE 710,154:POK£ 709,204 <JM>
10010 REM * LITERALS IN LINE 10100 ARE I
NVERSE VIDEO <VC>
10100 7 #65 "^^■^^ SOIMD^.^ITOR ”;? #6;“«**
**-**-m-******-i(-'*;POKE 764,255 <SZ>
11000 FOR ME=0 TO 8;NCME)=0:NEXT ME:CLOS
e #1:0PEN #1,4,0,"K:":GOTO 500 <US>
12000 FOR A=0 TO 3:SOUND A,0,0,0:NEXT A:
POKE 65,3 ■ <GG>
12010 RUN "DrSOUND-S" <«□>
12020 RE« <NW>
12030 REM Cas^etten Benutzer Zeile 12010
aendern in 'GRAPHICS 0;END' <PZ>
Listing 6. Sound-Editor- Bitte mit dem Namen
»D:SOUND.7« auf Diskette speichern.
0 REM SOUND-8 <HR>
1 REM <UO>
2 REM <UR>
3 GRAPHICS 1+16 <IJ>
4 SETCOLOR 0,4,6sSETCOLOR I,0,12:SETCOLO
R 2,li,4:BOSUB 2000 <XS>
5 FOR 1=0 TO 3:S0UND 0,100,10,0:NEXT I <XL>
10 DIM B(3) <BH>
20 BC1)=12S:B(2)=0:B(3)=128 <ZD>
40 POHE 53768,4;SO=130:POKE 53763,130 <KP>
50 BC=3sRESTORE 1000 <Ta>
100 READ T:IF T=-l THEN RESTORE li00:REA
0 T <UK>
105 IF PEEKt53279)=6 THEN GRAPHICS 0sNEW
<0K>
110 BC=BC+1:IF BC=4 THEN BC=1 <KR>
115 SO=SÖ-10:IF SO=0 THEN SO===120 <XC>
120 C=i536:POKE 53762,SO:POKE 53767,160:
TA=1536 <QD>
127 IF B(BC)<>0 THEN C=53767;POKE 53766,
B<BC) <0I>
130 IF T<>0 THEN POKE 53760,1:POKE 53764
,T+1:TA=53761 <VW>
140 FOR 1=14 TO 2 STEP -2:PCH<E C, 192+1: P
OKE TA,160+I=FOKE TA+4,160+1:NEXT , I <IQ>
150 GOTO 100 <LQ>
1000 DATA^0,0,0,0,0,0,0,0,0,0,0,0 <BL>
1010 DATA.-.0,0,0,0,0,0,0,0,0,0,0,0 <B0>
1100 DATA*162,S1,S1,81,81,81,91,81,81,31
,81,81 <DR>
1110 DATA^102,81,81,81,81,81,100,81,31,8
1,81,81 <Ke>
1120 DATA*121,81,81,81,81,ei,121,91,136, •
102,144,108 <CC>
1130 DATA*162,121,144,108,136,102,144,10
8,162,121,182,136 <VQ>
1140 DATA^162,121,144,100,136,102,144,10
8,162,121,182,136 <VT>
1150 DATA*204,144,217,162,243,204,243,18
2,217,162,204,217 <ET>
1152 DATA*162,121,144,108,136,102,144,10
8,162,121,182,136 <WE>
1154 DATA*162,121,144,108,136,102,144,10
8,162,121,182,136 <WM>
1160 DATA*108,0,108,108,0,121,0,0,0,0,0,
0 <WS>
1170 DATA*136,0,136,136,0,144,0,0,0,0,0,
0 <EC>
1180 DATA*i62,0,162,0,162,0,144,0,144,0,
144,0 <MZ>
1190 DATA*136,0,136,0,144,0,162,0,L0,0,0,
0 <FI>
1200 DATA*I08,0,108,108,0,121,0,0,0,0,0,
0 <WC>
1210 DATA*136,0,136,136,0,144,0,0,0,0,0,
0 <DM>
1220 DATA*162,0,162,0,0,162,144,0,144,0,
0,144 <0J>
1230 DATA*136,0,136,144,0,162,0,0,0,0,0,
0 <CS>
1240 DATA*-1 <EU>
2000 POSITION 0,3;? #6; "*V1ELFN*I>ANK*FUE
R'S- <AA>
2010 ? #6:? #6;”*MITMACHEN*UND*VIEL" <CR>
2020 ? #6:? #6;‘^**ERFOLS*IM*MUSIK“ <IE>
2030 ? #6:? #6;”***PR0GRAMMI£REN" <HP>
2040 ? #6:? #6;“******WUENSCHT‘' <WY>
2050 ? #6:? #6;“********DIR" <DE>
2060 ? #6;? #6:? #6;"***peter*ger5tner" <CY>
2070 POSITION 0,21:? #6; **** START*=*END
E" <AH>
2080 RETURN <PS>
Listing 7. »Oxygene^c von Jean-Michel Jarra Bitte mit dem
Namen »D:SOllND.8« auf Diskette speichern.
0 REM (c) 1785 by Kemal Ezcan <RY>
1 REM <Uß>
2 REM <UR>
3 REM <US>
10 eOSUB 30000 <MT>
15 POKE 53768,1 <PA>
30 SOUND 0,0,10,1O:SOUND 1,0,10,10:SOUND
2,0,10,^0-SOUND 3,0,10,10 <OV>
50 OC+l:lF 08 THEN C=1:READ BD,RD,SD <BG>
60 ST=ASC(SS(C+SD,C+SD)) < XU>
70 BT=ASCCBS(C+BD,C+BD>>:SOUND 3,BT,12,8 <JI>
75 IF PEEK{53279)^6 THEN GRAPHICS 0:END <XH>
80 RDIS=1:A=A5CCR$<C+RD,C+RD) ) s IF AO0 t
HEN RT=A:RL=12 <IH>
90 READ T,E:IF T=-l THEN 200 <QN>
95 SOUND 0,T,10,12 <SF>
100 FOR 1=15 TO 4 STEP -1.6:SOUND 1,ST,1
2,1:SOUND 2,RT,8,RL:RL=RL-0.9^KRL>=0-6)s
NEXT I <SA>
101 SOUND 2,0,3,10 <GA>
105 IF E=0 THEN SOUND 0,0,0,0 <HM>
110 GOTO 50 <QS>
200 FOR 1-15 TO 4 STEP -IsSOUND 0,91,10,
I;SOUND 1,121,10,1:SOUND 2,72,10,I:SOUND
3,0,0,0:NEXT I <VT>
202 FOR 1=15 TO 4 STEP -1:SOUND 0,91,10,
I:SOUND .1,121,10,1:SOUND 2,72,10,I:SOUND
3,0,0,0:NEXT I <VZ>
204 FOR 1-15 TO 4 STEP -IsSOUND 0,96,10,
Listing 8. »Digl LocpOigi Ley« - Top-Musik auf dem Atari
129
I:SOUND 1,121, 10 , 1 =SOUND 2,91,10,I:SOUND
1380 DATA*56,0,8,22,0,22,0,22,0,22,0,23,
3,ß,ß,0=NEXT I
<DC>
1,23,0,26,1,26,0
<KJ>
206 FQR 1=15 TD 0 STEP -0-8:SOUND 8,91,1
1390 DATA*56,0,16,60,0,60,0,60,0,72,1,72
0,1:SOUND 1,121,10,1:SOUND 2,72,10,I=SOU
,0,Bl,0,9l',a,81,l
<0N>
ND 3,0,0,0:NEXT 1
<AM>
1400 DATA^56,0,24,81,1,81,1,81,1,81,0,68
210 GRAPHICS 0:END
<HT>
,1,68,1,68,1,69,0
<JC>
220 STOP
<E0>
1410 DATA*56,0,16,60,0,60,0,60,0,72,1,72
1080 DATA*56,0,56,0,1,0,l,0,i,0,1,0,1,0,
,0,81,0,91,0,60,1
<HK>
1 , 0 , 1 , 0,1
<FQ>
1420 DATA^56,0,32,60,1,60,1,60,1,60,1,60
1010 DATA>..56,0,56,72,0,72,0,81 ,0,72,0,0,
, 0 ,45, 0 ,47, 0 ,60,1
<CY> :
1 , 0 , 1 , 0 , 1 , 0,1
<WC>
1430 DATA*56,8,40,60,1,60,1,60,1,60,1,60
1020 DATA*56,0,56,0,1,0,1,0,1,0,1,0,1,0,
, 1 ,60,0,72,0,68,0
<NÜ>
1 , 0 , 1 , 0,1
<FW>
1440 REM REFRAIN
<YW>
1030 DATA*0,0,56,72,0,72,0,81,0,72,0,0,1
1450 DATA-.16,0,16,60,1,60,0,60,0,72,0,53
, 0 , 1 , 0 , 1 , 0,1
<YK>
, 1,53,0,53,0,72,0
<E0>
1040 DATA,.0,8,56,0,1,0,1,0,1,0,i,0,l,0,l
1460 DATA-.-24,0,24,68,0,72,0,68,O,60,l ,60
, 0 , 1 , 0,1
<UU>
,1,60,0,72,0,68,0
<YD>
1045 REM VORSPEL
<PR>
1470 DATA^0,0,0,60,0,60,0,60,0,60,0,60,0
1050 DATA*56,0,0,72,0,72,0,72,0,81,1,81,
,91,1,91,0,53,1
<WL>
0,72,1,72,0,60,0
<HU>
1480 DATA*32,0,32,53,1,53,1,53,1,53,1,53
1060 DATA*56,0,0,33,0,33,0,35,8,45,1,45,
,1,53,1,53,1,53,0
<MP>
0,48,1,40,0,0,1
<BP>
1490 DATA^S,0,8,53,0,53,0,53,0,53,0,47,1
1070 DATA^56,0,8,60,0,60,0,60,8,60,1,60,
,47,0,47,1,47,0
<DS>
0,91,1,91,0,45,0
<BH>
1500 DATA^0,0,0,45,0,60,1,60,0,60,1,60,1
1080 DATA^56,0,8,22,0,22,0,22,0,22,0,23,
,60,1,60,0,72,0
<NU>
1,23,0,26,1,26,0
<KD>
1510 DATA^48,0,48,68,0,72,0,68,1,68,1,68
1090 DATA*56,0,16,68,0,60,0,60,0,72,1,72
,0,53,1,53,0,53,1
<TW>
,0,81,0,91,0,81,1
<DH>
1515 REM CCTL QJCCTL RXCTL R J <CTL R> 1
1100 DATA^56,0,24,S1,1,81,1,81,1,81,0,68
TL R>^CTL R>TCTL R>=tCTL VI
<XJ>
, 1 , 68 , 1 , 68 , 1 , 68,0
<IW>
1520 DATA-..40,S,40,53, 1 ,53,0,60,1,60,1,60
1110 DATA*S6,0,16,60,0,60,0,60,0,72,1,72
,1,60,0,72,0,68,0
<NB>
,0,81,0,91,0,60,1
<HE>
1530 REM REFRAIN
<YV>
1120 DATA^56,0,32,60,1,60,1,60,1,60,1,60
1540 DATA*.16,0, 16,60,1,60,0,60,0,72,0,53
,0,45,0,47,0,60,1
<CS>
,1,53,0,53,0,72,0
<EN>
1130 DATA^56,8,40,60,1 ,60, t-,^0^1,60,1 ,60
1550 DATA*24,0,24,6S,0,72,ß,6S,0,60,l,60
,1,60,0,72,0,60,0
<N 0 >
,1,60,0,72,0,68,0
<YC>
1140 REM REFRAIN
<YQ>
1560 DATA-i-0,0,0,60,0,60,0,60,0,60,0,60,0
1150 DATA^16,0,16,60,1,60,0,60,0,72,0,53
,91,1,91,0,53,1
<WK>
,1,53,0,53,0,72,0
<EI>
1570 DATA*32,0,32,53,1,53,1,53,1,53,1,53
1160 DATA^24,0,24,68,0,72,0,68,0,60,1,60
,1,53,1,53,1,53,0
<Ma>
,1,60,0,72,0,68,0
<XX>
1580 DATA^S,0,8,53,0,53,0,53,0,53,0,47,1
1170 DATA^0,0,0,60,0,60,0,60,0,60,0,60,0
,47,0,47,1,47,0
<DR>
,91,1,91,0,53,1
<WF>
1590 DATA^0,0,0,45,0,6O,1,60,0,60,1,60,1
1180 DATA^32,0,32,53,1,53,1,53,1,53,1,53
,60,1,60,0,72,0
<OV>
,1,53,1,53,1,53,0
<MJ>
1600 DATA*4S,0,48,68,0,72,0,68,1,69,1,68
1190 DATA*S,0,8,53,0,53,0,53,0,53,0,47,1
,0,53,1,53,0,53,1
<TV>
,47,0,47,1,47,0
<DM>
1610 REM CCTL Q>CCTL R>CCTL R>CCTL R>2CC
1200 DATA^0,0,0,45,0,60,1,60,0,60,1,60,1
TL R>CCTL R^CCTL R>
<sv>
,60,1,68,0,72,0
<N0>
1620 DATA*40,0,40,53,1,53,0,60,1,60,1,60
1210 DATA^4a,0,4S,68,0,72,8,68,1,68,1,68
,0,45,0,47,0,60,1
<BS>
, 0 ,53, 1 ,53, 0 ,53 ,1
<TG>
1630 DATA*40,0,40,6ß,1,60,1,60,1,60,1,60
1215 REM ^CTL Q>^CTL R><CTL RJTCTL RI1£C
,1,60,1,60,1,60,0
<NP>
TL R>CCTL Ri^CTL R>:tCTL V>
<XD>
1650 DATA^0,0,0,-1,0
<FB>
1220 DATA*40,8,40,53,1,53,0,60,1,60,1,60
30000 REM INIT
<SG>
,1,60,0,72,0,68,0
<MV>
30010 DIM S^C64),B^(64>16)
<ZW>
1230 REM REFRAIN
<YP>
30020 R$="<CCTL ,JCCTL F>CCTL ,><CCTL ,>
1240 DATA^16,0,16,60,1,60,0,60,0,72,0,53
CCTL F>CCTL ,JCCTL FICCTL FJCCTL Q>CCTL
,1,53,0,53,0,72,0
<EH>
QyWii"
<W1>
1250 DATA*24,0,24,68,0,72,0,68,0,60,1,60
30030 BS="CCTL R:^CCTL R>CCTL CCTL R>CC
,1,60,0,72,0,68,0
<X«>
TL R>CCTL RJCCTL RJCCTL RInnnn????CCTL R
1260 DATA^0,0,0,60,0,60,0,60,0,60,0,60,0
>CCTL RICCTL R J CCTL RI0OO0CCTL ,JCCTL ,>
,91,1,91,0,53,1
1270 DATA*32,8,32,53,1,53,1,53,1,53,1,53
<WE>
CCTL ,>CCTL ,J7227nnnnnnnn777727??CCTL ,
>CCTL ,JCCTL ,TCCTL ,>CCTL ,>CCTL ,>CCTL
,1,53,1,53,1,53,0
<MI>
,>CCTL ,>CCTL N>CCTL NXCTL N:^ CCTL N>CC
1280 DATA^S,0,8,53, 8 ,53,0,33,0,53,0,47,1
TL NI CCTL N3-CCTL N J CCTL N>“
<VO>
,47,0,47,1,47,0
<DL>
30040 S4i="a0a0a0a0H$H^CCTL BJ7CCTL B>7a0
1290 DATA^0,0,0,45,0,60,1,60,0,60,1,60,1
a0s5S=W+W+CCTL BI7CCTL ßT7H^H$H^H^CCTL B
,60,1,60,0,72,0
<0P>
17 CCTL B17CCTL B17CCTL B>?W-^W+W+W+CCTL N
1300 DATA-48,0,48,68,0,72,0,68,1,68,1,68
ICCTL N>CCTL NICCTL NJCCTL N>CCTL NlCCTL
,0,53,1,53,0,53 ,1
<TP>
NICCTL N>"
<KV>
1310 REM £CTL Q>tCTL R>^CTL RI^CTL RT2CC
30050 BRAPHICS 3+16=SETCOLOR 4,2,6
<NY>
TL R>TCTL R>^CTL R>
<SP>
30060 GRAPHICS 18:SETC0LCrR 4,0,0;SETCOLO
1320 DATA*40,0,40,53,1,53,0,60,1,60,1,60
R 0,0,15
<GW>
,0,45,0,47,0,60,1
<BM>
30070 7 #6=7 # 6 ; " -C- S -C- *«»***#*"; 7 #
1330 DATA*40,0,40,60,1,60,1,60,1,60,1,60
6 ; #6^:7 #65 "*SDFT
,1,60,1,60,1,60,0
<NJ>
WARE^******^* "
<LV>
1340 REM WIEDERHOLUNG
<U1A>
30075 7 # 6 ;"*************^****“=7 # 6 ;"*P
1350 DATA*56,0,0,72,0,72,0,72, 0 , 81 , 1 , 81 ,
RESENT**^*^^* " : 7 #6 ; " ^^^^^^^^^******* "
<KX>
8,72,1,72,0,60,0
<IA>
30080 POSITION 0,9=7 # 6 ; "DIGI^LOO^/^IBI
1360 DATA*56,0,0,33,0,33,0,3S,0,45,1,45,
*LEY !"
<WY>
0,40,1,40,0,0,1
<BV>
30085 ? # 6 ; "-^(O^BY^ICEMAL^EZCAN"
<ET>
1370 DATA*S6,0,0,60,0,60,0,60,0,60,1,60,
30090 C=8: RETURN
<VQ>
0,91,1,91,0,45,0
<BN>
Listing 8. »Digi Loo-Digi Ley« (Schluß)
130
Aktion
mit
Action
Action zählt zu den schnellsten
Programmiersprachen für Atari-
Computer. Wer auf hohe Ge¬
schwindigkeiten Wert legt, aber
nicht in Maschinensprache pro¬
grammieren will, sollte Action in
Erwägung ziehen.
J r n letzter Zeit machte eine Program¬
miersprache von sich reden, die
ursprünglich als Sprache f ür System¬
entwickler konzipiert war: »C«. Sie
wurde Anfang der siebziger Jahre von
Dennis Ritchie aus BCPL weiterent¬
wickelt. Als Standardwerk zur Program¬
mierung in »C« wird daher auch oft das
Buch von Kernighan/Ritchie (»The C
Programming Language«) genannt. Rit¬
chie war später auch an der Entstehung
von UNIX beteiligt
Es gab bereits mehrere Versuche, die
Sprache C auf den Atari anzupassen:
Das »Deep Blue G«-System ist weitge¬
hend an einen klassischen C-Compiler
angelehnt Allerdings sind hier nicht nur
beim Befehlsumfang, sondern auch bei
der Arbeitsgeschwindigkeit Abstriche
zu machen. Ein anderer Weg wurde mit
C/65 begangen. Bei diesem System
wird der Quelftext in einen Assembier-
text compiliert, der dann mit MAC/65
{siehe Beitrag in diesem Sonderheft)
weiter bearbeitet werden muß.
Unser Thema ist aber die Program¬
miersprache »Action«, die von OSS
stammt Diese Sprache enthält zwar
viele Elemente von C, ist aber dennoch
»anders« genug, um einen eigenen
Namen verdient zu haben.
Action wird (womit wir schon beim
ersten Unterschied zu konventionellen
C-Comptlern sind) auf einem Programm¬
modul geliefert. Wie bei allen anderen
Cartridges von OSS handelt es sich
dabei um ein 16 KByte-Super-Cart-
ridga Es belegt aber trotzdem nur 8
KByte-RAM-Speicher. Bei Verwen¬
dung von DOS XL kann der freie Spei¬
cherplatz sogar noch weiter erhöht
werden. Der nächste Vorteil ist (genau
wie bei MAC/65), daß sich Editor und
Compiler gleichzeitig im Speicher
befinden. Von der Konzeption des
Systems her läßt sich Action also mit
Turbo-Pascal vergleichen, bei dem
ebenfalls Editor, Compiler und Quell¬
text gleichzeitig im Speicher vorliegen.
Ein separater Linker ist nicht nötig.
Da Action, genau wie C, nicht mit Zei¬
lennummern arbeitet hat man dem
Action-System einen stark an Textpro-
gramme angeiehnten Editor eingebaut
Grundsätzlich stehen alle normalen
Fähigkeiten des Bildschirmeditors zur
Verfügung. Allerdings kann jede Zeile
maximal 240 Zeichen lang sein, so daß
man bei Schleifen und Kommentaren
genügend Platz zum Einrücken hat. Da
die Darstellung auf dem Bildschirm auf
nur 40 Zeichen pro Zeile begrenzt ist
(Bild 1), ist natürlich immer nur ein Teil
des üstings zu sehen. Bei den Zeilen,
die über den Rand des Bildschirms hin¬
ausreichen, ist jeweils das letzte Zei¬
chen invertiert Bewegt man nun den
Cursor über den rechten Rand des Bild¬
schirms, wird die Zeile, in der man sich
befindet nach links gescrollt (Bild 2).
Weitere Fähigkeiten des Editors sind
Funktionen zum Suchen und Ersetzen
von Begriffen, der Einsatz eines zwei¬
ten Bildschirmfensters, in dem man
eine andere Datei bearbeiten kann, und
ähnliches mehr.
Das Fehlen von Zeilennummern beim
Programmieren erschwert es oft,
bestimmte Programmteile wiederzufin¬
den: Der Action-Editor erlaubt aber, an
beliebigen Stellen Markierungen (Tags)
zu setzen, die man dann später mit nur
zwei Tasten wieder anwählen kann.
Sämtliche Parameter wie Zeilenlänge
und Fenstergröße etc. sind veränder¬
bar.
Den Mittelpunkt des Action-Systems
bildet der Monitor, von dem aus man
Editor, Compiler und DOS auf rufen
kann. Außerdem können einzelne Spei¬
cherzellen verändert und ganze Spei¬
cherbereiche gelistet werden. Wichtig
beim Testen eines Programms ist der
TRACE-Modus. Während des Pro¬
grammablaufs erlaubt er die Ausgabe
von Namen und Parametern jeder auf¬
gerufenen Prozedur auf dem Bild¬
schirm.
Die Programmiersprache Action ist
weitgehend an C angelehnt So haben
beide grundsätzlich ähnliche Daten¬
typen und eine ähnliche Syntax,
Dazwischen den einzelnen Befehlen
nur Leerzeichen stehen brauchen, ist
man in der Aufteilung des Queiltextes
völlig frei.
Natürlich ist es empfehlenswert, bei-
Verschachtelungen, wie bei anderen
Programmiersprachen auch, dazwi¬
schenliegende Zeilen einzurücken. So
werden Programme übersichtlich und
überschaubar.
An Datentypen sind in Action
zunächst einmal BYTE und CHAR (ein¬
zelne Byte), INT (2-ßyte-lnteger
zwischen -32768 und 32767) und
CARD (desgleichen zwischen 0 und
65535) vertreten. Bei der Deklaration
von Variablen kann man (muß aber
nicht) angeben, welche Speicherstelle
dazu benutzt werden soll. Beispiel:
»BYTE chbase=^$02F4«
Mit dieser Zeile würde- man eine
1-Byte-Variable erzeugen, die genau
auf der Adresse $02F4 liegt Bei einer
Wertzuweisung zu chbase wird die
Adresse $02 F4 geändert. Das Kom¬
mando »chbase=$CC« schaltet also
den internationalen Zeichensatz ein.
$02 F4 fungiert nämlich als Basisregi¬
ster für den Zeichensatz und $CC als
High-Byte der Anfangsadresse des Zei¬
chensatzes. Wo Basic umständliche
POKE-Befehle erfordert, kann man hier
sehr viel eleganter programmieren.
Gleiches gilt natürlich für die anderen
Datentypen.
Neben den fundamentalen Daten¬
typen gibt es in Action auch erweiterte
Arten von Variablentypen. Fangen wir
mit dem Typ POINTER (Zeiger) an.
Davon abgesehen, daß die Deklaration
ein wenig anders abläuft (»CHAR POIN¬
TER pnt« statt »CHAR *pnt«), ist die
Anwendung der Pointer in Action
genauso wie in C gelöst Mit
»pnt=@var« erhält man die Adresse
einer Variablen (in C:»pnt=&var«}, mit
»pnt"« erhält man die Adresse, auf die
pnt zeigt (in C müßte der Befehl dann
»*pnt« iauten).
Ein weiterer wichtiger Datentyp ist
das Feld (Array). im Gegensatz zu C
verwendet man in Action allerdings nur
eindimensionale Arrays. Sie werden
außerdem nur aus den fundamentalen
Datentypen, also CHAR, BYTE, INT und
CARD, aufgebaut Allerdings kann man
mit einem Trick auch Arrays aus den
erweiterten Datentypen verwenden.
In Action lassen sich auch eigene
Datentypen definieren; sie heißen
Recorda Man benutzt dazu die Anwei¬
sung TYPE, während es in C STRUCT
heißt. Der Vorteil der Records liegt
darin, verschiedene Datentypen unter
einem gemeinsamen Oberbegriff zu¬
sammenfassen zu können.
Wie schon bei der Erörterung der fun¬
damentalen Datentypen zu sehen war,
erlaubt Action eine sehr maschinen¬
nahe Programmierung. Alle numeri¬
schen Konstanten können auch in
hexadezimaler Schreibweise eingege¬
ben werden, und auch sämtliche Funk¬
tionen zur Manipulation einzelner Bits
sind verfügbar: »&« (logisches AND),
»%« (OR), (XOR), LSH (feft shift)
und RSH (right shift). Leider fehlt eine
angenehme Eigenschaft von C. Es ist
nicht möglich, Variablen an beliebigen
Stellen im Programmtext durch zwei
kurze Zeichen zu in- oder dekrementie-
ren.
Immerhin kann man bei Veränderun¬
gen einer Variablen den Namen auf der
rechten Seite des Gleichheitszeichens
weglassen, vorausgesetzt man
schreibt stattdessen zwei Gleichheits¬
zeichen (Beispiel: 3^Zaehler= = + 1«
erhöht die Variable Zaehler um eins).
Ein wichtiger Gesichtspunkt bei der
Beurteilung einer Sprache sind die ver¬
fügbaren Strukturen für Schleifen und
Verzweigungen. Action ähnelt in dieser
Hinsicht weniger Q sondern eher Basic
oder Pascal. Für Verzweigungen dient
natürlich das Kommando IR Hierbei ist
die Anzahl der Befehle, die TH EN folgen
dürfen, völlig offen. Am Ende des durch
TH EN eingeleiteten Blocks muß aller¬
dings ein Fl stehen. ELSE ermöglicht es
dann, den entgegengesetzten Fall abzu¬
fangen. Die Worte DO und OD beginnen
beziehungsweise beenden einen
Schleifenblock. Diese beiden Aus¬
drücke ersetzen die geschweiften
Klammern, die üblicherweise zwischen
einfachen Anführungszeichen einge¬
bunden sind. Dabei kann man ohne
Bedingungen arbeiten und erhält dann
eine unendliche Schleife - oder aber
WHILE, FOR oder UNTIL benutzen, um
eine Bedingung für die Schleife festzu¬
legen. Einen vorzeitigen Abbruch von
Schleifen bewirkt der Befehl EXIT.
Was eine strukturierte Programmier¬
sprache sein will, muß natürlich über
Prozeduren, Funktionen und lokale
Variablen verfügen. Während sich Pro¬
zeduren und Funktionen in C nur darin
unterscheiden, daß Funktionswerte
zurückgegeben werden (oder nicht),
werden sie in Action bereits bei der
Deklaration unterschieden.
Bei Prozeduren geht das folgender¬
maßen vor sich: Zunächst wird mit
PROC angezeigt, daß eine Prozedurde¬
klaration stattfindet. Es folgen der
Name der Prozedur und {in Klammern}
Datentypen und Namen der übergebe¬
nen Parameter. Damit sind die überge¬
benen Parameter automatisch als lokale
Variablen für diese Prozedur definiert.
Beendet wird der Vorgang mit dem
Kommando RETURN. Prozeduren wer¬
den wie Kommandos aufgerufen {Bei¬
spiel: :^Wait (30)«).
Funktionen unterscheiden sich von
Prozeduren darin, daß sie einen Funk¬
tionswert an das aufrufende Programm
zurückliefem können. Ein Aufruf einer
Funktion sieht deshalb auch ein wenig
anders aus. Beispiel: »X=STICK (0)«.
Bei Funktionsdeklarationen muß
zunächst der Typ des ermittelten
Endresultats angegeben werden. Es
folgt dann das Kommando FUNQ der
Name der Funktion und die Liste der
übertragenen Parameter (genau wie bei
Prozeduren). Der einzige weitere
Unterschied ist, daß zum Schluß dem
Befehl RETURN noch ein Parameter
übergeben wird, der dann als Funk¬
tionswert gilt.
Genau wie bei einem C-System wer¬
den auch zum Action-Compiler die
wichtigsten Ein- und Ausgabefunktio¬
nen in Form einer Unterprogramm¬
bibliothek mitgeliefert. Der große Unter¬
schied ist allerdings, daß diese Routi¬
nen nicht, wie sonst üblich, auf Diskette
beiliegen und dann in das compiiierte
Programm eingebunden werden, son¬
dern im ROM des Action-Cartridges lie¬
gen. Dies hat zur Folge, daß compiiierte
Programme, wenn sie auf vordefinierte
Funktionen oder Prozeduren zurück¬
greifen, nur mit eingestecktem Car¬
tridge laufen.
Weiterhin gibt es, passend zum
Action-Modul, eine Unterprogramm-
bibliothek. Darin enthalten sind
zunächst Befehle zur Ausgabe sämtli¬
cher Datentypen (inklusive vor PrintF).
Daneben findet man, auch jeweils für
alle Datentypen, den INPUT-Befehi.
Ebenso sind alle anderen normalen Eir¬
und Ausgabefunktionen, wieGET, PUT,
OPEN, CLOSE, XfO, NOTE und POINT,
bereits als Prozedur definiert. Leider
sucht man die recht wichtigen Befehle
BGET und BPUT vergeblich. Grafik-
und Soundbefehie, die zum größten Teil
ihren Basic-Vorbildern entsprechen,
fehlen aber nicht.
Da Action nicht ohne weiteres in der
L^ge ist, Zeichenketten zu verarbeiten,
sind auch hierfür einige nützliche Pro¬
zeduren vordefiniert.
Wie wir bisher gesehen haben, hat
Action zwar viele Eigenschaften von C,
eine vollständige Implementation liegt
aber beileibe nicht vor. Andererseits
wartet Action mit Erweiterungen auf, die
besonders auf dem Atari von sehr gro¬
ßem Nutzen sind. Dazu zählt zum Bei¬
spiel auch die Festlegung der Adresse
einer Variablen.
Wer zeitkritische Programmteile doch
lieber in Maschinensprache schreiben
will, dem stehen zweierlei Wege offen.
Für kurze, verschiebbare Programm¬
teile empfiehlt es sich, den Maschinen¬
code direkt als Datenblock in den Quell¬
text einzubinden. Längere Programme
kann man ab einer festen Adresse
assemblieren und die zugehörige Pro¬
zedur im Quelltext einzig und allein
durch Festlegung ihrer Anfangs¬
adresse definieren.
Für den professionellen Programmie¬
rer ist es wichtig zu wissen, daß er die
volle Kontrolle darüber hat, wie der
Compiler den Speicherplatz aufteilt. So
läßt sich dann der erzeugte Code in ein
EPROM brennen.
Weiterhin ist für den ernsthaften Ein¬
satz wichtig, die Verwendung der im
ROM integrierten Unterroutinen unter¬
binden zu können. Man definiert ein¬
fach die Routinen selbst neu. Einfacher
ist es allerdings, auf die Action-
Runtime-übrary zuröckzugreifen. Der
Anwender bekommt eine Reihe vordefi¬
nierter Dateien, die mit dem INCLUDE-
Befehl in die selbstverfaßten Pro¬
gramme eingebunden werden.
; Eraseö Ci2:7-xJL+y0, iZZ+yiS
; Eraseö ej.27-xX+yO,
rx
FI
FI
FI
RETURN
RETURN
PROC Gc-TPardmCSTRXNG paraH, C^ßl> ARRftY £3
GSTRIMG paran, CARO ARRAY cur, initial}
CARO r-e^ultC
CARO resuitc
STRING nuMBuF ce3
STRING nunBufCe>=SSSO
Pr ifi-t CparaMJ
Printe- = "J
Print Cparam}
Print C" =
Pr i ntC Cc ur-^l
Pr intCCcur^l
IF initial TriEN
XF initial THEN
Printe—, initial = —>
Printe"'* initial =:
PrintCE Cinitial^}
PrintCe Cinitial^}
FESE
ELSF
PutE es
PutE CI
FX
FI
Printe—Enter net# value:
Printe—Enter new value:
resuitc = xnputcci
res^ultC = inputcei
XF nunBu# ceitie thfn
ZF nuwufeeine theh
Bild 1. Eine Zeile kann bis zu 240 Zeichen lang sein. Da sich
nur 40 Zeichen auf dem Bildschirm darstellen lassen, wird
die Zeile^ in der steh der Cursor befindet, gegebenenfalls
nach links oder rechts gescroJIt.
Bild 2. Die mit dem Cursor gekennzeichnete Zeile ist bereits
nach links gescrolft. Alle anderen Zeilen befinden sich an der
ursprünglichen Position. So bleibt der zu bearbeitende Text
übersichtlich.
132
(!
mmm
Unter dem Strich gesehen handelt es
sich bei Action (etwa 250 Mark) um eine
professionelle Programmiersprache mit
Arbeitsgeschwindigkeiten, die auf dem
Atari bisher für eine höhere Program¬
miersprache als unerreichbar galten:
Ein Benchmarkprogramm zur Berech¬
nung der ersten 1000 Primzahlen war in
Action nur 40 Prozent langsamer als die
in Maschinensprache geschriebene
Version.
Ein Grund für diese enorme
Geschwindigkeit ist darin zu suchen,
daß der Compiler intern völlig anders
vorgeht als ein normaler C-Compiler.
Durch diese vereinfachte maschinen-
sprachnähere Arbeitsweise ist leider
auch die Fähigkeit veriorengegangen,
rekursiv zu arbeiten.
Als weiteren Zusatz zu Actton
bekommt man für etwa 100 Mark die
»Programmer's Ajd«-Disketta Auf die¬
ser Diskette findet man dann schmerz¬
lich vermißte Befehle wie CIRCLE,
Kommandos für Player/Missile-Grafik
oder Fließkommaverarbeitung sowie
einige Demoprogramme.
Action hat also für jeden etwas zu bie¬
ten: Dem Umsteigervon Basic wird eine
schnelle, komfortable Sprache gebo¬
ten, die auch dem Profi-Programmierer
noch voll ausreicht. Und wer später
plant, auf einem »großen« Computer in
C weiterzumachen, kann sich bereits
mit seinem Atari einarbeiten.
(Julian F. Reschke/wb)
Bezugsquellen:
CompyShop, GneisenaLrslr. 29, 4330 Mühlheim/Ruhr,
m (020Ö) 497169
Münzenloher, T&Jzqr Str. 4, 6150 Holzkirchen.
Tel. (08024) 1814
Das TextverarbeitungsSextett
Sechs verschiedene Textverar¬
beitungen auf dem Prüfstand.
Welche ist die beste?
0 en Heimcomputer als Schreib¬
maschine zu nutzen ist wohl
eine der häufigsten ernsthaften
Anwendungen im Heimbereich. Insge¬
samt sechs verschiedene Textverarbei¬
tungen sollen deshalb verglichen wer¬
den, damit Sie beim Kauf die richtige
Wahl treffen.
Eine der ältesten Textverarbeitungen
für den Atari ist wohl der »Atari-
Schreiber«. Er ist auf Modul und neuer¬
dings auch auf Diskette lieferbar. Der
»Atari-Schreiber« ist die deutsche Ver¬
sion des amerikanischen »Atari-Wri-
ters« und deshalb auch auf deutsche
Verhältnisse ^gestimmt. Sowohl das
Handbuch wie auch die Benutzerfüh¬
rung im Programm sind in deutscher
Sprache abgefaßt. Ebenso ist der Zei¬
chensatz und sogar die Tastaturbele¬
gung der deutschen Norm angepaßt.
Wer sonst viel mit der Schreibmaschine
umgeht, wird darüber erfreut sein. Alte
Hacker auf dem Atari können sich aller¬
dings anfangs wahrscheinlich vor Tipp¬
fehlern nicht mehr retten. Deshalb lie¬
gen dem Programm auch Aufkleber für
die Tastatur bei, die die umbelegten
Tasten entsprechend kennzeichnen.
Die Bedienungsanleitung zum »Atari-
Schreiber« besteht aus drei Teilen. Das
eigentliche Handbuch beinhaltet eine
ausführliche Beschreibung des Pro¬
gramms und gibt Tips zum Umgang mit
dem System. Zudem liegt eine Refe¬
renzkarte bei, in der alle Befehle von
»Atari-Schreiber« kurz, aber informativ
aufgeführt sind. Zum schnellen Nach¬
schlagen von bestimmten Befehlen
benutzt man am besten die Referenz¬
karte, die sich als nützliches Hilfsmittel
beim Umgang mit der Textverarbeitung
erweist.
Oer »Atari-Schreiber« wird von einem
Hauptmenü aus gesteuert, das die
wesentlichen Funktionen zur Bearbei¬
tung eines Textes enthält {Bild 1). Die¬
ses Menü erscheint sofort nach dem
Laden des Programms und erleichtert
so den ersten Einstieg in die Textverar¬
beitung. Auch ohne lange im Handbuch
nachschlagen zu müssen, kann man
gleich mit der Eingabe des ersten Tex¬
tes beginnen. Man betätigt einfach die
Taste »N« und gelangt in den Schreib-
Modus. Am oberen Bildschirmrand ist
nun eine Zeile zu sehen, welche die
grundlegenden Druckparameter, wie
linke und rechte Randbegrenzung,
oder den Zeilenabstand enthält. Am
unteren Bildrand befindet sich die
Anzeige über den aktuellen Cursor¬
stand. Leider beziehen sich diese
Angaben nur auf die Bildschirmposition
und nicht auf die tatsächliche Position
des laufenden Textes. So ist eigentlich
nur die Sp^tenangabe von Nutzen.
Insgesamt lassen sich 21 Zeilen von je
35 Zeichen auf einmal auf dem Bild¬
schirm darstellen. Ein horizontales
Scrollen über die 35. Spalte hinaus fin¬
det nicht statt. Die Darstellung von
Tabellen kann daher zum Problem wer¬
den. Die Formatierung eines Textes auf
dem Bildschirm ist nicht identisch mit
dem späteren Ausdruck. Der Text wird
nur dem Bildschirmformat angepaßt;
von den Einstellungen, die Ränder,
Btocksatz und ähnliches betreffen, muß
man sich leider erst auf dem Papier
überraschen lassen.
Die Druckeranpassung ist für die
Atari-Drucker 1020, 1025 und 1027
sowie für den Epson FX-80 über ein
kleines Untermenü vorzunehmen.
Andere Drucker werden vom Atari-
Schreiber nicht unterstützt, so daß man
in diesem Fall entweder für entspre¬
chende Steuerzeichen im Text sorgen
muß oder sich selbst ein passendes
Drucksteuerprogramm schreibt.
Beim »Atari-Schreiber« ist die Aus¬
gabe von Serienbriefen vorgesehen.
Daher kann man einen Text auch mit
Variablen versehen. Braucht bei¬
spielsweise ein Rundschreiben mit
gleichlautendem Text, aber persönli¬
cher Anrede, so wird die Anrede durch
eine Variable ersetzt. Beim Ausdruck
des Rundschreibens schließlich steht
anstatt der Variablen der eigentliche
Text. Dieser wird einfach einer Datei von
der Diskette entnommen, die die erfor¬
derlichen Daten enthält.
Stern oder Sternschnuppe?
Wer größeren Wert auf komfortable
Benutzerführung legt, ist mit dem »Star-
Texter« gut beraten. Allerdings meldet
sich »StarTexter« mit lautem Getöse und
grafischen Spielereien. So würde man
eher ein neues Spiet an Stelle eines
Textprogramms vermuten. Doch der
erste Schein trügt. Wie schon der
»Atari-Schreiber« ist auch dieses Pro¬
gramm auf den deutschen Benutzer
zugeschnitten. Man verfügt also über
einen deutschen Zeichensatz, kann
aber auch beliebige andere Zeichen¬
sätze nachtaden. Auf der Diskette ist
deshalb ein spezielles Programm mit
dem Namen »StarFont« enthalten. Damit
kann man sich seine eigenen Zeichen
definieren. Auf diese Art lassen sich
natürlich auch spezielle grafische Sym¬
bole in einen Text aufnehmen, denn alle
Sonderzeichen werden nicht nur auf
dem Bildschirm dargestellt, sondern
auch in dieser Form auf dem Drucker
ausgegeben. Die Tastaturbelegung
kann man sich aussuchen. Entweder
arbeitet man mit der regulären Bele¬
gung der Tasten, oder man wandelt die
Tastatur des Atari in eine deutsche
Schreibmaschinentastatur nach DIN
um, je nach eigenen Bedürfnissen und
Gewohnheiten.
Nach dem Laden des Programms
befindet man sich zuerst im normalen
Textmodus. Die Darstellung des Textes
erfolgt in 21 Zeilen mit je 40 Zeichen
(Bild 2). Durch horizontales Scrollen
können, je nach vorhergehender Rand¬
einstellung, allerdings bis zu 80 Zei¬
chen nebeneinander dargestellt wer¬
den. Die Spalte und Zeile, in der man
sich befindet, entnimmt man der
Anzeige am unteren Bildrand. Anders
als beim »Atari-Schreiber« wird hier die
tatsächliche Position im Text und nicht
die Bildschirmposition angezeigt.
Drückt man die ESC-Taste, gelangt
man in den sogenannten Control-
Modus. Mit den Sondertasten START,
OPTION und SELECT kann man eines
der drei Menüs von »Sta^exter« aufru-
fen. Das erste dieser Menüs be¬
zieht sich rein auf Diskettenoperationen
{Bild 3). Hier kann man beispielsweise
Texte laden und speichern oder sich
das Inhaltsverzeichnis einer Diskette
ansehen. Daneben lassen sich auch
eine Reihe von verschiedenen DOS-
Operationen durchführen, wie das
Löschen und Umbenennen von Files.
Von hier aus lädt man auch andere Zei¬
chensätze oder speichert die momen¬
tane Parametereinstellung auf Diskette.
Das zweite Menü ist so umfangreich,
daß es gleich drei Bildschirmseiten in
Anspruch nimmt. Hier werden alle
Grundeinstetlungen für die Textdarstel¬
lung vorgenommen, wie die Zeilen¬
länge oderder Blocksatz. Aberauchdie
farbliche Darstellung auf dem Bild¬
schirm kann an die persönlichen
Bedürfnisse angepaßt werden.
Das dritte Menü schließlich ist für den
Ausdruck und das Formatieren von Tex¬
ten zuständig. Die Anpassung an einen
bestimmten Drucker erfolgt aber nicht
hier, sondern bereits in einem eigen¬
ständigen Installationsprogramm. In
diesem Basic-Programm, das unter
dem Namen »INSTALL« auf Diskette
abgelegt ist, wählt man entweder gän¬
gige Druckertypen direkt an, oder man
definiert sich seine eigene Anpassung
an den speziellen Drucker. Erwähnens¬
wert ist hierbei, daß man nicht unbe¬
dingt über ein Centronics-Interface ver¬
fügen muß, um Texte an den Drucker zu
schicken. Mit einem einfachen Kabel,
dessen Herstellung im Handbuch
beschrieben ist, kann man seinen
Drucker auch an die Joystickports des
Atari-Computers anschließen. Einzige
Einschränkung des Druckbetriebes ist
dabei Jedoch, daß nicht alle Grafikzei¬
chen des erweiterten Zeichensatzes
ausgedruckt werden. Dies stört bei nor¬
maler Textverarbeitung aber kaum. Vor
dem Drucken kann man sich den Text
auch in 80-Zeichen-Darstellung be¬
trachten, also in der Form, wie er später
tatsächlich auf dem Papier erscheint.
Diese Darstellung ist zwar aufgrund der
mangelnden Auflösung des Atari nur
schwer lesbar und nicht zum Editieren
geeignet, vermittelt aber einen guten
ophschen Überblick über den fertigen
Text.
Das Formatieren von Texten direkt auf
dem Bildschirm ist mit »StarTexter« auch
möglich. Jedoch ist dies bei umfangrei¬
cheren Texten eine sehr zeitraubende
Angelegenheit. Hinzu kommt, daß auf¬
grund der Textformatierung recht ver¬
schwenderisch mit dem Speicherplatz,
sowohl auf Diskette als auch im RAM-
Speicher, umgegangen wird. Ein Bei¬
spiel: Begrenzt man den rechten Rand
eines Textes auf Spalte 40, so wird
trotzdem jede Zeile mit einer Länge von
80 Zeichen auf Diskette abgelegt. 40
Leerzeichen pro Zeile werden also um¬
sonst gespeichert. Man benötigt folg¬
lich doppelt soviel Speicherplatz als
eigentlich notwendig. Abhilfe schafft
hier nur das ständige Umformatieren
vor dem Speichern und nach dem La¬
den eines Textes, das aber, wie bereits
erwähnt, recht lange dauert. Auch der
Textspeicher leidet unter dieser Art der
Darstellung. Maximal kann er 20000
Zeichen aufnehmen. Die Anzahl der
Zeilen, die ein Text umfassen darf, ist
jedoch auf 250 beschränkt. Schreibt
man seinen Text mit einer Breite von 80
Spalten, so verfügt man auch tatsäch¬
lich über 80 mal 250 oder 20000 Zei¬
chen Speicherplatz. Bei einer Randein¬
stellung bis zur Spalte 40 beispiels¬
weise kann man nur mehr 40 m^ 80,
eJso 10000 Zeichen im Textspeicher
unterbringen. Ideal scheint diese
Lösung also nicht zu sein.
Textprogramm aus dem
Alpenland
Das nächste Textverarbeitungspro¬
gramm für den Atari nennt sich »Au-
stro.Text«. Wie der Name schon vermu¬
ten läßt, stammt dieses Programm aus
Österreich. Auch hier verfügt man
neben einer deutschsprachigen Anlei¬
tung über einen deutschen Zeichen¬
satz. Auf eine Umbelegung der Tastatur
wurde jedoch bewußt verzichtet, um,
laut Handbuch, Umgewöhnungsproble¬
me zu vermeiden. Ein Menü sucht man
bei diesem Programm vergeblich. Alle
Befehle zum Bearbeiten eines Textes
muß man leider im Kopf haben bezie¬
hungsweise im Handbuch nachlesen.
Bei der Befehlsausführung erscheint
lediglich eine Art Statuszeile, in der man
die Eingaben einträgt. So ist es gerade
in der Einarbeitungsphase doch recht
mühsam, mit den vielen verschiedenen
Befehlen von »Austro.Text« zurechtzu¬
kommen. In der Praxis sieht das so aus:
Will man beispielsweise den linken
Rand des Textes beim Ausdruck auf
Spalte 10 setzen, so fügt man das Kom¬
mando ».LM 10« in den Text ein. Ent¬
sprechend würde eine Begrenzung
des rechten Randes auf Spalte 50 dann
».RM 50« lauten. Wie man sieht, sind
diese Abkürzungen dem Englischen
entlehnt (LM = Lefl Margin oder linker
Rand), die sich - mit entsprechenden
Englischkenntnissen - gut einprägen.
Bei diesem Programm wird ebenfalls
kein separates Centronics-Interface
zur Druckerausgabe benötigt. Mit
einem speziellen Kabel, das man aber,
anders als bei »StarTexter«, fertig kaufen
muß, kann man einen Drucker mit Cen-
tronics-Schnittstelle auch über die Joy¬
stickports ansteuern. Zum Drucken ei¬
nes Textes betätigt man gleichzeitig die
START- und die P-Tasta Nun gibt man
den Handlernamen (Gerätebezeich¬
nung} ein, auf dem der Druck erfolgen
soll. Der Händler »P:« spricht also die
normale Centronics-Schnittstelle an,
während »J:« den Ausdruck über die
Joystickports veranlaßt. Auf diese
Weise kann man einen Text bei entspre¬
chender Wahl des Händlers natürlich
auch als UST-File auf Diskette oder
Kassette ablegen und dann weiterver¬
arbeiten. Spricht man den Händler »T«
an, so erscheint der Text auf dem Bild¬
schirm im 80-Zeichen-Fbrmat. Die Dar¬
stellung entspricht dann genau dem
Format, in dem der Text auf dem Druk-
ker ausgegeben wird. Um Texte in die¬
sem Modus darstellen zu können, muß
man jedoch über mindestens 5500
Byte freien Speicherplatz verfügen.
Wie auch in der normalen Textdarstel¬
lung (Bild 4) kann man übrigens hier den
Feinscroll-Modus wählen, in dem der
Text fließend über den Bildschirm rollt.
Zur Anpassung an die verschiedenen
Druckertypen benutzt man auch hier
ein eigenes Programm namens »Printer
Editor«. Dieses Programm wird aller¬
dings bereits beim Booten von »Au-
stroText« in den Speicher geladen und
belegt dann rund 7500 Byte Textspei¬
cher. Das bedeutet, daß man noch
7500 Byte freien Speicher benötigt,
um noch Änderungen zur Druckeran¬
passung vornehmen zu können. An¬
sonsten bleibt nur, den momentanen
Text zu speichern und die Diskette neu
zu booten.
A ohne Ä
»A-Text« ist als TextverarbeitungsprO“
gramm für den Atari auch schon etwas
länger auf dem Markt. Erfreulich ist die
Tatsache, daß sich inzwischen das frü¬
her kritisierte Handbuch verbessert
hat. Es erscheint nach wie vor in
Deutsch, ist aber wesentlich Übersicht-
A-r A R n: ^ c f« R E 3:»le: cc
3tS£ü^lB«lt MKtWk
S^ntT «crSwiiH^fli
||iK*n«t£cr«a'i^£Siit#:TT»
anat^iit s w ftr aBfeicfcftgs
ÜrocMM! BwteS:
Sp«i.cfcer» iMetcs
BUCHSTABE EXMGEBEN _
Bild 1. Das Hauptmenü vom »Atari-Schreiber« umfa&t alle
wichtigen Funktionen.
rmxx
Text abspeiehern
&iree tory
ZeichenSatz laden
&i skettenbefehl
Par elfter spei ehern
Bild 2. Von diesem Menü aus lassen sich beim »Starlexter«
sämtliche Diskettenoperationen ausführen.
vvr tuaxA» sIbs CUi^.SVS
Fiies a«iTT»iaT»scii
uur«ii£. SttES »ST bb ft'»ufuend*s
und ImdBiümT inusaxzl ickwi
Pi:a't»>fiiri^auci^ a&tf ittew* viSMeTTc..
HbgessMi« idawk Iaomv» Man M»-r
tikmsBn OCS iedocti nuFrisn^n »ivi
und *15^ uuM teuf« noctx ■äs
MB vargveyiarB > 1?« la»*« 005 tH^ark
CuMputBv.
. .za
DOS 3.0
* -zz
B ts igfli «äs fiBiA Itrar i Laufue^-K
iOSQ «rschisn, en‘rsct«is:iO »an s*cti
ftrauT k aucn
OO^MzrSfe^ix «äM COS 3.G. Cbf
fo«Br#w uar eine
spezirBiiz EiSBnscHad^t dzs neuen
^TayiexlhEr I Zgäiz ifla f Spaitc l
PEEKS Uftd POKES Mi t List und
iie Atari Conpote
wer seinen Atari et%ias nehr entlocken vi
II« als es die nornalen Basic-Befehle zu
lassenj der sollte sich der zahlreichen
Speicherstellen bedie nen ^ die nan »it PE
EX und POXE erreicht,
Pas Atari-Basic bietet schon in der Crun
doersiort einige sehr konfortable Befehle
. Wenn nan Jedoch beispieiswise. bewegte
Grafik erzeugen nachte« sta'~'X Man in Ba
sie schnell an die Grenzen. Auch kann na
n einige Funktionen, wie zum Beispiel d£
e uerschiebung des linken oder rechten b
iIdscfiirMrands nit Basic~6efehlen nicht
Oder nur sehr unst%idlich realisieren, u
er dann nicht unbedingt in Maschinenspra
Che prograMMieren mi chte kann sich einer
Bild 3. Die Textdarstellung von »StarTexter« mit geändertem Bild 4. »AustroJext« im Schreibmodus. Alle Leerzeichen und
Zeichensatz. Texte lassen sich, selbst mit anderem Zeichen- Leerzeilen werden mit Hilfe einer Schraffur optisch deutlich
Satz, auf einem Drucker ausgeben. hervorgehoben.
lieber geworden. Auf die Darstellung
der deutschen Umlaute und Sonderzei¬
chen auf dem Bildschirm muß man als
»A-Text«-Benutzer jedoch verzichten.
Statt dessen fügt man spezielle Grafik¬
zeichen in den Text ein, die später bei
der Druckerausgabe als Umlaute wie¬
dergegeben werden.
Wie schon bei »Austro.Text« vermißt
man bei diesem Programm die Menü-
Steuerung. Die Kommandos müssen
also auch hier im Kopf parat sein und
dann in eine eigene Statuszeile einge¬
geben werden. Daß dies aber etwas
langwierig werden kann, soll folgendes
Beispiel aus dem Handbuch zeigen;
Will man einen Text beispielsweise un¬
terstreichen, so muß man folgende
Sequenz eingeben:
»CTRL-L U CTRL-R CTRL-A CTRL-R
ESC I RETURN«
Ähnlich sieht der Befehl zum Been¬
den des Unterstreichens aua Beim
»StarTexter« muß man vergleichsweise
nur ein inverses A mit nachfolgender
Null im Text einfügen, um denselben
Effekt zu erzielen. Wie man sieht, ist die
Handhabung von »A-Text« etwas
gewöhnungsbedürftig.
Die Textdarstellung auf dem Bild¬
schirm erfolgt in 20 Zeilen mit je 38 Zei¬
chen. Ab der 20. Spalte beginnt der
Bildschirm jedoch horizontal zu Scrol¬
len, so daß Zeilen mit einer maximalen
Länge von 255 Zeichen ohne Zeilen¬
vorschub eingegeben werden können.
Vor allem bei Tabellen ist dies sehr nütz¬
lich und dient der Übersichtlichkeit.
Am oberen Bildrand sind ständig
einige Informationen eingeblendet (Bild
5). So erfährt man die Zahl der bisher
eingegebenen Zeichen, die Spalte, in
der sich der Cursor befindet, und den
restlichen Speicherplatz, der für den zu
bearbeitenden Text zur Verfügung
steht. Zudem ist die Größe des Kopier¬
speichers angegeben. Dieser Speicher
umfaßt rund 4000 Zeichen und dient
vor allem zur Verschiebung von Text-
biöcken. Am unteren Bildrand befindet
sich die Statuszeile, die man über die
ESC-Taste erreicht. Hier gibt man alle
Kommandos ein, wie beispielsweise
das Laden und Speichern von Texten.
Zur Anpassung des Programms an
verschiedene Drucker existiert kein
spezielles Programm. Alle Steuerse¬
quenzen für den Drucker müssen daher
direkt im Text eingegeben werden. Laut
Handbuch soll auch »A-Text« über die
Joystickports mit einem Drucker in Ver¬
bindung treten können. Wie dies genau
geschehen soll, bleibt selbst nach
mehrmaligem Lesen des entsprechen¬
den Kapitels unidar.
Perfektion
aus den Staaten
Aus den USA kommt ein Textverarbei¬
tungsprogramm mit dem Namen
»Paperclip«. Entsprechend ist das
ansonsten hervorragende Handbuch
natürlich in Englisch abgefaßt. Auch ein
deutscher Zeichensatz bleibt ein
Wunschtraum. Sieht man hiervon ab,
steht einem mit »Paperclip« allerdings
ein Programm mit fast unbegrenzten
Möglichkeiten zur Verfügung.
135
T:2r37S€^
> >-Ätl£X!l^.^ ^. •’'' ■'•M'--' ■> ■•■ ".:oF > :'']^^!l,^'^^^ .
Bild 5. So kann bei dem Programm »A-Text« ein Text auf dem
Bildschirm aussehen.
Ölte space Xt -t&e
iS £» me coItiMi 1 *
me cerser go m t&e ea^ of me *
preexotts liite.£
£__
ZirrSX - lefmer-ow 3 — Moves m* •
c^*^sar ^le ;^ace te me ie£ic. Xe me •
iS a’t me »a ee me üee» me ^
cersor vill ge ta fr« st:;»^ fcoliiM II h
af me fiexrt liiie.£
S
tJCrmLSBJFT - I 3 —
» QXx m& mü. » ssc cac mx
m CEKT OK eex e millll PXC 837
e frmQPc cmj 883 « iGKAm pm ess
» Mftrm ero m cm t S O it 8X3
I ftM08S81£HG 881 889 YSEB SE CU K S
Bild 6. Das Arbeiten mit zwei Fenstern Ist bei »Paperclipt«
ganz einfach und erleichtert so manche Problemstellung.
Bild 7. Eine solche grafische Darstellung läßt sich mit
»Paperclipu zu Papier bringen.
Bild 8. Ein Hauptmenü von »HomeText«. Jede Funktion läßt
sich mit nur einer Taste auf rufen.
Zum Schütz vor Raubkopieren hat
man sich hier übrigens etwas Besonde¬
res einfallen Bassen. Das Programm an
sich ist nicht geschützt und soll sogar
aus Sicherheitsgründen auf eine zweite
Diskette kopiert werden. Zum Betrieb
des Programms braucht man allerdings
einen speziellen SchlüsseL Hierbei
handelt es sich um eine kleine Box, die
man am Joystickport 2 einstecken muß.
Ohne diesen Schlüssel läuft gar nichts.
»Paperclip« ist zwar nur spärlich
menügesteuert, jedoch fällt dies hier
nicht besonders ins Gewicht Erstens
findet sich rasch jeder der einprägsa¬
men Befehle in dem wirklich übersichtli¬
chen Handbuch. Zweitens kann man
bei Bedarf drei verschiedene Helpfiles
aufrufen, in denen die Befehle kurz
erläutert sind. Besonders praktisch ist
hierbei, daß ein Helpfile in einem zwei¬
ten Fenster eingeblendet wird. Die
wichtigsten Befehle können also paral¬
lel zum Text ständig eingesehen wer¬
den. Wer ohne Helpfile arbeitet, kann
mit Hilfe der Fenster auch zwei ver¬
schiedene Texte gleichzeitig im Spei*
eher bearbeiten (Bild 6). Das Hin- und
Herschalten zwischen den Texten erle¬
digt die SELECTTaste.
Ist nur ein Fenster geöffnet, so wird
der Text in 18 Zeilen mit je 39 Zeichen
dargestellt Die Zahl der Zeichen, die
man mit dem horizontalen Scrolling
nebeneinander schreiben kann, läßt
sich zwischen 15 und 130 Zeichen ein¬
stellen. Wie der Text schließlich auf dem
Drucker aussieht, kann man sich auch
bei diesem Programm vorher ansehen.
Die formatierte Darstellung erfolgt aber
nicht mit 80 Zeichen Bildbreite, son¬
dern in normaler Breite. Gegebenen¬
falls muß man den Text dann auf dem
Bildschirm horizontal Scrollen, um einen
Gesamtüberblick zu erhalten.
Der Serienbrief-Ausdruck ist mit
»Paperclip« kein Problem. Auch arbeitet
dieses Programm ohne Schwierigkei¬
ten mit bekannten Programmen wie
»SynFile+« und »B/Graph« zusammen.
Besonders interessant ist das ebenfalls
auf der Diskette enthaltene Programm
»HIRES«. Es handelt sich hierbei um ein
Hardcopy-Programm, das Grafikbilder
von unterschiedlichstem Format aus-
drucken kann, Bild 7 zeigt hierzu ein
Beispiel Die grafische Darstellung
einer Statistik, die man beispielsweise
mit »B/Graph« erstellt hat, kann man
ausdrucken und so in einen Text ein¬
bauen.
Der Druckeranpassung wurde bei
diesem Programm besondere Aufmerk¬
samkeit gewidmet. Auf der Diskette
befinden sich bereits über 30 fertige
Files, passend zu einer Vielzahl von
Druckern. Sollte sich der eigene
Drucker hier trotzdem noch nicht fin¬
den, existiert ein Anpassungspro¬
gramm, in dem man die speziellen
Druckeranforderungen festhalten kann.
Zum Ausdrucken von mehreren Files
kann man sich übrigens ein sogenann¬
tes Batch-File anlegen. In solch einem
Fife fuhrt man einfach alle zu drucken¬
den Textfiles auf und speichert es dann.
Beim Aufruf des Batch-Files werden
alle darin vorkommenden Kommandos
nacheinander ausgeführt. Diese
Methode wird man vor allem dann an¬
wenden, wenn ein Text in mehreren ein-
136
zelnen Teilen abgelegt ist und mit einem
einzigen Befehl ausgedruckt werden
soll.
100 Prozent Menü
»HomeText« ist eigentlich keine
eigenständige Textverarbeitung, son¬
dern Teil eines Programmpakets. Unter
dem Namen »HomePak« erhält man
nämlich neben einer Textverarbeitung
auch ein Terminal- und ein Datenverar¬
beitungsprogramm.
Wie schon »Paperclip« kommt auch
dieses Programmaus den USA. Sowohl
das Handbuch wie auch die Benutzer¬
führung sind also in Englisch ausgelegt.
Dies stört bei »HomeText« jedoch kaum.
Als einzige Textverarbeitung ist »Home¬
Text« zu 100 Prozent menügesteuert.
Allerdings ist auch hier kein deutscher
Zeichensatz verfügbar, weder auf dem
Bildschirm noch auf dem Drucker.
Die Stärken von »HomeText« liegen
vor allem in seiner Kompaktheit und
Übersichtlichkeit. Insgesamt kann man
mit nur drei Menüs alle Funktionen die¬
ses Programms ansprechen. Bild 8
zeigt eines der Menüs. Dabei versteht
sich »HomeText« weniger als eigenstän¬
diges Textverarbeitungsprogramm,
sondern ist vielmehr zur Zusammenar¬
beit mit den beiden anderen Program¬
men des Pakets konzipiert.
So kann man beispielsweise Daten
des »Homefind«-Programms überneh¬
men und auf diese Weise Serienbriefe
erstellen. »HomeTerm«, das DFÜ-
Programm, holt sich Textdateien, die
man per Akustikkoppler verdichten
möchte, vom Textprogramm. Über DFÜ
empfangene Texte kann man natürlich
mit »HomeText« weiterverarbeiten. Alle
drei Programme befinden sich auf nur
einer Diskette und können durch ein
Hauptmenü schnell und bequem aufge¬
rufen werden. Auch beim Datenaus¬
tausch gibt es durch die aufeinander
abgestimmten Programme keine Pro¬
bleme.
Ein Nachteil von »HomeText« ist
jedoch der etwas zu klein geratene
Textspeicher. Er faßt nur 6620 Zei¬
chen. Bei längeren Texten ist man also
gezwungen, den Text in mehreren Files
abzulegen. Die Textdarstellung erfolgt
in 21 Zeilen mit 38 Spalten. Horizonta¬
les Scrollen über den rechten Bildrand
hinaus ist nicht möglich. Dafür kann man
sich mit dem Drucker-Preview ein Bild
von dem fertigen Text machen. In skiz¬
zierter Form wird ein Blatt Papier auf
dem Bildschirm dargesteilt, auf dem der
Text nur in Linien dargestellt ist. Dies
genügt durchaus, um die äußere Form
und Raumaufteilung des späteren Tex¬
tes beurteilen zu können.
Kompromisse statt
optimaler Lösungen
Für welches der sechs Textverarbei-
tungsprogramme man sich letztlich ent¬
scheidet, hängt vor atiem davon ab, in¬
wieweit man das Programm professio¬
nell nutzen möchte. Zumindest der
deutsche Zeichensatz sollte sowohl auf
dem Bildschirm als auch auf einem
Drucker darstellbar sein. Eine gute
Menüsteuerung wird man schnell
schätzen lernen, wenn man nur ab und
zu Texte bearbeitet und daher umfang¬
reiche Kontroilcodes kaum im Gedächt¬
nis behält. Kann man sich einen Text vor
dem Drucken in seiner späteren Form
ansehen, erspart dies so manches Blatt
Papier. Vor allem bei Briefen, in denen
es auch auf eine gewisse Raumauftei¬
lung ankommt, trifft das zu. Sind häufig
Tabellen zu erstellen, ist es von Vorteil,
wenn die Zahl der Zeichen, die neben¬
einander ohne Zeilenvorschub darge¬
stellt werden können, möglichst groß
ist. Zur professionellen Anwendung
gehört natürlich auch der Serienbrief-
Ausdruck. Doch wer sich die Vergleichs¬
tabelle ansteht, wird schnell feststellen,
daß es das optimale Programm für den
Atari nicht gibt. So bleibt dem Anwen¬
der immer nur ein Kompromiß und er
wird auf das Programm zurückgreifen,
das für ihn die wenigsten Nachteile auf¬
weist.
(Wolfgang Czerny/wb)
Bezug^e^leix
CompyfShop^ Gneisensustr. 29. 4330 MühlJieim/ftuhr,
TeL (020ej 497169
Münzienloher, TöberSfir. 4. 6150 Hotzksrchen.
TeL f0e024)1ö14
Die wichtigsten Daten der getesteten Textprogramme auf einen Blick
Atari-Sctireiber
StafTexter
AustrciText
PäpfiEclip
Homefesl
AnäeiturtgmDeufäcft
ja
ja
ja
nem (^isch)
nein (Engisch}
ja
DatefitnS^
Modul öder DfeMe
Distette
Diskette
Diskette
Diskette
Modul. Diskette
oderitette
ja
ja
ja
nein
nein
nein
Z9ic^e{3satz willig
ja
nein
neäi
nein
nein
IBÄ umbelegt
ja
wahlweise
nein
mn
nein
nein
Printer Pneview
nm
ja
ja
ß
grafisch angedeutef
nein
HQ/ffijfltales
Scroing
nein
ja
nein
ja
rrem
ja
max. Zeieniänge
35
80
40
130
33
25S
Dnjckerarpassmg
teiwiei&e
vofängestdlt
peflnstaälatkMis-
progfamm
InsWions-
prugrgmm
instÄions-
progmt
InsteflaiiDne-
pfogEamm
mit Steuerzeichen
ml&l
Cenbwiics^oteilace
nötvnffidig
ja
nicht unhedingt
nicht unbedingt
ja
nicht unbedingt
Grafik'Ausdaicf:
nein
Graftochen
nem
HardMpy-
ProgrammterBIffer
nein
nein
ja
Statuszeüe
teäwei^
ja
Siatuszeile
FotmaSerenauS
BiEdsct^rm
nein
ja ■
nur in Preview
nurinPnanew
nur in Preview
nein
Guaitaictes
Handbuches
gut
befriedigend
befriedigend
sehr gut
gut aber knapp
befriedigend
PeinscroUiig
nein
nein
ja
nein
nein
nein
8k)cksafz
nur auf Drucker
auf dem Bildschirm
und dem Drucker
äufdemDrudtof
odermPre^ew
auf den Dnffiker
oder in Review
nur auf dem
Drucker
nifaufdem
Drutiffir
TextspelcJiefs
20448 Byte
20000 Bytei
maximal 2S0Ze9an
26 762 Byte
keine Angabe
6620 Byte
2$ 928 Byte
Serienbriet
ja
nem
ja
ja
rffiin
Mathematische
RjnWionen
nein
nein
nein
nein
Prefe
ca 50 Mark
54 Mark
109 Mark
149 Mark
ca. 150 Mark
49 Mark
137
150
Befehle
mit
Basic XE
Wem das Atari-Basic zu unkom¬
fortabel und zu langsam ist,
bekommt für etwa 300 Mark
Basic XE auf Modul. Es ist das
leistungsfähigste Basic für
Atari-Computer mit bis zu 128
KByte-RAM.
B asic XE ist eine Weiterent¬
wicklung von Basic XL, wobei
natürlich den besonderen Fä¬
higkeiten des neuen Atari-Computers
130XE Rechnung getragen wurde.
Weiterentwicklung bedeutet vor allem
die Hinzunahme neuer Befehle. Dabei
sah man sich allerdings scheinbar zu
Kompromißlösungen gezwungen. Kam
man bei Basic XL noch mit einem Modul
aus, so muß bei Basic XE neben dem
Modul zusätzlich noch eine Diskette als
Speichermedium herhalten* Dies birgt
nun gleich zwei Nachteile in sich. Zum
einen kann man ohne Diskettenlauf¬
werk nicht mehr alle Befehle von Basic
XE nutzen, zum anderen belegt das
File, das die zusätzlichen Befehle ent¬
hält, immerhin 91 Sektoren auf der Dis¬
kette. Dafür sind aber auf der Masterdis¬
kette bereits einige kleine Programme
enthalten, welche die Besonderheiten
von Basic XE demonstrieren sollen.
Neben Modul und Diskette erhält man
natürlich auch ein Handbuch, das
bedauerlicherweise in englischer Spra¬
che gehalten ist. Doch auch ohne grö¬
ßere Englischkenntnisse sollten die
Funktionen von Basic XE aufgrund der
zahlreichen Beispielllstings in diesem
Handbuch verständlich werden.
Zu den Befehlen, die Bestandteil des
Diskettenfiles sind, gehört auch der
Befehl »FAST«. Mit dieser Anweisung
gelangt man in den sogenannten »Fast
Modus« von Basic XE. Ist dieses Basic
bereits im normalen Modus rund dop¬
pelt so schnell wie das Standard-Atari-
Basic, so erhöht sich im »Fast Modus«
die Verarbeitungsgeschwindigkeit von
Programmen nochmals um den Faktor
zwei. Die insgesamtalso etwa vierfache
Steigerung der Geschwindigkeit reicht
so oftmals schon aus, um Programme
zu schreiben, die sonst ohne Maschi¬
nensprache-Unterstützung zu langsam
v\rären. Ebenfells auf Diskette befindet
sich ein File, das nur vom Atari 130XE
oder aufgerüsteten Atari 800XL-Com-
putern verarbeitet werden kann. Mit
dem Befehl »EXTEND« spricht man die
zusätzlichen 64 KByte an, die dem
130XE zur Verfügung stehen. Dieser
Befehl verlegt das momentan im Spei¬
cher befindliche Programm in diese 64
KByte und schafft so Platz für andere
Programme und Daten. Der Zusatzspei¬
cher ist in vier Blocks von jeweils 16
KByte aufgeteilt. Jedem Block ist eine
Nummer von 0 bis 3 zugeordnet. Ein
spezieller POKE-Befehl erlaubt dann
unter Angabe der Blocknummer, ein¬
zelne Daten in den Zusatzspeicher zu
verlegen.
Piayer/Missiles
mit Komfort
Zu den neuen Befehlen, die gegen¬
über Basic XL hinzugekommen sind,
gehören auch eine Reihe von Anwei¬
sungen, die die Player/Missile-Pro-
grammierung betreffen. War man im
normalen Basic noch gezwungen, eine
Vielzahl verschiedener Adressen zu
kennen, um Player oder Missiles anzu¬
sprechen, so erübrigt sich dies in Basic
XE fast vollständig. Für nahezu Jede
Manipulation existiert ein eigener
Befehl. »PMMOVE« beispielsweise ver¬
anlaßt eine beliebige Richtungsände¬
rung eines Players oder Missiles. Auch
die Kollisionsabfrage läßt sich mit einem
einzigen Befehl mit dem Namen »BUMP«
ausführen. Als recht nützlich erweist
sich die Anweisung »PMCLEAR«, mit
der sich der Speicherbereich, in dem
ein Player oder eine Missile unterge-
bracht ist, schnell und einfach löschen
läßt.
Die Stringverarbeitung, die im norma¬
len Basic etwas stiefmütterlich behan¬
delt wird, ist nun wesentlich vereinfacht
und damit auch komfortabler geworden .
Es fängt damit an, daß man mit Basic XE
auch indizierte Springfelder dimensio¬
nieren kann. Mit der Anweisung »D!M
A$ (3,10)« beispielsweise werden drei
Felder mit der Länge 10 erzeugt, die
sich dann mit »A${1)«, »A$(2)« und
»A${3)« aufrufen lassen. Einzelne Teile
dieser Felder bearbeitet man dann mit
den Befehlen »LEFT$«, »RIGHTS«,
»MID$« oder »FIND$«. So gibt »FIND$«
beispielsweise an, ob und wo sich ein¬
zelne Zeichen in einem String befinden.
Das Sortieren von Arrays ist mit Basic
XE ebenfalls kein Problem mehr. Hierzu
verwendet man die Befehle »SORTUP«
und »SORTDOWN«. Numerische oder
alphanumerische Felder lassen steh
also in aufsteigender oder abfallender
Folge sortieren. Dabei kann man entwe¬
der das gesamte Feld oder nur ausge¬
wählte Teilbereiche erfassen.
Programmieren,
fast wie in Pascal
Auffallend sind vor allem auch Pascal¬
ähnliche Elemente, die in Basic XE auf-
tauchen. Unterprogramme lassen sich
zum Beispiel als Prozeduren gestalten.
Diese können mit »CALL« aufgerufen
und mit »EXIT« wieder verlassen wer¬
den. Innerhalb von Prozeduren kann
man dann mit lokalen Variablen arbei¬
ten. Das heißt, solche Variablen können
zwar namensgleich mit anderen im Pro¬
gramm verwendeten Variablen sein,
sind mit diesen jedoch nicht identisch.
Ebenfalls von Pascal entlehnt ist sowohl
die »WHILE-ENDWHILE«-Schleife als
auch die bedingte Verzweigung »IF
ELSE-ENDIF«. Auf diese Weise lassen
sich vor allem die uneleganten und
zur Unübersichtlichkeit beitragenden
»GOTO«“Anweisungen weitgehend aus
einem Programm verbannen. Mit Basic
XE ist es also möglich, bis zu einem
gewissen Grad strukturiert zu program¬
mieren und so eine wesentlich bessere
Übersichtlichkeit eines Programms zu
erzielen. Dies wird zudem durch die Tat¬
sache unterstützt, daß ein üsting in
Basic XE formatiert ausgegeben wird.
100 Rem-‘-
110 Rem BEISPIEL-LISTIMEJ
120 Rsm mit
130 Rem-—-——
140 Graphics; O
150 ? "RATEN SIE EINE
160 7 "ZWISCHEN 1 UND 100"
170 7
180 Zät>l=Raric}om< 1,100>
190 While VersuctiOZahl
200 ? LAUTET IHR VERSUCH
210 Input Vei-such
220 1+ Versuch<Zahl
230 2 -DIE ZAHL IST ZU KLEIN“
240 Else
250 Versuch>Iahl
260 ? "DIE ZAHL IST ZU GROSS"
270 Endif
280 Encfif
290 Ehdk^ile
300 7 :2 “GEFUNDEN"
310 End
Listing. Ein typisches Basic XE-Programm.
Schleifen und »IF«-Anweisungen wer¬
den also automatisch eingerückt und so
optisch hervorgehoben. Ein typisches
Basic XE-Programm zeigt das Listing 1.
Viele der neuen Routinen sind dem
geübten Programmierer bereits von oft
benötigten Maschinensprache-Unter¬
programmen her bekannt. So ver¬
schiebt man Speicherbiöcke mit dem
Befehl »MOVE«. Dadurch kann man bei¬
spielsweise den Inhalt des Bildschirm¬
speichers in einem String ablegen oder
den Atari-Zeichensatz kopieren. Die
automatische Zeilennumerierung bei
der Programmeingabe und die Neu¬
numerierung eines bestehenden Pro¬
gramms sind ebenfalls ohne Maschi-
nenhiffsroutinen durchführbar. Hierzu
dienen die Befehle und
»RENUM^c. Benötigt man eine Liste aller
im Programm verwendeten Variablen,
so erlaubt das der Befehl ^^LVAR^. Zur
schnellen Umwandlung von dezimalen
in hexadezimale Zahlen benutzt man
den ^HEX$<c-Befehl. Nützlich ist der
Befehl »SET«. Mit ihm fassen sich eine
Reihe von grundsätzlichen Parametern
alfgemeiner Art ändern. So ermöglicht
dieser Befehl beispielsweise die Aus¬
wahl, mit welchem Zeichen eine Input-
Anweisung den Benutzer zur Eingabe
auffordert. Die Funktion der »BREAK«-
Taste kann auch auf diese Weise unter¬
bunden werden. Selbst das Dimensio¬
nieren von Strings erübrigt sich mitun¬
ter, Bis zu einer Größe von 255 Zei¬
chen, abhängig von der jeweiligen
»SET«-Einstellung, werden Strings
nämlich automatisch dimensioniert.
Insgesamt können 16 verschiedene
Parameter mit diesem Befehl beeinflußt
werden. Die Einstellung der Parameter
fragt man mit dem Befehl »SYS« ab.
Hilfreich bei der Fehlersuche ist der
»TRACE«-Befehl. Vor der Ausführung
einer Programmzeile erscheint die
jeweilige Zeilennummer auf dem Bild¬
schirm. So kann man leicht kontrollie¬
ren, ob sich ein Programm in den
gewünschten Bahnen bewegt. Die
Textausgabe erfolgt wahlweise invers
oder normal, was einfach durch die bei¬
den Befehle »INVERSE« und »NOR¬
MAL« gesteuert wird. Man kann einen
auszugebenden Text aber auch noch
formatiert darstellen. Dies geschieht
mit dem »PRINT USING«-Befehl.
Auch einige DOS-Funktionen finden
sich in Basic XE wieder. So läßt sich das
Inhaltsverzeichnis einer Diskette zum
Beispiel mit dem Befehl »DIR« abrufen.
Für das Löschen und Umbenennen von
Files auf Diskette existieren eigene
Befehle. Neben den gewohnten Befeh¬
len »GET«, »PUT«, »PRINT« und »INPUT«,
die zum Lesen und Schreiben von
Daten auf Diskette verwendet werden,
stellt Basic XE zu diesem Zweck einige
neue Befehle zur Verfügung. Sie zeich¬
nen sich vor allem durch eine höhere
Ausführungsgeschwindigkeit aus. Mit
»BPUT« und »BGET« schreibt bezie¬
hungsweise liest man ganze Speicher-
blöcke von Diskette Auf diese Weise
lassen sich beispielsweise Grafikbilder
schnell und einfach von Diskette laden
oder speichern. »RPUT« und »RGET«
sind für das Speichern und Lesen von
Records mit fester Lange verantwort¬
lich. Dabei kann ein Record sowohl aus
einem String wie auch einer Gleitkom¬
mazahl bestehen. Schließlich gibt es
noch die Befehle »BLOAD« und
»BSAVE«, die man für die Behandlung
von Binärfiles im »DOS LOAD«-Rormat
benutzt Normale Maschinensprachefi¬
les können also von Basic aus geladen
und gestartet werden.
Gut, aber teuer
Die Qualität der Befehle und der
Befehlsumfang (Basic XE umfaßt zirka
150 Befehle) lassen kaum Wünsche
offen. Lediglich das Laden zusätzlicher
Befehle von Diskette scheint keine
glückliche Lösung zu sein. Das ent¬
scheidende Kaufhindernis dürfte aller¬
dings der Preis von Basic XE sein. Mit
etwa 300 Mark ist es wohl eines der
teuersten Programme, die derzeit für
Atari-Computer angeboten werden.
Der Preis fällt um so mehr ins Gewicht,
wenn man bedenkt, daß beispielsweise
Turbo-Basic XL bei ähnlichen Lei¬
stungsmerkmalen doch wesentlich billi¬
ger zu haben ist. .
(Wolfgang Czeimy/wb)
B^zugsfiudee:
CompyShöpi, Gneisenaustr. 29. 4330 Mühlheim/Ruhr,
Tel (0208) 497169
DOS-
Parade
Wichtigstes Hilfsmittel zum
Arbeiten mit einer Diskettensta¬
tion ist das DOS. Doch welche
der verschiedenen DOS-Versio-
nen soll man wählen?
D OS ist die Abkürzung für Disk
Operating System oder auf
deutsch Disketten Betriebssy¬
stem. Betreibt man ein oder mehrere
Diskettenlaufwerke am Atari, so kommt
man ohne ein solches DOS nicht aus.
Die zum Betrieb eines Laufwerks nöti¬
gen Routinen sind nämlich nicht im
eigentlichen Betriebssystem des Atari
verankert, sondern müssen stets von
Diskette geladen werden. Dies hat den
Vorteil, daß man sich, abhängig vom
verwendeten Laufwerk und den spe¬
ziellen Bedürfnissen, das jeweils opti¬
male DOS heraussuchen kann.
Von Atari selbst gibt es nun schon die
vierte offizielle DOS-Version. Angefan¬
gen hat es mit »DOS 1.0«. Diese erste
Version, die zusammen mit dem Atari-
Laufwerk 810 Ende 1979 erschien, war
noch mit etlichen Nachteilen und klei¬
neren Fehlern behaftet. So gab es bei¬
spielsweise noch kein »AUTORUN.
SYS«-File, um Programme nach dem
Einschalten des Computers automa¬
tisch zu laden und zu starten. Anderer¬
seits konnte zum Kopieren von Pro¬
grammen und Disketten nur ein relativ
kleiner Puffer und nicht der gesamte
RAM-Speicher verwendet werden.
Auch war der wahlfreie Zugriff auf ein¬
zelne Byte in bestimmten Sektoren mit
den NOTE- und POINT-Befehlen noch
nicht implementiert. Es verwundert also
kaum, daß Atari bereits Anfang 1980
eine neue Version, nämlich »DOS 2.0«
(Bild 1) herausbrachte.
Dieses DOS war nun frei von den Feh¬
lern und den gröbsten Nachteilen der
ersten Version. Allerdings ging man
auch hier Kompromisse ein. War DOS
1.0 noch ständig komplett im Speicher
vertreten, teilte man DOS 2.0 in zwei
getrennte Files auf. Zum einen in das
DOS.SYS-File, das durch den Boot-
Vorgang in den Speicher des Atari
gelsüngte, zum anderen in das DUP.SYS-
File, das nur bei Bedarf durch den DOS-
Aufruf von Basic aus geladen wurde.
Vorteil dieser Methode ist die Einspa¬
rung von wertvollem Speicherplatz. Nur
noch rund 2 Kilobyte des RAM-
Speichers gingen durch die Belegung
des DOS.SYS-Files verloren. Die wich¬
tigsten Funktionen, wie das Speichern
und Ijaden von Programmen waren
dabei noch durchführbar. Auch konnte
man mit speziellen XIO-Routinen bei¬
spielsweise Disketten formatieren oder
Files auf Diskette löschen. Spätestens
aber zum Kopieren von Programmen
oder zur Ausgabe des Disketteninhal¬
tes auf dem Bildschirm, mußte man das
DUP.SYS-File aufrufen. Dabei wurden
im Arbeitsspeicher befindliche Basic-
Programme jedoch überschrieben. Zur
Rettung des Speicherinhaltes mußte
man sein Programm daher entweder
vor jedem DOS-Aufruf speichern oder
aber ein sogenanntes MEM.SAV-File
anlegen, in welches das Programm vor
dem Laden des DURSYS-Files automa¬
tisch gespeichert wurde. Dies ist aber
zeitaufwendig und bedeutet zusätzli¬
chen Platzverbrauch auf der Diskette.
Abgesehen davon konnte man mit die¬
sem DOS jedoch zufrieden sein, und es
ist wohl heute noch das meistverbrei-
tete DOS für Atari-Computer.
Als 1983 ein verbessertes Atari-
Laufwerk 1050 erschien, entschloß
man sich bei Atari auch für eine neue
DOS-Version, dem DOS 3.0 (Bild 2
zeigt das Hauptmenü von DOS 3.0).
139
Bild 1. Das HauptfEienü zu DOS 2.0. Sämtliche Disketten¬
operationen lassen sich von hier ausführen. Da Disketten
allerdings mit maximal 720 Sektoren zu formatieren sind,
ergibt sich eine Gesamtspeicherkapazität von rund 88 KByte.
Bfid 2. DOS 3.0 präsentiert dch mit einem etwas anders auf
gebauten Menü. Als Besonderheit gibt es hier die »Hilfen«-
Funktion, mit der man sich erklärende Texte zu d&n einzelnen
Menüfunktiormn direkt auf den Bildschirm holen kann.
Der Hauptgrund hierfür war eine spe¬
zielle Eigenschaft des neuen Lauf¬
werks. Neben der normalen Schreib¬
dichte, die auch das Laufwerk 810
beherrscht, kann das 1050er Laufwerk
in einer höheren Schreibdichte (enhan-
ced density) arbeiten. Dies ist nicht mit
der doppelten Schreibdichte (double
densitiy) zu verwechseln. Denn dies
würde beim Atari 1050-Laufwerk be¬
deuten, daß pro Sektor statt 128 Byte
256 Byte Platz fänden. Bei gleicher
Sektorenzahl würde man also die dop¬
pelte Speicherkapazität erreichen.
DOS 3.0
Erhöhte Schreibdichte bedeutet nur,
daß statt 18 jetzt 26 Sektoren pro Spur
angelegt werden können. Die Anzahl
erhöht sich also von 720 auf 1040.
Praktisch verfügt man nur über 1023
Sektoren, da das Laufwerk die übrigen
17 nicht mehr verwalten kann.
Bei DOS 3.0 kam man auf die kuriose
Idee, jeweils acht Sektoren zu einem
Block von 1024 Byte zusammenzufas-
sen. Dies erleichtert dem Directory
zwar die Verwaltungsarbeit, hat aber
zwei entscheidende Nachteile. Einmal
wird dadurch in der Regel enorm viel
Platz verschwendet: Die Mindestiänge
eines Programms auf der Diskette
beträgt nun nämlich einen Block bezie¬
hungsweise acht Sektoren. Selbst ein
Programm mit einer Länge von nur 10
Byte belegt damit einen ganzen Block,
also 1024 Byte. Außerdem ist dieses
Format unglücklicherweise nicht kom¬
patibel zu DOS 2.0. Eine mit DOS 3.0
formatierte Diskette kann also nicht
unter DOS 2.0 gelesen werden. Umge¬
kehrt sind die alten Atari-Laufwerke 810
nicht mehr in der Lage, DOS-3.0 Disket¬
ten zu verarbeiten. Ein unter DOS 2.0
erstelltes File kann zwar auf DOS
3.0-Fcrmat umgewandelt werden, um¬
gekehrt ist dies jedoch nicht durchführ¬
bar Zum Trost sei aber gesagt, daß zu
diesem Zweck bereits Utilities in ver¬
schiedenen Zeitschriften erschienen
sind.
Trotz dieser Nachteile mußte man bis
zur Einführung des neuen Atari 130XE
warten, bis die vorläufig letzte Version,
nämlich DOS 2.5, erschien. DOS 2.5
kann man getrost als das beste DOS
bezeichnen, das von Atari bisher gelie¬
fert wurde (Bild 3). Es unterstützt die
erhöhte Schreibdichte des 1050er
Laufwerks. Di e Diskette nverwaitu n g
durch Blocks ist aufgehoben worden,
so daß die Filekompatibilität zur Version
2.0 wieder hergestellt ist. Es sind also
einzelne Sektoren ängesprochen,
deren Anzahl aber gestiegen ist. Dies
hat auch den Vorteil, daß man Disketten
mit erhöhter Schreibdichte wenigstens
zum Teil mit dem alten Laufwerk 810
lesen kann. Lediglich die Sektoren zwi¬
schen 720 und 1023 bleiben dem
1050er Laufwerk Vorbehalten. Sind
mehr als 999 Sektoren frei, so werden
diese übrigens nicht mehr angezeigt.
Dadurch sollte man sich jedoch nicht
irritieren lassen. Natürlich unterstützt
DOS 2.5 auch die 128 KByte des
130XE. Vor allem kann man im zusätzli¬
chen 64 KByte umfassenden - RAM-
Speicher eine sogenannte RAM-Disk
anlegen, die wie ein Diskettenlaufwerk
mit der Laufwerknummer 8 angespro¬
chen wird. Man verfügt dann über rund
500 »Sektoren«, deren Inhalt quasi
ohne Zeitverlust geladen oder be¬
schrieben werden kann. Außerdem hat
man noch einige andere neue Fähigkei¬
ten in das DOS aufgenommen, die zwar
nicht im Menü aufgeführt sind, jedoch
über ».COMc-Files ausgeführt werden
können. Versehentlich gelöschte Pro¬
gramme wiederherzustellen, sofern sie
nicht bereits überschrieben wurden, ist
nun kein Problem mehr. DOS 3.0-Files
lassen sich in das DOS 2.5-R)rmat
umwandeln. Auch kann man AUTO-
RUN-SYS-Files zum automatischen
Programmsfart von Basic-Programmen
:: ibddSiC: DiXRECTORV
; 0X5K
mv.
.v.lIXNARVi
mm
FXCJE
HSXTE O0S rxues
R-
roRmT
XTEM OR rtm «CIOE
Bild 3. Wer DOS 2.0
bereits kennt,
kommt mit DOS 2.5
schnell zurecht.
Der einzige Unter¬
schied: Mit »I«
formatiert man eine
Diskette im enhan-
ced Modus und mit
»P« erhält man ein
Diskettenformat
identisch mit
DOS 2.0.
140
9SS MS XI. aToirx
cisif x:m3:
MS
MS
m MtS^OL
-SM.
1 y iiii
€iMm MS
m lliinLi
txm MC
eom: MS
COtf'STS'
M.
cmi «M
emt mix
' MMSy
&m'-.mxx ' '
mmm: mmm ■
^ mmx .
Q er D
. v-"!
€& st e #a-ei J-Är, • r; ’
0-S.: D^X«-
TlfSriMJHL
HF'FEL.-
rmm
si?-s
CHM
SECTSfflllS.
Bild 4. DOS XL befindet sich ständig im RAM-Speicher. Gibt
man von Basic aus »DOS« ein, gelangt man ohne Disketten-
zugrlffe zur Kommandozeile. Befindet sich zu dem Zeitpunkt
ein Basic-Piogramm im Speicher, wird es nicht gelöscht.
Bild 5. Happy-DOS (Listing des Monats in Ausgabe 3/86) ist
ähnlich aufgebaut wie DOS XL. Es liegt ebenfalls stets im
Speicher vor. Als besonderen Leckerbissen bietet Happy-DOS
noch eine RAM-Disk, die insgesamt 12 KByte umfa&t.
erzeugen. Da für jedes vorgesehene
Laufwerk 128 Byte Speicherplatz im
DOS reserviert werden, ist es ein leich¬
tes, die Anzahl der verwendeten Lauf¬
werke an die eigene Konfiguration an¬
zupassen. So lassen sich auch noch
einige Byte einsparen. Etwas störend
wirkt sich die Anordnung des Directory-
Eintrags auf einer EKDS 2.5 formatierten
Diskette aus. Da dieser Eintrag nicht in
einem Stuck, sondern verteilt auf der
Diskette plaziert ist, macht sich der
Schrei b-/Lesekopf des Laufwerks
immer wieder durch lautstarke Posi¬
tionswechsel bemerkbar
Natürlich gibt es auch DOS-Versio-
nen von anderen Herstellern als Atari,
beispielsweise DOS XL 2.3 von OSS.
Unter dieser DOS-Version laufen so
bekannte Programme wie »Actione,
»MAC/65« oder »Basic XL«. Obwohl
dies der Name nicht vermuten Iä6t, ist
DOS XL für alle Atari-Computer ver¬
wendbar, da drei verschiedene Versio¬
nen auf der Master-Diskette vorhanden
sind - passend zu der jeweiligen Spei¬
cherkonfiguration. Die Kommandozeile
mit einem teilweise aufgelisteten Direc¬
tory zeigt Bild 4. Neben der normalen
Schreibdichte wird bei DOS XL sogar
die doppelte Schreibdichte unterstützt.
Um dies zu nutzen, muß man allerdings
entweder das Atari 1050-Laufwerk
hardwaremäßig erweitern {wie im Arti¬
kel »Floppy-Speeder« in diesem Son¬
derheft beschrieben), oder man ver¬
wendet ein Laufwerk eines Fremdher-
stellera Die Speicherkapazität einer
Diskette steigt dann allerdings von 90
KByte unter normier Schreibdichte
oder 130 KByte bei erhöhter Schreib¬
dichte auf stolze 176 KByte. Dieses
RDrmat ist dann natürlich von den Atari-
DOS-Versionen nicht mehr lesbar. Ver¬
zichtet man aber auf doppelte Schreib¬
dichte, so besteht Filekompatibilität
zwischen DOS XL und DOS 2.0 bezie¬
hungsweise DOS 2,5.
DOS XL verzichtet auf eine Trennung
zwischen DOS.SYS und DUP.SYS-File.
Das heißt aber nicht, daß keine weiteren
Files nachgeladen werden. Man unter¬
scheidet hier zwischen Kommandos,
die das DOS ohne weiteres Zutun aus¬
führt und Anweisungen, die nur durch
Nachladen eines entsprechenden Files
ausgeführt werden. Dies hat den Vor¬
teil, daß das eigentliche DOS nur wenig
Speicherplatz im RAM belegt, zumal es
recht geschickt hinter dem Betriebs¬
system ROM abgelegt ist. Im eigentli¬
chen Basic-RAM-Bereich befindet sich
nur noch eine Sprungtabelle, die unge¬
fähr 500 Byte beansprucht. Der Nach¬
teil dieser Methode besteht jedoch
darin, daß die extern gelagerten Files
relativ viel Platz auf der Diskette ver¬
brauchen. Es ist also ratsam, auf die
jeweilige Arbeitsdiskette nur diejenigen
DOS-Files zu kopieren, die man unbe¬
dingt benötigt. Auch das Menü von
DOS XL gehört zu diesen Files, denn im
Normalfall arbeitet DOS XL nur mit einer
Kommandozeile. Hat man alle DOS-
Befehle im Kopf, läßt es sich auf diese
Art sogar wesentlich schneller arbeiten
als mit einem Menü.
Eine Besonderheit stellt die soge¬
nannte Batch-Verarbeitung dar. Man
kann hierbei beliebigen Text und DOS-
Anweisungen in einem File zusammen¬
stellen. Versehen mit dem Extender
».EXC« besitzt man dann ein File, das
man von der Kommandozeile aus aufru-
fen kann. Das File »STARTUP.EXC«, das
dem herkömmlichen »AUTORUN.SYS«
entspricht, ist ein Beispiel für so ein
Batch-File. Auch häufig verwendete
Befehlssequenzen lassen sich auf die¬
se Art zeitsparend ausführen. Neben
den kommerziellen Programmen kann
man natürlich auch auf die verschieden¬
sten DOS-Versionen zurückgreifen, die
beispielsweise als Public Domain-Pro¬
gramme erhältlich sind, oder als üstings
in Zeitschriften veröffentlicht werden.
Ein Beispiel ist das in Happy-Computer,
Ausgabe 3/86 als Listing des Monats
abgedruckte Happy DOS (Bild 5). Ähn¬
lich wie bei DOS XL wird nur mit einer
Kommandozeile gearbeitet. Jedoch
sind alle Befehle im DOS.SYS-File ent¬
halten, so daß ein Nachladen von Files
entfällt. Trotzdem beansprucht das
DOS'File nur 37 Sektoren auf Diskette.
Zusätzlich ist noch eine 12 KByte große
RAM-Disk integriert, die auch mit den
normalen Atari-Computern angespro-
eben werden kann. Es läßt auch zu, wie
in DOS 2.5, Disketten mit erhöhter
Schreibdichte zu formatieren.
Die Entscheidung für ein bestimmtes
DOS sollte vor allem von der allgemei¬
nen Filekompatibilität abhängig ge¬
macht werden. Speziell DOS 3.0 sollte
man trotz seiner relativ guten Benutzer-
führung also vermeiden. Kommt es auf
äußerste Platzersparnis im RAM an,
oder besitzt man ein Laufwerk für dop¬
pelte Schreibdichte, so ist man mit DOS
XL am besten bedient Allgemein kann
man jedoch sagen, daß DOS 2.5 von
Atari das derzeit interessanteste Dis-
ketten-Betriebssystem darstellt. Arbei¬
tet man mit Basic-Versionen wie zum
Beispiel Turbo-Basic XL, kann man auf
den Sprung ins DOS-Menü und somit
auf das Laden der DUP.SYS-Datei auch
meist verzichten. Einige DOS-Funktio-
nen sind dann nämlich bereits als Basic-
Befehle vorhanden. Die integrierten
Utilities und die Diskettenformatierung
in normaler oder erhöhter Schreib¬
dichte, lassen also gute Zukunftsaus¬
sichten für DOS 2.5 vermuten.
(Wolfgang Czerny/ub)
Eezugsquetle; Compft^op, Gneiaefiaustf. 29,
4330 Mühäheim/fiuhr. Td. ^02 OS) 407169
141
MAC/65:
ein Assembler sprintet los!
Schnell stößt man in Basic an
die Grenzen der erreichbaren
Geschwindigkeit. Selbst eine
optimale Programmierung ver¬
leiht Basic keine Flügel. Wer es
eilig hat, sollte auf einen Assem¬
bler zurückgreifen.
E s gibt sicherlich verschiedene
Gründe dafür, auf Assembler-
Programmierung umzusteigen.
Vorrangig dürfte aber die extreme
Geschwindigkeitssteigerung gegen¬
über einer Hochsprache, wie beispiels¬
weise Basic, sein. Auch diejenigen, die
sich lieber mit der Hardware eines Com¬
puters beschäftigen, greifen vorzugs¬
weise auf Assemblerprogrammierung
zurück Denn nicht selten ist es nur
dann möglich, bestimmte Bauteile im
Computer anzusprechen und zu pro¬
grammieren. Wer beispielsweise den
Antic, also den speziellen Grafikprozes¬
sor im 800X17130XE, optimal nutzen
möchte, kommt an Assembler nicht vor¬
bei.
Übrigens sind Assembler und Ma¬
schinensprache nicht dasselbe Wer
nämlich in Maschinensprache program¬
miert, der ordnet jeder einzelnen Spei¬
cherzelle im RAM-Speicher einen
bestimmten Hexadezimalcode zu. Es
wird also nur mit Zahfenwerten gearbei¬
tet. In Assembler andererseits program¬
miert man mit leichter verständlichen
Befehlen, den sogenannten Mnemo-
nics. Mit dem Editor eines Assemblers
gibt man Befehle wie LDA oder CMP
ein. Diese werden dann vom Assembler
in Maschinencode umgewandelt. Erst
wenn dieser Code im Speicher vorliegt,
kann der Microprozessor die Befehle
abarbeiten.
Aber nicht allein Zeitgewinn oder
auch Platzersparnis sind gute Gründe
für die Anwendung von Maschinen¬
sprache. Um beispielsweise die Fähig¬
keiten des Atari-Betriebssystems aus¬
zureizen, muB man zumindest einige
Programmteile in Maschinensprache
schreiben.
Ob man eine kleine Unterroutine für
ein Baslc-Programm oder ein ganzes
Programm vollständig in Maschinen¬
sprache schreiben will, ein Assembler
ist auf jeden Fall eine lohnende Investi¬
tion.
Von der Firma OSS {Optimized Sy¬
stems Software) gibt es für etwa 250'
Mark das Programmodul MAC/65k Es
enthält alle wesentlichen Bestandteile
eines Assemblers - nämlich einen zei-
lennummernorientierten Editor, ähnlich
wie in Basic, den eigentlichen Assem¬
bler und einen Monitor, über den man
seine Maschinensprachprogramme
austesten kann.
Die Modulform bietet mehrere wich¬
tige Vorteile gegenüber einem Pro¬
gramm auf Diskette oder Kassette. So
kann man beispielsweise nach Lxist und
Laune mit jeder Kombination von Dis¬
kettenlaufwerken arbeiten, da man ja in
der Wahl des Diskettenbetriebssy¬
stems völlig frei ist. Außerdem muß man
nicht nach einem eventuellen System¬
absturz, der ja bei Programmierung auf
Maschinenspracheebene relativ schnell
passieren kann, den Assembler neu
laden. Darüber hinaus hat es OSS
durch Umschaltung zwischen ver¬
schiedenen Speicherbänken ge¬
schafft, den Speicherplatzbedarf von
MAC/66 auf 8 KByte zu beschränken.
Nun aber zum eigentlichen Programm
- beginnen wir mit dem Editor:
Genau wie im normalen Atari-Basic
hat man es mit einem zeilennummem-
orientierten Editor zu tun. Er ist jedoch
um einige sehr wichtige Kommandos
erweitert So kann man mit FIND
bestimmte Programmteile suchen, mit
REP ersetzen, mit DEL Programmberei¬
che löschen und mit REN UM das
gesamte Programm neu durchnumerie¬
ren. Auch ein Befehl zur automatischen
Erzeugung von Zeilennummern fehlt
nicht Eine praktische Sache ist, daß
MAC/65, genau wie Atari-Basic, die
Programmzeilen unmittelbar nach Ein¬
gabe auf ihre Richtigkeit überprüft und
sofort einen eventuellen Fehler anzeigt
Nun zum Assembler, den man mit
dem Kommando ASM startet. Dabei
kann man noch angeben, woher - falls
nicht aus dem RAM-Speicher - der Pro¬
grammtext genommen werden soll,
wohin die Ausgabe gehen soll und
wohin der erzeugte Maschinencode
geschrieben wird.
Selbstverständlich versteht MAC/65
alle normalen 6502-Mnemonics.
Datenfelder kann man einfach mit
dem Befehl ».Byte« einfügen - wobei
man entweder dezimale, hexadezimale
oder ASCH-Darstellung wählen (und
mischen) kann. Sehr nützlich ist dabei
die Möglichkeit, zu allen errechneten
Werten eine Konstante zu addieren.
Weitergehende Befehle in dieser Rich¬
tung sind ».SBYTE« (Zeichen in interner
Darstellung), ».WORD« (Doppelbyte),
».DBYTE« (Doppelbyte in umgekehrter
Schreibweise), ».CBYTE« {Text mit
invertiertem letzten Zeichen) und
».FLOAT« {Fließkommazahl). Der
»MAC/6 5«-Assembler erlaubt auch das
Arbeiten mit Markierungen (Labels)
innerhalb eines Programms. Die Länge
einer Zeichenkette läßt sich zum Bei¬
spiel folgendermaßen berechnen:
1000 TEXT .BYTE "Ttappy Computer''
1010 TH[T_LEN = *-TEXT
Auch zu Multiplikationen, Divisionen
oder Bitoperationen in Ausdrücken ist
der »MAC/65« fähig.
Nützlich ist die konditionelle Assem¬
blierung. Mit Hilfe dieser Funktion las¬
sen sich bei der Assemblierung be¬
stimmte Programmteile von irgendeiner
Bedingung abhängig machen. Hat man
beispielsweise folgende Variablen fest¬
gelegt:
1000 DEUTSCH=1
1010 VERSI0N=DEUTSCH
dann kann man später mit
2000 .IF VERSION=DEÜTSCH
2010 .BYTE ''Bitte Diskette
einlegen"
2020 -ELSE
2030 .BYTE "Please Insert disk"
2040 .EMDIF
zwischen den verschiedenen Fällen
unterscheiden. So braucht man keine
verschiedenen Quelltexte, um unter¬
schiedliche Versionen eines Pro¬
gramms zu schreiben.
In diesem Zusammenhang ist die
Funktion ».REF« wichtig. Mit ihr kann
man innerhalb einer ».IF«-Anweisung
feststellen, ob ein bestimmtes Label
innerhalb des Textes bereits benutzt
wurde. Dies gestattet Unterroutinen nur
dann mit einzubinden, wenn sie tat¬
sächlich gebraucht werden. Zusammen
mit der ».INCLUDE«-Funktion, mit der
sich Programmteile von Diskette einbin¬
den lassen, kann man auch Unterpro¬
gramme aus Bibliotheken nutzen.
Ein wichtiges Mertynal von
»MAC/65« ist die Fähigkeit, Makros zu
verarbeiten (daher auch der N^e
MAC/65), Mit Hilfe von Makros kann
man mehrere normale Assemblerbe¬
fehle unter einem Wort zusammenfas¬
sen. Es lassen sich auch Parameter
übergeben und verarbeiten. Ein Bei¬
spiel für eine einfache Makrodefinition:
1000 .MACRO JEQ
1010 BNE ?JEQ
1020 JMP %1
1030 ?JEQ
1040 .ENDM
Zunächst wird hierbei der Name des
Makros festgelegt. ^EQ« soll hier
einen Befehl simulieren, der im norma¬
len 6502*Befehlssatz nicht vorhanden
ist, nämlich einen konditionellen
Sprungbefehl zu einer absoluten
Adresse {in diesem Beispiel, falls die
Abfrage zutrifft). Falls nicht (Branch Not
Equal), wird an das Ende der Makrodefi¬
nition verzweigt. Das Programm läuft
also beim nächstfolgenden Befehl wei¬
ter. Im anderen Fall wird ein Sprung an
die als erster Parameter angegebene
Adresse durchgeführt. Der Aufruf könn¬
te dann so aussehen:
2000 LDA ZAEHLER
2010 CMP #HOECHSTWERT
2020 JEQ KEINELVERAENDERUNO
Hier kann man übrigens auch sehr gut
sehen, daß Assemblerprogramme nicht
unbedingt schwer lesbar sein müssen.
Immerhin kann man, soweit es der Spei¬
cherplatz erlaubt, die Labelnamen be¬
liebig lang und damit ziemlich selbst¬
erklärend gestalten.
Ein weiteres Beispiel wäre ein Makro
zur Addition von 16-Bit-Werten, für die
es bekanntlich beim 6502 keinen eige¬
nen Befehl gibt:
1000 .MACRO AIW ;Add Tmniediate
to Word
1010 ,IF ^2=2 ;Eins addieren?
1020 INC %1
1030 BNE ?N0_INC
1040 INC ^1+1
1050 N0_IKfC
1060 .ELSE
1070 LDA %1
1080 CLC
1090 ADC #< %2
1100 STA
1110 LDA %1-Hl
1120 ADC #> g2
1130 STA ^1+1
ll40 .ENDIF
1150 .ENDM
Hier wird zuerst geprüft, ob das
zweite Argument, also die Zahl, die
addiert werden soll, den Wert 1 enthält.
In diesem F^ll kann der etwas kürzere
Weg über die Inkrementierung der bei¬
den Bytes gegangen werden. In allen
anderen Fällen (>.ELSE«-Abfrage) wer¬
den der Reihe nach zunächst das nie*
derwertigere und dann das höherwerti-
gere Byte addiert. Man beachte, daß
Makros auch eine Optimierung des Pro¬
grammtextes vornehmen können, wenn
sie sinnvoll konditionell definiert sind.
Obwohl im Programmcode nun jedes
Mittel zur Kürzung des Codes vorge¬
nommen werden kann, sieht der tat¬
sächliche Quelltext wesentlich über¬
sichtlicher aus -- und ist zudem noch
kürzer! Was will man mehr? Auch hier
ein Beispiel für die Benutzung dieses
Makros:
2000 AIW PHT,7680
Man vergleiche dies mit:
2000 LDA PNT
2010 OLG
2020 ADC # < 7680
2030 STA PNT
2040 LDA PNT+l
2050 ADC #> 7630
2060 STA PHT+1
Mit Makros kann man aber nicht nur
oft benutzte Kombinationen von Befeh¬
len, sondern auch Befehlsfolgen, die in
einem eigenen Programm regelmäßig
auftreten, verkürzen. Auch zum Aufbau
von Datentabellen sind Makros nütz¬
lich, da sich auch die übergebenen
Parameter direkt in Daten umwandeln
lassen.
Ein weiterer Pluspunkt von Makros
ist, daß es Umsteigern von Basic
erleichtert wird, in Assembler zu pro¬
grammieren - Makrobibliotheken, die
Makros wie »PRINT«, »INPUT« oder
»GRAPHICS« enthalten, gibt es zur
Genüge
Kommen wir zum eigentlichen
Assemblerteil von »MAC/65«. Hier las¬
sen sich für den Quelltext, das Listing
und den erzeugten Code beliebige Peri¬
pheriegeräte festsetzen. Dabei kann
man den Quelltext auch direkt aus dem
Speicher übernehmen. Oder man legt
den generierten Maschinencode direkt
im RAM-Speicher ab. Dabei muß man
natürlich darauf achten, den im Spei«
eher befindlichen Programmtext nicht
zu überschreiben. Das Wichtigste ist
natürlich die Assembliergeschwindig-
keit Dazu ein Beispiel: Für etwa 100
KByte Quelltext {wobei zu beachten ist,
daß MAC/65 die Befehle in Tokens ver¬
wandelt und daher relativ wenig Platz
für Quelltexte verbraucht) benötigt der
Assembler etwa drei Minuten. In die¬
sem Zeitraum wurde der gesamte
Quelltext von Diskette gelesen und der
erzeugte Code wiederum auf Diskette
geschrieben. Hier darf man nicht ver¬
schweigen, daß die meiste Zeit beim
Assemblieren durch Zugriffe auf ex¬
terne Speichermedien verlorengeht
Deshalb lassen sich bessere Ergeb¬
nisse erzielen, wenn man auf dem Atari
130 XE mit der RAM-Disk unter DOS
2.5 arbeitet.
Ein anderer wichtiger Gesichtspunkt
ist, daß der »MAC/65«-Assembler,
nachdem er mehrmals verbessert
wurde, als fast fehlerfrei bezeichnet
werden kann. Dies bestätigt mehrjäh¬
rige Erfahrung. Was wäre schlimmer als
ein Assembler, der bereits beim Assem¬
blieren Fehler in den Maschinencode
bringt?
Doch der Assemblerteil von
»MAC/65« hat noch einen weiteren
Leckerbissen zu bieten: Für die Aus¬
gabe des Protokolls beim Assemblieren
auf Druckern stehen vielfältige Funktio¬
nen zur Verfügung. Man kann sogar den
Inhalt und die Form des Ustings beein¬
flussen. So ist es zum Beispiel kein Pro¬
blem, die Erzeugung des Ustings für
bestimmte Teile des Programms abzu¬
schalten oder bei Makros alle nicht
wichtigen Teile wegzulassen. Außer¬
dem lassen sich die Seitenlänge und
-breite sowie der Steuercode für Sei¬
tenvorschub festlegen. Diese Angaben
befähigen den »MAC/65«, ein über¬
sichtliches Listing mit Seitennumerie¬
rung und Seitenüberschriften zu erzeu¬
gen. Wahlweise kann auch noch eine
Cross-Reference-Uste ausgestellt wer¬
den. So könnte in alphabetischer Rei¬
henfolge für jedes benutzte Label nicht
nur der erzeugte Wert, sondern auch
jedes Auftauchen im Programm mit
Seiten- und Zeilennummer angegeben
werden. Eine sehr nützliche Funktion,
um zeitaufwendige Fehlersuche zu
ersparen.
Der dritte Bestandteil vom
»MAC/6 5«-Assembler ist der Monitor
Er nennt sich »DDT« {Dunions Debug¬
ging Tool), da er durch Eingabe von DDT
aufzurufen ist. Hier sieht man sofort den
ersten großen Unterschied zu konven¬
tionellen Debuggern. Statt einen nor¬
malen Textbildschirm zu verwenden,
erzeugt er ein spezielles Bildschirmfor¬
mat Dieses ist sehr übersichtlich und
informativ und beinträchtigt trotzdem
die Übersichtlichkeit des zu bearbei¬
tenden Programmbildes nicht Auf dem
verhältnismäßig kleinen Bildschirmaus¬
schnitt kann ein Teil des Speichers in
disassemblierter Form oder in hexade¬
zimaler Schreibweise betrachtet wer¬
den. Weiterhin erfolgt noch die Aus¬
gabe der Positionen der vier Break¬
points sowie der Prozessor- und Sta¬
tusregister. Hier fehlen zwar Ein- und
Ausgabefunktionen, dafür gibt es aber
einige unübtiche Bonbons. So kann
man mit START das Programm an der
Stelle fortsetzen, an der sich der PC
(Program^Counter) befindet Mit
SELECT erfolgt ein Umschalten zwi¬
schen dem DDT-Bildschirm und dem
vom Programm erzeugten Bildschirm,
und mit OPTION lassen sich noch ein¬
zelne Maschiriensprachbefehle abar¬
beiten.
Eine lästige Eigenschaft von DDT soll
hier nicht verschwiegen werden. Da der
Speicherausschnitt im Bildschirmfen¬
ster nur mit den Cursortasten um ein¬
zelne Zeilen verschoben werden kann,
ist es leider ein Unding, bestimmte Pro¬
grammteile schnell zu finden.
Zusammenfassend kann man jedoch
sagen: DDT ist zum Bearbeiten von Pro¬
grammen, die sich bereits im Speicher
befinden, prädestiniert
Als Zusatz zum »MAC/65«'Assern-
bler wird von OSS eine Diskette mit
Hilfsprogrammen und vordefinierten
Makros (»MAC/65 Toolkit«) angeboten.
Hier findet man beispielsweise Makros
für alle normalen Ein- und Ausgabefunk¬
tionen. normale und Player/Missile-
Grafik und Arithmetik. Darunter befin¬
det sich auch ein Programm, das die
Kommandozeile von DOS XL analysiert
und somit das Schreiben von zusätzli¬
chen Kommandos für DOS XL wesent¬
lich erleichtert. Ein komplettes Datei¬
kopierprogramm, das fast ausschlie߬
lich mit Makros geschrieben ist, fehlt
auch nicht.
Man kann mit gutem Gewissen
sagen, daß MAC/65 für jeden, der sich
in Assembler versuchen will, hervorra¬
gend geeignet ist. Dabei kommen auch
Anfänger nicht zu kurz, die sich in der
Basic-ähnlichen Umgebung wohlfühlen
werden. Ein fortgeschrittener Program¬
mierer wird nach einigen Stunden
Arbeit mit »MAC/65« nicht mehr auf die¬
sen komfortablen Assembler verzich¬
ten wollen. (Julian F. Reschke/wb)
Bezugsquellen:
Münzenlotier, TÖlzer Str. 4, 8l50 Holzkirchei-i,
Tel, (03024)1314
Cofnpy-Shüp, Gneisenaustr, 29, 4330 Mühlhetm,
Te). (0208) 71 G9
»SynF He+
Dateiverwaltung total
Vor allem durch eine gelungene
Benutzerführung und ein gut
durchdachtes Konzept hebt sich
»SynFile+« angenehm von an¬
deren Dateiverwaltungen atx
H ' at man schon maJ einen Heim¬
computer zu Hause stehen,
sollte man ihn nicht nur zum
Spielen nutzen. Schließlich gibt es eine
Reihe von sinnvollen Anwendungen,
die sich auch auf einem Atari realisieren
lassen. So zum Beispiel eine Dateiver¬
waltung wie :^ynFile+«. Mit ihr kann
man Daten aller Art übersichtlich und
sauber verwalten. Sei dies nun ein
Adressenverzelchnis, eine Platten¬
sammlung oder Mutters Kochrezepte,
das spielt keine Rolle. Aber auch Kun¬
dendaten oder Verkaufsstatistiken
kann man mit ein und demselben Pro¬
gramm verwalten.
:&SynFile+« wird auf Diskette geliefert
und ist für Atari Computer mit minde¬
stens 48 KByte Speicher gedacht. Man
erhält noch eine rund 120 Seiten
umfassende Bedienungsanleitung in
englischer Sprache, die jedoch durch
Aufmachung und Gliederung gut zu
handhaben ist. Auch die Benutzerfüh¬
rung des Programms ist natürlich in
Englisch gehalten. Dies stört aber nicht
so sehr, da die Bedienung von
»SynFile+« vollständig menügesteuert
ist.
Das Funktionsprinzip von 3s^ynFile+«
ist eigentlich ganz einfach. Am besten
stellt man sich das Programm als Kartei¬
kasten vor. Jede Karteikarte, auf der
man Daten eintragen kann, umfaßt 21
Zeilen mit je 80 Spalten. Auf dieser
Karte trägt man zuerst die benötigten
Datenfelder ein. Welche Felder man
verwendet und wie man sie benennt,
hängt natürlich vom eigenen Bedarf ab.
Baut man sich beispielsweise ein
Adressenverzeichnis auf, so würden
die Felder ^Name«, ^Vorname«, »Wohn¬
ort«, »Telefon« und so weiter lauten. Wie
man diese Felder auf der Karte plaziert,
bleibt dabei den eigenen Wünschen
und Vorstellungen überlassen. Bei
jedem Feld gibt man zudem noch die
maximale Länge an, die jeder Eintrag
umfassen darf. Außerdem muß der Typ
des jeweiligen Feldes festgelegt wer¬
den. So soll ein Name beispielsweise
später nur aus Buchstaben bestehen.
Andererseits setzt sich eine Telefon¬
nummer aus numerischen Werten
zusammen. Die Typenzuweisung birgt
gleich zwei Vorteile in sich. Einmal kann
das Programm dadurch leichter auf spä¬
tere F^lscheingaben reagieren. Gibt
man beispielsweise bei einer Telefon¬
nummer versehentlich einen Buchsta¬
ben ein, so wird diese Eingabe auf¬
grund des nicht übereinstimmenden
Feidtyps nicht akzeptiert. Zudem ver¬
fügt man bei »SynFile4-« über eine
Reihe von Feldtypen, die das Arbeiten
mit dem Programm wesentlich komfor¬
tabler machen. So gibt es beispiels¬
weise den Typ »Date«, also Datum. Hier¬
bei sind nur Eingaben erlaubt, die tat¬
sächlich auch einen Bezug zum Datum
haben. Gibt man also »99/11/85 ein,
reagiert »SynFile+« daraufhin mit einer
Fehlermeldung. Allerdings muß ein
Datum bei »SynFile+« in der amerikani¬
schen Notierung, also erst der Monat,
dann der Tag und zuletzt noch das Jahr,
eingegeben werden.
Der Typ »Look-Up« wiederum erlaubt
nur die Eingabe solcher Werte und
Texte, die man vorher in einer Tabelle
exakt festgelegt hat. Soll in einem Feld
ßlid 1. So kann beispielsweise eine selbst aufgebaute Eingabe¬
maske mit j*SynFile-H« aussehen
Bild 4. in allen Menüs von »SynFtle-i-« wählt man die Unter¬
punkte mit Hilfe der Cursortasten
144
NAME: Wurcn
VORNAME: Peter
STRASSE: Petersstr. NR,; 11
PLZ-. 2222 ORT; Wurfr-h^usen
TELEFON: 2345
GEBURTSTAG: 01/01/Ql GESCHLECHT: M
BEMERKUNG: wurmt
ßltd 2. Ein Datensatz als Hardcopy
zum Beispiel das Geschlecht einer Per¬
son eingetragen werden, so legt man in
der Tabelle die Eingaben »m« für männ¬
lich und »w« für weiblich fest. Alle ande¬
ren Eingaben werden dann ignoriert.
Mit Hilfe des Typs »Conditionak kann
man dann noch einen Feldinhalt von
einer vorher definierten Bedingung
abhängig machen. Soll mit dem Inhalt
eines oder mehrerer Felder gerechnet
werden, kommt das Ergebnis dieser
Berechnungen in ein Feld des Typs
»Computed«.
Sobald die Definition aller Felder
abgeschlossen ist, hat man eine fertige
Eingabemaske, wie sie in Bild 1 zu
sehen ist. Sollte man feststellen, daß
die Maske noch nicht in der gewünsch¬
ten Form vorliegt, kann man sie natür¬
lich auch nachträglich noch ändern.
Man ordnet der Datei einfach einen
anderen Dateinamen zu und speichert
sie auf Diskette Als nächsten Schritt
indiziert man ein oder mehrere Felder
eines Datensatzes. Bet der Indizierung
wird der Inhalt des jeweiligen Feldes in
ein eigenes File abgelegt. Auf diese
Weise muß das Programm beim Suchen
oder Sortieren von Datensätzen nicht
die gesamte Datei, sondern nur die
jeweilige fndexdatei durchforsten. Bis
zu 16 Felder können gleichzeitig indi¬
ziert werden. Dabei ist jedoch darauf zu
achten, daß der Speicherplatz auf Dis¬
kette mit der Zahl der Indexfelder rapide
abnimmt. Auch ist die Zahl der Daten¬
sätze, die eine Datei umfassen kann,
vorwiegend durch die Größe des Index¬
feldes begrenzt. Im Gegensatz zu den
eigentlichen Daten muß das Indexfeld
GEBAMTLISTE
NAME
VORNAME
STRASSE
NR-
PLZ
ORT
Czerny
Wol4 gang
As c h en r asse
im
2222
Muenchen 12
Koh 1 r *3ib i
Rotkohl
Weisekraut
1
4711
Sauerkraut
M^r kt
und
Technik
2
Haar
Muel1er
Hane
Dor t st raBse
m
1111
Gongdor-f
Schraube
Nagel
Duebei^tr-
2
2222
Hol vMur fnhausen
Wurm
Peter
PeterBstr.
11
2222
Wur mh auBen
Bild 3. Eine Liste aller Datensätze lä&t sich auf einem Drucker ausgeben
nämlich im Speicher des Computers
Platz finden. Die Datensätze einer einzi¬
gen Datei hingegen können auf bis zu
16 Disketten abgelegt werden.
Hat man seine Daten eingegeben,
kann man damit natürlich einige Mani¬
pulationen vornehmen. So lassen sich
die Datensätze nach steigender oder
fallender Fölge sortieren. Einzelne
Datensätze kann man auch mit Hilfe von
verschiedenen Suchlc'itenen schnell
finden. Gibt man mehrere Suchkriterien
an, kann man wählen, ob alle Bedingun¬
gen gleichzeitig oder nur eines der Kri¬
terien erfüllt sein muß.
Will man mit Hilfe einer Textverarbei¬
tung Serienbriefe drucken, können die
Daten, die in die Briefe eingefügt wer¬
den sollen, natürlich einer SynFile-
Datei entnommen werden. Ein Beispiel:
Man schickt ein Rundschreiben an alle
Personen, die in einer Adreßdatei ge¬
speichert sind und in einer bestimmten
Stadt wohnen. Anschließend gibt man
noch als Suchkriterium die gewünschte
Stadt ein. Aus den gefundenen Daten¬
sätzen werden nun Namen und Adres¬
sen in ein separates File geschrieben.
Eine Textverarbeitung wie der »Atari-
Schreiber« beispielsweise, kann nun
diese Datei lesen und deren Daten in
die einzelnen Briefe eintragen.
Die Inhalte einer Datei kann man
natürlich auch auf einem Drucker aus¬
geben. Dies kann grundsätzlich auf drei
Arten geschehen. Einmal kann man
quasi eine Hardcopy des momentan auf
dem Bildschirm befindlichen Datensat¬
zes anfertigen (Bild 2). Will man meh¬
rere Datensätze ausdrucken, kann man
die einzelnen Felder entweder neben¬
einander oder untereinander darstellen
(Bild 3). Auch beim Ausdruck kann man
sich die jeweiligen Datensätze mit Hilfe
von Suchkriterien beliebig zusammen-
stellen. Auf diese Weise lassen sich
auch ohne weiteres Adreßetiketten
beschriften. Leider sieht »SynFileH-«
nicht die Möglichkeit vor, eine Druck¬
maske zu speichern.
Die Benutzerführung von »SynFileH-«
ist vorbildlich zu bezeichnen. Am
unteren Bildrand findet man drei Haupt¬
menüpunkte. Mit Hilfe der Cursortasten
wählt man sich den jeweiligen Punkt
aus. Drückt man dann RETURN, so
erscheint das jeweilige Untermeno in
Form eines Fensters auf dem Bild¬
schirm (Bild 4). Die einzelnen Unterme¬
nüpunkte werden wiederum mit den
Cursortasten angewählt. Auch die
Typenzuweisung bei der Felderdefini¬
tion wird über ein Untermenü durchge¬
führt. Mit diesem Bedienungsschema
erreicht »SynFile+« eine Übersichtlich¬
keit, wie sie bei kaum einem Programm
für Atari-Computer zu finden ist.
Mit Ausnahme der etwas mangelhaf¬
ten Druckeranpassung kann man
sSynRle+« also kaum Schwächen
nachsagen. Ein echtes Kaufhindernis
dürfte jedoch der Preis dieses Pro¬
gramms sein. Bei rund 220 Mark sollte
man doch eine rentable Anwendung für
dieses Programm vorweisen können.
(Wolfgang Czerny/wb)
CompySi^op^ Gneisenaustr. 29, 4330 Mühlhelni/Ruhr,
Tel. (0208) 4971 69
Münzenloher. TölzerStr. 4, S150 Holzkirchen,
Tel. (06024) 1614
J. Schutta/w, Pest
Dntcker-Hand&iich
4 anu 3 r 1^5.188 Seiten
WelcJicn Druckef brauche ich? Einen
schnellen, einen hsnsen, einen billigen,
einen korrespomferrzfähigen? Weicher
Drucker kann problemlos an meinen
Personal- oder Homecomputer anpe-
schbssen wenden? Wie funktioniert so
ein Dfucker überhaupt?
Lesen Sie dieses Buch, und Sie wissen
auf alle diese Fragen eine fundierte Anl-
wontl
• Endlich ein infürmativer Leitfaden für
alle, die vor dem Kauf eines Druckeis^
stehen.
BOSL-Nr. MT 742
ISBN 8-89090-077-1 DM
38r
J. WUlis/M. Miller
Computertechnik ohne
Geheimnisse
Novamher 1984^ 813 Seiten
Ob Sie schon einen Computer besitzen,
seine Anschaffung planen oder sich nur
mal aus Interesse mit diesenn faszinie¬
renden Gebiet auseinandersetzen wol¬
len: in diesem Buch finden Sie die Ant¬
wort auf alle Fragen zur Computertech-
nilc Das Buch beschreibt den derzeitf-
gen Stand der Technik, gibt AufsohluB
über die Entwicklung der Computer und
verschafft Ihnen eine Marktübersicht
über Hand- undSoftware {wenn Sie nicht
wissen, was das ist, dann lesen Sie die¬
ses Buch!}. Und es beantwortet auf
amüsante Weise die oftgesleJIte Frage:
»Was. 2 um Kuckuck, kann ich eigentlich
mit so einem Ding machen?«-
• Informatiorren zum Thema Computer
von allgemeinem Interesse
Best.-Nr. MT 716
fSBN UlU
42,-
Markt & Tectinik-Facti büoher
eirhalttii Sie b<ei Ihrem fiacliliändler.
MarkE&Technik
BUCHVERLAG
Hans-PinsekStiaBe 2, 8013 Haar bei Käncbm
Depot-Händler
Tragen Sie Ihre Buchbest^ung auf ehe Rrstfcarte eh
und schk^een diese an einen Depod^n^er in Ihrer Nähe
oder an ihren Bucfihändfar.
Bucbhandhing Hard«, KurfürständBunfin £0
1DOOBe:r1ir> 15, Ti?]. t03CI gSSSDOZ,
BTX *921782i)i
Computsre Fat^buchliBTKflunQ, KeithstraSe IS
1000 ßorthfi 30. Tel. (0301 3 IJSCZl
ThpElQ gvchhnus. Große Bleichen 19
2000 HamlHJfg 36. Tal. i040J 300 SOSO
Bov&en « Maaisehr Hermsrinstraße 3t
ZOOO HamhMrs 1. Tel. <04QJ 300505 IS
Electro-Dsta, Wilhelm-I-Ieidaiek-Stmße 1
ZiOOCLjKnavaa. Tal. (047 21) $1200
Buf^handluas Mushlau, Hotteneuar Stra&e 116
2300 Kia[. Tel. {0431) S50S5
ECL, NorderatraCa 94-96
2300 flanaburg. Ta3. (0461) 2®! Sl
Buchhandlung Weiland. Künigatraßa 79
24Ü0 Uüteck. Tal. [04 51) 74006-03
Buchhandlung Storm, LangafiBtraße IO
2300 Efeman 1, Tal. [0421) 32 1S23
Buchl^isdlung Lehsa^Eissing, MarktstraSa 39
Z340 Wiihalir^hö'oen, Toi. (04421) 4 1687
Buchhandlung StdimorJ u. v. Saatald. Bahnhcfsi/aSa 13
3000 Mpnnover 1, T(rf. (0511) 3276 51
Buehhandlung CraM. Naua Siraßa 23
3300 SJravn^hwcdg, Toi. (0531) 4-92 71
Pauerllch'sche Buchhandlung, Waandar SuaEa 33
3400 Götringenr Töl. [05 51) 56S6Ö
Buchhandlung on dm- HuchsEhuh. HEJlJin-di^^ho StreSe 22
3500 Kessel. Tot. fOSOl) 83907
Stern ^rlag, Friadrichsrraße 24-26
4000 Öuaaaldcirr. Tel, (02 H) 373033
Buchhandlung Baedakar, Kattwi^r StraEa 33-3S
4300 1. Tel. (0201) 221381
Regensberig'deh« Buehhandlurtg, Aliar Stalnwag l
4400MünfiTar. Tel. [02 51) 40541-5
Bwhhendlung Aeker, JehannisstfaEa S1
4S00 O&TtahrüRk. Tal. (0541} 2 8483
BvchhnndEung Lwnsing, Wastenhallwag 86-98
4600 Dürtmund. "fei. r023l) 1 OOSO
Buchhandlung BujckrTHiver. Q'Lwronb.unQCF Höhc 28iyUnicanter
4830 Bochum, Tal. {0234) 701360
Buehhandluctg Maiar -i- Weher. W^jhi^rger StreBc 98
4790 Padefborn. Tal. (0S2 61) 63l 72
Buchharndlung PhSniK. CmOH. OfrerntOrwell 25
4800 Bielefeld 1, Tel. {0521) 69071
Büchhandlurtg Cerkaki. Maum^rhi 24
5000 Köln 1. Tel. [0221) 210520
Mwyer'sche Buehhandhing, U raulinanairaEa 17-19
SlOO Aachen. Tai. (0241) 48142
Buchbandlvn^ Behrendt. Am Hc# 5e
5300 Büfin 1. Tal. (02 28) 558021
Buchbandlvng Cusenus. SchlcriistiaGe 12
5400 Koblanz, Tel. f0261) 36239
Alcad. Suchnarbdilung fiiiarbenfc, FlecsthstreSe 51 “65
5600 Triur. Tel. {0651) 43596
Buchhandlung W. Finke. Kiedorf 32
5600 Wuppanal 1. Tc). (0203) 454220
Buchhandlung Balogh, SandstreEa 1
5900 Siaigdm. Tal, (02711 55293-9
Buchhandlung Naachar. Steinwag 3
6000 FranTtfun 1. Tel. ({J60) 298050
Buchhandlung Wallnit?. CcUtcnscblägorstirsEe 4
6100 Dermstedt. Tat. {061 51) 76548
Buchhandlung Faliar Gacks. Friadri^h^mße 31
6200 Wiesbaden, Tel. (081 21} 30 4911
Ferber'sehe UMl-OuchherKilung, Satiarawag 83
6300C^Ban. Tal. (0041} 1 2001
S«±ia[wl399n^eliaf6khe Fachbucbhandluino, FriedrichstralLe 24
6400 Futda. Tel. {0661} 750 77
Gutanbang ßuchhartdlurtg, Snoße Bleiche 29
6500 Main;:, TgJ. (061 31) 37011
Buchhendlung Beck + Saip. Futfarstraßa 2
6600 Saarbrücken. Tel, (0061} 30877
Buchharidluwg Wühelm Hefmann. ßlamarckatroße 98
6700 Ludwigshafen. Tel. (0621) 51 8001
Buebhertdiung Loeffler, ß 1.5
8800 Mannheim l. Tel. (0621) 28912
ßucbbandlung Stöhn. Bahnhe-fstreße 13
7000 Stuttgart 50. Tal. (0711) 56 1476
Buchhandlung am Markt. K r^metreßc 8
7100 Hallbrenn. Tel, (07131) 68682
PCB Mieru-Computer, Oekar-Kalbrall-Plet^ 6
7410 Reutlingen. Tel. [07121) 270443
UNI Buchhandlung Kaltnar Maeasnar. Kai^arstraße 13
7500 Karlsruhe. Tel. (07 211 691438
ßuchltandlung Buth. Hauptstiraße 45
7800 Offenburg. Tal. (07&1) 2 2097
Rombach Canur, Berthotdstreße 10
7800 Freihurg. Tel. (0761) 49091
Fnuhbuchhandlung Hafrnanrt, Mir?ch.^ral3e 4
79ÜO Ulm. Tel. {0731} 60949
Scheutleff Elaktronlh, Bachstra£e S2
7980 Ravensburg, Tel. (0751) 2 6138
ßuchhandhing Hugqndubel. Marienplatz
8000 München 2, Täl. (039) 2389-1
Cempuiefbuchar am Dhulish. Bererstreße 32-34
aooo München 2, Tel. (099) 282383
r^e's ComputerbOchar. Scbillerstreße 17
aoOO München 2, Tel, {099) 556229
UniveraitäffBbuchhBndlung Lachner. Thareaiän:drAß4 43
8000 Münchan 2. Tel. {089) 521340
ßuChhandluisg Schönhuber. Theresienstraße 6
8070 Ingolstadt, Tel. (0841) 331 46/47
CompiiEamudlc Gertrud Frioddeh, Lwdwigstraße 3
8220 TrsviJiatein, Tel. (0861) 147 67
Buctrhandlung Puatat, Kt. Ejoerzrarplat; 4
BSbOP^seu, Toi. (09 51) 56945
Buchhandlung Püstoi, GassndtonairaEe 8
8400 Rngenaburgi, Tel. {0941)53061
Buchhandlung Dt. BOnnar. AdlerstraEe 10-12
SSOO'Mürrrberg. Tel. (09 11) 2323 18
STB Cumpvter Vertrieb, Werner-Siemeäna^treße 19
8680 Bayreuth. Tel. (0921) 6 2320
Cbmpuier-Center-Burger. Leimrtzar Straße 11-13
8670 Htrf. Toi. (09281) 40075
SertlmantG- u. ßahnhiafsbuclih^ J. Sb^kewshi. Eahnhofplan 4
8700 Wür^burg. Tbl. [0931) 54389
BucHbandlunv Pu3t«i, Grercanau 4
8900 Augsburg. Tel. (08211 35437
iCamprariar Faehsertiment. SalzatTaSe 30
8980 Kempten. Tal. (08311 14413
Belgien;
Eicher Micro & Parsonsl Computer, Hünningen S6-S8
■ B-4790 St. Vhh, Tel. (OÖOl 22 7333
LuJtemhurpT
UbrpTila Ptemoeuhura, 14, rue Duchacht^r (PI. de Paris)
HOll Lukembäiag-Garn, Tel. 480691, Telex 3112
Schweiz:
Buchhandlung Moissner. BahohofstraEa 41
5000 Aarbu. Tel. {064) 24 71 Sl
BCchar ßaJmar, Meugasse 12
6300 Zug. Tel, (042) 214141
Buchhendlvno Enge, Btaicherweg 56
8002 Zurict^, Tel. (Ol) 2Ol 2070
ßuchhandlungi pmi Füsdi, PsIikafKtraaa 10
8022 Zürich, Tel. (01) 2118011
Frelhefar AG. WläseuvchelDiche Buchhandlung, Univarsli^isstr. 11
8039 Zürk;h, Tel. (01) 3634282
Buchhandlung am Rößlücc Webergasse 5
9001 Si.Galten, Tel. (0 71) 22 6726
Markt&lfechnik
BUCHVERIAG
Impressum
Hef3usg8t>9r CarFFranz von Q uadt, Qtmgr Webo r
Chofrodakteur: Michael Scharfenberger (sc)
Leitender Radaktotir;