Skip to main content

Full text of "TI Revue Special Collection"

See other formats


Nr. 2/86 /Februar dm 5,50 / ös 46 / srf 5,50 


Listings für TI 99/4A 
Assembler leicht gemacht 
Drucker-Geheimnisse 
enthüllt 

6 Seiten Kleinanzeigen 
rund um den TI 
Service de Kaufberatung 
Tips 6c Tricks 













Wir lassen den TI-USER nicht im Stich! KARTEN FÜR 


atlonic 


• CPS 99: Das kompakte System! 
2 x RS 232, 1 x Parallel Interface 
32 KByte, Speichererwerterung 
Disketten-Controller/Disk-Drive 

• 32 K RAM Erweiterung 

• Centronics Interface 

• V24 (RS 232) Interface 

• 32 K RAM + Centronics 

• Exterrie Disk-Laufwerke 

• RS 232/Centronics Karte 


PERIPHERIE-BOX: 

Neu: 256 K-Speichererweiterung 
(RAM-Disc) 

• Bis 1 MB ausbaubar, umfangreiche Software 
implementiert * Für Basic + Ext + Assembler 

• 32 K RAM Erweiterung 

• Disk-Controller (bis zu 4 X 360 KByte) 

• Interface Karte mit 32 K RAM 

• Controller Karte mit 32 K RAM 


FORDERN SIE DIE PREISLISTE AN! 

atronic-Produkte bekommen Sie bei jedem guten Tl-Händler oder direkt bei. 


Wie immer steht unseren Lesern unser Telefon-Service 
zur Verfügung! Jeden Dienstag von 15 bis 19 Uhr. 
Für technische Fragen: 0731/33220 und 
für Listings/Programme: 0 89 /129 8013 


IMPRESSUM 


TI-REVUE, die Zeitschrift für den TI 
PC und den TI 99/4A erscheint 
monatlich in der AKTUELL¬ 
GRUPPE 

Elisabethstraße 1,8044 Lohhof. 
Redaktion: Senator-Presse-Service. 
Verantwortlich für den Inhalt: 

Heiner Martin. ..... 
Verantwortlich für Anzeigen: 

Bruno Redase. 

Verantwortlich für Listings: 

Hartmut König. 

Alle: Postfach 1107, 8044 Lohhof. 
Anfragen bitte nur schriftlich. 

Druck: Maier und Söhne 
Es gilt die Honorarliste des Verlages. 
Für unaufgefordert eingesandte Ma¬ 
nuskripte und Listings keine Haftung 
Bei Einsendung von Texten, Fotos 
und Programmträgern erteilt der 
Autor dem Verlag die Genehmigung 
für einen einmaligen Abdruck sowie 
die Aufnahme in den Programm- 
Service nach den Verlags-Sätzen! 

Alle in dieser Zeitschrift veröffent¬ 
lichten Beiträge sind urheberrecht¬ 
lich geschützt. Jedwede Verwertung 
ist untersagt, Nachdruck nur mit 
ausdrücklicher schriftlicher Zustim¬ 
mung des Verlages. Namentlich ge¬ 
zeichnete Artikel geben nicht unbe¬ 
dingt die Meinung der Redaktion 
wieder. 

Kein Anspruch auf Lieferung bei 
Ausfall durch höhere Gewalt. 
Gerichtsstand: München 
Geschäftsführer: Werner E. Seibt 
Abo- und Kassetten-Service: 

Henny Rose Seibt 
e by TI/CBM Verlag 
SPS und Autoren. 


TI - 99/4A 


Compact Peripherie System 99 


MSX-Computer 






NEU - NEU - NEU - NEU - NEU - NEU 


CPS 99 mit einem Laufwerk 1.698,- 
DS DD = 360 K mit 32 K-RAM, 

2xRS 232, Centronics Interface 
Disk-Controller DS DD 


MSX-Zubehör 


698,- 


Disk-System 2,8“ QDM-01 398,- 
2,8“ Diskette 2x64 K (Quick-Disk) 
umfangreiche Software 
1 Jahr Garantie 


Software auf Modul 
oder Quick-Disk 


256 K Byte RAM-Expansion 
(RAM-Disk) 598,- 

- Ausbaubar bis 1 Megabyte 

- Betrieb mit vorb. 32K Byte Erweiterung möglich 

- Unterstützt Basic, Extended Basic u. Assembler 

- Erweiterter Befehlsvorrat für Basic u. Ext. Basic 

- Ultraschneller Zugriff auf bis zu 8 Programme 
durch RAM-Banklng (bei 256K-Version) 

- Wesentlich schnellere Bearbeitung von Disk-Files 

- Schnittstelle für Softcard eingebaut 


Für weiteres Zubehör und Software 
fordern Sie unsere kostenlose Preis¬ 
liste. 


Sanyo mpc 64 

deutsche Tastatur, Resettaste 

und Einschalter obenliegend, 

2 Modulslot 


Externe Erweiterungen 


Disketten 2,8“ (10 Stück) 


Alle Preise inci. MwSt. zuzügl. 5,- DM 
Versandkosten. Lieferung per Nach¬ 
nahme oder Vorkasse. 

Ab 200,- DM versandkostenfrei. 

Fordern Sie kostenlos 
unsere Sonderpreisliste an. 


MSX-Einsteiger-System 
bestehend aus: 

1 MSX Computer Yashica YC-64 
1 Disk-System 2,8“ (Quick-Disk) 


898,- 


Programm-Service 


lll£ 


D-5584 Bullay 
Bergstraße 80 ' 

Telefon 06542/2715 


CPS 99 mit zwei Laufwerken 
DS DD = 720 K mit 32 K-RAM 
2xRS 232, Centronics Interface 
Disk-Controller DS DD 


2.198,- 


Die nächste 
TI REVUE 
am 28.2.1986 








Nr. 2/86 
Februar 


HALT 


DIALOG 

Ich habe da eine Frage: 

Sind I nterface und Schnittstelle das 
Gleiche? 

Funktioniert das Programm Aparaks 
auch mit der Diskettenversion von 
Apesoft-Grafik? 

Was mache ich beim Kull-Compiler 
mit den überlangen Programmen? 

Wie formatiere ich Breitschrift 
beim Tl-Writer? 

Warum kann ich bei angeschlossener 
Disk-Station nicht mehr alle Programme 
von Kassette laden? 

Pin 1 habe ich immer noch nicht ent¬ 
deckt 

So wurde unser Club gegründet 
Ab Seite 4 


; Kamekaze: 

Für Freunde der Ballerspiele 

Ab Seite 37 

Thomas-Verfahren: 

Wissen Sie, wie Stahl gewonnen wird? 

Ein Lernspiel sagt es Ihnen 

Ab Seite 41 

Statik: 

Komplizierte Rechenoperationen — 
kein Problem 

Auf Seite 45 

Soundwriter: 

Der TI macht Musik — und wie 

Ab Seite 46 

Division: 

Wieder ist Mathe gefragt 

Ab Seite 48 

Morse-Trainer: 

Für Funkamateure und solche, die es 
werden wollen 

Ab Seite 50 



Drucker formatieren leicht gemacht 
Auf Seite “ 9 

Der Igel lernt Deutsch - oder, wie 
man Logo die deutsche Sprache bei¬ 
bringt 

Auf Seite 10 

Abgestürzt? Kein Problem - So ver¬ 
meiden Sie Datenverlust beim Computer¬ 
absturz 

Auf Seite 11 

Grafikroutinen in X-Basic. Eine Alter¬ 
native zu Apesoft-Grafik? 

Ab Seite 12 

So definieren Sie Ihren Cursor neu 
Auf Seite 20 

Inverser Zeichensatz — ganz einfach 
Auf Seite 23 

Laden von der Kassette mit Programm¬ 
name 

Auf Seite - 36 


Mensch, ärgere Dich nicht — 

Eine Beschreibung ist wohl nicht not¬ 
wendig 

AbSeite 17 

Lingua: 

Scrabble ist dagegen ein Kinderspiel 
AbSeite 21 

Kanalbau: 

Lassen Sie den TI doch mal angestrengt 
rechnen 

AbSeite 35 


Assembler leicht gemacht 

Ab Seite 52 

Das Buch zu Assembler 

Auf Seite 55 

Ein Kobold wird geboren 

Auf Seite 57 

Die Service-Coupons finden Sie auf 

den Seiten 31—34 

Börse: 

Sechs Seiten Kleinanzeigen rund um den 
TI 99/4A 

Ab Seite 58 




Grüß Gott- 
Gruezi-Guten Tag 

Den Jahreswechsel hat die ganze 
Redaktionsmannschaft kräftig zur 
Erholung genutzt, und wir hoffen, 
daß auch Sie frohe Festtage verlebt 
haben. Wir haben neuen Taten¬ 
drang gesammelt. Der ist auch not¬ 
wendig, denn jetzt gilt es, das in 
der Zwischenzeit Liegengebliebene 
aufzuarbeiten. Wir bemühen uns 
aber, die Verzögerung in der Be¬ 
antwortung Ihrer Zuschriften so 
klein wie möglich zu halten. 

Die Gerüchteküche brodelt mo¬ 
mentan ganz schön, geleitet wohl 
mehr von den Wünschen mancher 
TI-User denn von Tatsachen. 

Viele wollen den in der letzten 
TI-REVUE angesprochenen Nach¬ 
folge-Computer für den TI 99/4A 
schon in Kürze auf den Markt 
kommen sehen. Hier müssen wir 
leider nochmal zu den Tatsachen 
zurückkommen. Auch in den USA 
hat bis heute niemand ein funk¬ 
tionsfähiges Muster gesehen. Rück¬ 
sprachen mit amerikanischen Händ¬ 
lern ergaben auch eine sehr vorsich¬ 
tige Beurteilung über die Marktein¬ 
führung dieses Computers. Alle 
wollen an diese neue Maschine erst 
glauben, wenn sie ein Exemplar 
gesehen haben, so sehr sie sich auch 
eine Produktion wünschen. 

Das allein ist aber nicht ausschlag¬ 
gebend. Wichtig für uns alle, uns 
TI 99/4A-User, ist, daß es weiterhin 
neue Produkte für unseren Com¬ 
puter gibt. Und dies steht, wie man 
hierzulande sieht, gar nicht schlecht. 
Diverse noch kurz vor Weihnachten 
angekündigte Produkte sind kurz 
vor der Auslieferung und auch bei 
der Software kommen neue Pro¬ 
gramme. In den nächsten Ausgaben 
werden wir uns bemühen, mehr über 
die ganzen Neuheiten zu berichten. 
Bis dahin die besten Grüße von 
Eurem 

TI-REVUE-Team 


Nicht vergessen: Seid Ihr mit dem 
Heft zufrieden, sagt es weiter, seid 
Ihr unzufrieden, sagt es uns. 

Und: Jeden Dienstag von 15 bis 19 
Uhr stehen Ihnen unsere Lesertele¬ 
fone zur Verfügung. 

Für technische und Assembler-Fra¬ 
gen Tel.-Nr. 0731/33220 und zu 
den Listings bzw. Fragen zu den 
Abonnements und dem Kassetten¬ 
service Tel.-Nr. 089/1298013. 




UNTERSCHIEDLICHE 

32K-ERWEITERUNG 


Ich habe folgende Fragen 
zum TI 99/4A und wäre 
Ihnen dankbar, wenn Sie 
sie mir beantworten 
würden: 

-Was ist der Unterschied 
zwischen einer Centronics- 
schnittstelle und einem 
Centronicsinterface? 
Inzwischen gibt es ja von 
verschiedenen Herstellern 
32KByte-Erweiterungen, 
die sich im Preis teilwei¬ 
se deutlich unterscheiden. 
Bestehen auch Unter¬ 
schiede in der Bauweise 
oder kann ich alle gleicher¬ 
maßen für die Program¬ 
mierung in Maschinen¬ 
sprache nutzen? 

Ich habe da auch noch ei¬ 
ne Frage zur Maschinen¬ 
sprache: 

Wenn ich es richtig ver¬ 
standen habe, sind in der 
32K-Erweiterung ca. 8000 
Bytes für Maschinenpro¬ 
gramme vorgesehen. Oder 
etwa nicht, denn ich lese 
zum Beispiel immer wie¬ 
der, daß MC-Programme 
aus Gründen der Oberlän¬ 
ge nicht auf Kassette ge¬ 
liefert werden können. 

Wie ist das genau. 

Dietmar Augustin, 

Frechen 


Interface ist der englische 
Ausdruck für Schnittstelle. 
Ein Unterschied in der 
Bedeutung von Centro- 
nicsschnittstelle besteht 
also nicht. Alle uns bekann¬ 
ten 32K-Byte-Erweiterun- 
gen für den TI 9914A un¬ 
terscheiden sich in der 
Funktion bezüglich Ma- 
schinensprache nich t. 
Unterschiede zwischen 
den einzelnen Herstellern 
sind natürlich im Aufbau 
vorhanden, aber wie gesagt 
nicht in der Funktion. Es 
gibt allerdings auch batte¬ 
riegepufferte Speicherer¬ 
weiterungen, bei denen das 
Extended Basic Programm 
und auch abgelegte Ma¬ 
schinenprogramme nach 
dem Abschalten des Com¬ 
puters erhalten bleiben. 

Bei allen Speichererweite¬ 
rungen, bei denen diese 
Eigenschaft nicht ausdrück¬ 
lich erwähnt ist, ist der ge¬ 


BRIEFE 


samte Inhalt beim Aus¬ 
schalten des TI 99/4A 
verloren. Der Grund, war¬ 
um Maschinenprogramme 
bisher nur für das Mini- 
Memory auf Kassette ge¬ 
liefert werden, liegt im 
LOADER des Extended 
Basic-Moduls. Prinzipiell 
ist dies aber durch unsere 
Veröffentlichung in der 
TI-RE VUE 8/85 möglich 
geworden. 

Auch existieren bei User- 
Clubs schon einige Spei¬ 
cher- und Laderoutinen 
für Maschinensprache-Pro¬ 
gram m e auf Fassette. 


APESOFT FÜR MINI- 
MEMORY AUCH 
FÜR X-BASIC 


In einer Ihrer letzten Aus¬ 
gaben veröffentlichten 
Sie das Kurvendiskus¬ 
sionsprogramm APARAK 
5, das auf die Apesoft- 
Grafik, allerdings in Ex¬ 
tended Basic, zu rück greift. 
Ich besitze die Apesoft- 
Grafik in der Version für 
das Mini-Memory und 
Kassettenrekorder. Be¬ 
steht die Möglichkeit, die 
Kassettenversion von Ape- 
soft-Grafik für das Mini- 
Memory in Extended 
Basic in den Rechner ein¬ 
zulesen, wobei die entspre¬ 
chenden Grafik-Unterpro¬ 
gramme in dem 8KByte- 


Sektor der Speichererwei¬ 
terung abgelegt werden, so 
daß ich dann in Extended 
Basic auf die Apesoft- 
Grafik zurückgreifen kann? 
Alexander Rupp, 
Saarbrücken 

Das Mini-Memory stellt ja 
einige Hilfsroutinen zur 
Verfügung, die auch von. 
der Apesoft-Grafik genutzt 
werden. 

Wenn Sie nun die Grafik- 
Routinen in die Speicher¬ 
erweiterung laden, was 
mit einem entsprechenden 


Hilfsprogramm durchaus 
möglich wäre, finden die 
Grafik-Routinen die ent¬ 
sprechenden Hilfsprogram¬ 
me nicht mehr. Wir sehen 
deshalb keine Möglichkeit, 
die Apesoft-Routinen für 
das Mini-Memory auch 
für das Extended Basic 
zu verwenden. 


BASIC-COMPILER 


Ich besitze eine Compiler- 
Diskette Verson 1.0 von 
Peter Kuli, die Ihnen si¬ 
cher nicht unbekannt ist. 
Leider habe ich nun ein 
Programm, das “too big“ 
für eine Compilierung ist. 
Es ist textmäßig ziemlich 
lang und enthält außer¬ 
dem einige große Arrays. 
Ist es möglich, so ein 
Programm in zwei oder 
drei Abschnitte zu unter¬ 
teilen, diese getrennt zu 
compilieren und dann die 
compilierten Programme 
wieder zusammenzufügen 
und zu starten? Ein com- 
piliertes Programm, das 
zwar unter die Bezeich¬ 
nung “PROGRAM“ auf 
der Diskette gespeichert 
wird, läßt sich ja leider 
weder mit OLD laden, 
noch mit MERGE verbin¬ 
den. Ich hoffe, Sie wissen 
Rat. 

Reinhard Menthey, 

Kiel 


Die Bezeichnung 
PROGRAM im Disketten¬ 
katalog bezeichnet nur 
das Format der Speiche¬ 
rung. Es muß sich dabei 
nicht um ein Basic-Pro- 
gramm handeln. Sie kön¬ 
nen aber beim Kull-Com- 
.piler einzelne Programme 
mit dem Befehl RUN 
‘VSK1.XXX“ nacheinan¬ 
der auf rufen. Die Werte 
der Variablen müßten Sie 
dann über den Umweg ei¬ 
ner Datei auf Diskette an 
das neue Programm über¬ 
geben. Wenn dies bei 


Ihrem Programm nicht 
möglich sein sollte, da es 
sich aus mehreren Teil- 
Programmen zusammen¬ 
setzt, so sollten Sie prüfen, 
ob nicht diverse Daten 
oder Texte in einer Disk- 
Datei untergebracht wer¬ 
den können, statt in di¬ 
rekten PRINT- oder 
DA TA-An Weisungen. 

Auch so läßt sich ein Pro¬ 
gramm kürzen, und im 
allgemeinen kommt es 
beim Bildschirmaufbau ja 
nicht so stark auf Ge¬ 
schwindigkeit an, beson¬ 
ders dann, wenn anschlie¬ 
ßend auf Eingaben ge¬ 
wartet wird. 


RICHTIGER RANDAUS¬ 
GLEICH BEI 
BREITSCHRIFT 


Können Sie mir ein paar 
Fragen beantworten: 

Zum TI-W RI TER: Ich 
habe zum TI einen Epson 
FX 80+ mit paralleler 
Schnittstelle. Der Aus¬ 
druck mit dem Formatter 
funktioniert soweit wun¬ 
derbar im Normalschrift¬ 
modus, d.h., mit 80 Zei¬ 
chen je Zeile. Aber wie 
kann ich den Formatter 
veranlassen, Elite, Breit¬ 
schrift u.ä. richtig zu for¬ 
matieren. Bei mir war es 
bisher immer so, daß völ¬ 
lig merkwürdige linke 
und rechte Ränder her- 
auskamen. Zum Teil 
schreibt er über den Rand 
hinausgehende Buchsta¬ 
ben wieder in dieselbe 
Zeile darüber. Muß ich 
hier die Umkodierfunk¬ 
tion benutzen oder kann 
ich direkt eingeben? 
Können Sie mir die rich¬ 
tigen Werte für die Rand¬ 
einstellung sagen? 

Im Heft 8/85 steht das 
Programm Aparak 5, was 
mich sehr interessiert. 
Diese Lösung suche ich 
schon lange. Im Begleit¬ 
text steht, das Programm 
wäre lauf fähig mit ExB 
II plus. Ich habe eine 
Diskette ExB II von Peter 
Kuli. Ist dies gemeint? 
Was muß evtl, geändert 
werden? 

Gebhard Oerter, 

Mainz 


LESERBRIEFE UND FRAGEN SIND UNS STETS 
WILLKOMMEN. WIR BEANTWORTEN SIE ENTWEDER 
DIREKT ODER AUF DER LESERBRIEFSEITE 


4 




BRIEFE 


Der Formatter des TI- 
Writer geht bei allem von 
den eingestellten Rand¬ 
werten aus. Eine andere 
Schriftbreite etwa kann 
er anhand der Steuerzei¬ 
chen nicht erkennen, so 
vornehm ist er eben nun 
auch nicht. Also müssen 
Sie die Randeinstellung 
selber vorher entspre¬ 
chend umstellen. Für das 
eben genannte Beispiel 
ergibt sich bei Breit- 
schrift (genau doppelte 
Breite) dann .LR 5; RR 
35;FL. Etwas Rechenar¬ 
beit bleibt Ihnen dabei lei¬ 
der nicht erspart. Der 
Formatter geht immer 0 
auf der linken Seite. 

Im genannten Beispiel gibt 
er mit LR 10 erst einmal 
10 Leerstellen an den 
Drucker aus. Nach Um- 
Schaltung auf Breitschrift 
sind es mit der neuen 
linken Einstellung .LR 5 
nur 5 Leerstellen. Der 
Drucker arbeitet jetzt 
aber mit doppelter Breite, 
fängt also an der gleichen 
Stelle wie vorher mit 
dem Druck an. 

Das Programm Aparak 5 
benötigt die Apesoft- 
Grafik-Routinen oder 
das Modul Extended 
Basic II plus von Mecha- 
tronic. Dies ist nicht mit 
dem ExB II von Peter 
Kuli funktionsgleich. Eine 
Änderung des Programms 
Aparak 5 auf das ExB II 
von Peter Kuli ist nur be¬ 
dingt und mit sehr großen 
Änderungen möglich. Uns 
ist aber noch niemand 
bekannt, der das Pro¬ 
gramm umgeschrieben hat. 


CALL FILES 


Nach dem Kauf einer 
Peripheriebox mit Disket¬ 
tenlaufwerk und 32K- 
Erweiterung tauchen eini¬ 
ge Probleme auf, die ich 
gerne von Ihnen beant¬ 
wortet hätte. 

Verschiedene Programme 
mit über 11 KByte ließen 
sich nach Anschluß der 
Box vom Kassettenrekor¬ 
der nicht laden. Die Feh¬ 
lermeldung ERROR 
DETECTED IN DATA 
kam bereits nach dem Ein¬ 
lesen des Vorspannsignals. 


Nach Eingabe von CALL 
FILES(1) und NEW lie¬ 
ßen sich die Programme 
einiesen. Welche Funktion 
haben die beiden Befehle, 
wird die K-Zahl des Pro¬ 
gramms bereits im Vor¬ 
spann abgespeichert und 
abgefragt? 

Programme, die den 
Befehl !P- 
P- 
P- 
P- 

beinhalten lassen sich zwar 
laden, nach RUN erscheint 
jedoch eine Fehlermel¬ 
dung “SUBPROGRAM 
NOT FOUND IN...“. 

Nach Löschen dieser Zei¬ 
len läuft das Programm 
auch mit Box einwandfrei. 
Welche Funktion haben 
diese Rem-Befehle in Ex¬ 
tended Basic-Programmen 


und warum laufen sie 
nach der Löschung? 
Können Original-TI-Mo- 
dule die 32KByte-ErWei¬ 
terung nicht nutzen? 

Mit dem Modul Datenver¬ 
waltung und Analyse kön¬ 
nen weniger Sätze bei an- 
geschlossener Speicherer¬ 
weiterung eingelesen wer¬ 
den, als mit Konsole und 
Kassettenrekorder. 

Rolf Schwalbe, 
Oer-Erkenschwick 


CALL FILES legt die An¬ 
zahl der Dateien fest, die 
gleichzeitig auf dem Dis¬ 
kettensystem offen sein 
dürfen. Für jede dieser 
Dateien und auch zur 
Speicherung bestimmter 
Werte des Diskettensy¬ 
stems reserviert sich der 
Disk-Controller einen ge¬ 
wissen Platz im VDP- 
RAM. CALL FILES(l) be¬ 
grenzt die Anzahl der of¬ 
fenen Dateien auf 1, da¬ 
mit benötigt der Disk- 
Controller also auch den 
geringsten Speicherplatz. 
Das anschließende NEW 
sorgt nur dafür, daß das 
Basic (Extended Basic) 
die Änderung auch er¬ 
kennt und alle wichtigen 
Zeiger daraufhin ändert. 
Die Länge einer Kasset¬ 
tenaufzeichnung ist direkt 


nach dem Vorspann auf 
der Kassette aufgezeich¬ 
net. Ist das zu ladende 
Programm für den VDP- 
RAM zur Verfügung ste¬ 
henden Platz zu lang, 
wird direkt nach dem Le¬ 
sen der Ladevorgang mit 
der Fehlermeldung 
ERROR DETECTED IN 
DA TA abgebrochen. 

Der Befehl !<®P— schaltet 
das Befehl !<®P— 

Befehl !^P— 


Ab tasten des Programms 
vor dem eigentlichen Start 
ab. Damit kann die Dau¬ 
er, bis das Programm läuft, 
verkürzt werden. 

Während des Abtastern 
werden aber diverse Listen 
gebildet, so auch eine 
Liste für alle verwendeten 
Subprogramme. 

Werden diese nicht minde¬ 
stens einmal abgetastet, 
so befinden sich in der 
Liste dann kein Eintrag, 
und es kommt zu der ent¬ 
sprechenden Fehlermel¬ 
dung. Durch einen Fehler 
im Extended Basic kommt 
es aber, wenn keine Spei¬ 
chererweiterung ange¬ 
schlossen ist, zu keiner 
Fehlfunktion. 

Auch von den Original- 
TI-Modulen können nur 
einige auf die Speicherer¬ 
weiterung zurückgreifen. 
Dies ist dann jeweils be¬ 
sonders angegeben, wie 
z.B. beim Extended Basic, 
TI-WR1TER, Mini-Me¬ 
mory usw. Daß Sie beim 
Modul Dateiverwaltung 
und A nalyse weniger Da¬ 
tensätze einiesen können, 
liegt nicht an der Spei¬ 
chererweiterung, sondern 
an dem Platz, den der 
Disk-Controller im 
VDP-RAM benötigt. 


PINBELEGUNG 

I/O-PORT 


Nachdem ich Heft 9/85 
gelesen habe, bin ich 
gleich zu meinem Elek¬ 
tronik-Dealer gefahren 
und habe mir die nötigen 
Bauteile für die Speicher¬ 
erweiterung besorgt. 

1. Problem: Wie bekom¬ 
me ich das Layout auf 
meine Platine? 

Da auch die Rückseite be¬ 
druckt war, kam ein 
Durchbelichten nicht in 
Frage, also Fotokopie. 
Aufgrund des schlechten 
Kontrastverhältnisses der 
Belichtungsmaske ist lei¬ 
der auch die'Platine dürf¬ 
tig ausgefallen. Die Leiter¬ 
bahnen zwischen IC 5 
sind völlig weggeätzt. Al¬ 
so mein Tip: Die Rück¬ 
seite eines Platinenlay¬ 
outs nicht bedrucken. 

2. Problem: Ihr habt zwar 

in Heft 3/85 die Pinbele- _^ 
gung am I/O-Port abge- MW 


ACHTUNG DATENSCHUTZ! 

Immer wieder fragen Leser nach den 
Adressen unserer Autoren. Wir wei¬ 
sen ausdrücklich darauf hin, daß bei 
uns Datenschutz sehr ernst genom¬ 
men wird und bereits bei der Adresse 
der Autoren oder Leserbriefschreiber 
beginnt. Wir geben daher telefonisch 
darüber keine Auskunft! Haben Sie 
an einen Mitarbeiter eine Frage, sen¬ 
den Sie uns diese bitte schriftlich — 
notfalls in einem verschlossenen 
Umschlag. Wir leiten Ihre Frage 
dann weiter, das Porto zahlen wir! 
Wenn dann der Angeschriebene sich 
mit dem Frager in Verbindung setzt, 
o.k. Einverstanden? 


5 




SERVICE 


druckt, doch wo ist Pin 1? 
Oben oder unten? Nach¬ 
dem ich mir die Pinbele¬ 
gung im Speech-Synthi 
angeschaut hatte und die 
fehlenden Leiterbahnen 
durch Kabel ersetzt hatte, 
kam der große Augen¬ 
blick - und - nichts! 
Warum? Ich hatte die Pla¬ 
tine an den Speech Syn- 
thi angesteckt und mu߬ 
te feststellen, daß Pin 1, 
2,43 und 44 nicht durch¬ 
geschleift sind. Da mit 
Pin 1 auch die SV Betriebs¬ 
spannung fehlen, konnte 
der 1. Versuch nicht glük- 
ken. Nachdem ich mit ei¬ 
nem Kabel Pin 1 durch¬ 
geschleift hatte, arbeitete 
die Schaltung einwandfrei. 
Warum aber fehlen am 
Ausgang des Speech 
Synthi die 4 Pins? 
Produktionsfehler oder 
Gemeinheit? 

Kay Sievert, 

Norderstedt 

Beider Veröffentlichung 
von Selbstbau-Anleitun¬ 
gen bemühen wir uns na¬ 
türlich, möglichst voll¬ 
ständig zu sein. Dennoch 
ist die TI-REVUE keine 
Zeitschrift für Elektronik- 
Bastler, sondern wir wol¬ 
len im wesentlichen An¬ 
regungen geben, was alles 
gemacht werden kann. 

So würde ein Freihalten 
der Rückseite von Plati¬ 
nenlayouts wohl doch von 
den Lesern, die an den 
Selbstbauvorschlägen nicht 
interessiert sind, als unnö¬ 
tige Platzverschwendung 
betrachtet. Die Pin-Anord¬ 
nung wurde in der TI- 
REVUE 3/85 leider ver¬ 
gessen. Pin 1 ist unten 
links, wenn Sie auf den 
Stecker schauen, Pin 2 dar¬ 
über, Pin 3 rechts neben 
Pin 1 und Pin 4 über Pin 
3 bzw. rechts neben Pin 2 
usw. Die beim Speech- 
Synthesizer nicht durch¬ 
geführten Leitungen sind 
nur für diesen vorgesehen, 
auch die 5 V- Versorgungs¬ 
leitung. Eigentlich dürf¬ 
ten keine zusätzlichen 
Verbraucher mehr ange¬ 
schlossen werden. 
Üblicherweise kann aber 
eine statische Ram-Erwei- 
terung noch betrieben 
werden. 


CLUBS ONLY 


Hallo Tl-User Clubs! 

In einer der letzten Aus¬ 
gaben veröffentlichten wir 
die Anregung, auch ein¬ 
mal Erfahrungsberichte 
von Clubgründern bzw. 
Berichte aus dem Leben 
von User-Clubs zu veröf¬ 
fentlichen. Diesen Hin¬ 
weis wollen wir heute auf¬ 
greifen und einen Erlebnis- 
Bericht von der Gründung 
eines Clubs veröffentli¬ 
chen. Geschrieben hat 
diesen, wie kann es an¬ 
ders sein, der Tl-Work- 
shop Rheinland. Da er 
etwas lang ausgefallen ist, 
müssen wir heute auf die 
normalen Clubnachrichten 
verzichten. Diese folgen 
dann das nächste Mal, 
die betroffenen Clubs, die 
jetzt auf ihre Veröffent¬ 
lichung warten, mögen 
uns verzeihen. Nun aber 
zur Entwicklungsgeschich¬ 
te des TI 99er Workshops 
Rheinland: 


Erfahrungsbericht eines 
Clubgründers 


Wie an dieser Stelle 
schon des öfteren berich¬ 
tet wurde, besteht seit 
März ’85 der TI 99er 
Workshop Rheinland. 

Wie wohl allen Clubgrün¬ 
dungen ging auch hier 
das Gefühl des Alleinge¬ 
lassenseins mit dem TI 99/ 
4A voraus. Denn mit der 
Zeit verabschiedeten sich 
immer mehr Hersteller 
und auch Computerzeit¬ 
schriften von unserem 
Oldie (but Goldie). 

Was also tun? Nun, als 
erstes mal die Zeitschriften 
durchforstet, ob es hier 
im Rheinland nicht viel¬ 
leicht einen Club oder so 
etwas ähnliches gibt. Gibt 
es nicht! Nächster Schritt: 
In einem Blatt, das kosten¬ 
lose Anzeigen veröffent¬ 
licht, eine Kontaktanzeige 
eingebracht. Und siehe da, 
es melden sich zwei Leute. 
So weit so gut. Der Kon¬ 
takt beschränkt sich in 
der ersten Zeit auf den 


Austausch von Program¬ 
men und das Ausdrucken 
von Listings o.ä. 
Zwischendurch ist hier 
Karneval, man verliert sich 
fast wieder aus den Augen 
bzw. Ohren, denn gesehen 
hat man sich noch nicht. 
Durch eine Zufallsbegeg¬ 
nung sowie eine Anzeige 
in der TI-REVUE erwei¬ 
tert sich der Kreis auf nun¬ 
mehr fünf Leute. Eines 
Tages ist es dann so weit, 
die bisherigen Telefonbe¬ 
kanntschaften treffen sich 
zum ersten Mal. Abseiti¬ 
ges Abtasten, aber dann 
kommt man sehr schnell 
zur Sache, d.h. auf den TL 
Tips und Tricks werden 
ausprobiert, die Zeit ver¬ 
geht wie im Flug. Schnell 
noch den nächsten Termin 
vereinbart, dann ist der 
Spuk vorbei. Am nächsten 
Tag fragt mich der Haus- . 
meister, ob denn bei mir 
ein Treffen der Mafia 
stattgefunden habe, we- . 
gen der vielen Leute mit 
Aktenkoffem in der Hand. 
In der Zeit bis zum näch¬ 
sten Treffen wird der Ge¬ 
danke geboren, einen 
Club zu gründen. Außer¬ 
dem werden weitere Kon¬ 
takte geknüpft und das 
nächste Treffen naht. 

Und da geht’s dann los. 
Zusammenarbeit, unbe-, 
dingt ja, aber Club, mit 
Präsident, Kassenwart, 
Schriftführer und Beitrag, 
nein Danke. 

Vereinsmeierei ist fast al¬ 
len ein Greuel. Aber wie 
dann. Der Name Work¬ 
shop fällt. Und auf ein¬ 
mal ist die Organisations¬ 
form gefunden. Eine freie 
Computerinitiative wird 
ins Leben gerufen, auf 
rein freiwilliger Basis. 

Erste Ziele werden ge¬ 
steckt. Als erstes muß je¬ 
mand her, der Kontakte 
herstellt, mit Zeitschrif¬ 
ten, aber auch als Anlauf¬ 
adresse für andere inter¬ 
essierte Tl-User. Mit der 
Zeit stellt sich heraus, daß 
einige User auch noch 
andere gemeinsame Inter¬ 


essen teilen, und die Mit¬ 
gliederzahl wächst. 

Auch dabei leisten die 
Artikel in der TI-REVUE 
wertvolle Hilfe. 

Bei den nächsten Treffen 
steigt die Zahl der Inter¬ 
essenten immer weiter an, 
ebenso wie die Userliste, 
die bei jedem Treffen er¬ 
neuert wird. Um die Sa¬ 
che nicht übermäßig auf¬ 
zublähen, wird folgender 
Weg eingeschlagen: Wer 
als User auf einem Tref¬ 
fen erscheint, wird ohne 
Verpflichtungen in die 
Userliste aufgenommen, 
wer danach zweimal hin¬ 
tereinander nicht er¬ 
scheint, wird wieder ge¬ 
strichen. Kommt der Be¬ 
treffende dann irgend¬ 
wann mal wieder, wieder¬ 
holt sich die Prozedur. 

So ist gewährleistet, daß 
sich die Liste immer auf 
dem neuesten Stand be¬ 
findet. Dann gibt es aber 
doch ein großes Problem: 
Dem Kontaktmann wach¬ 
sen die Kosten langsam 
über das Portemonnaie 
hinaus. Also muß eine 
Form der Finanzierung 
gefunden werden. Nach 
langen Debatten einigt 
man sich. Es wird eine 
Portokasse geschaffen, die. 
bei jedem Treffen auf der 
Theke oder dem Tisch 
steht. In diese Kasse wirft 
dann jeder nach seinen 
Möglichkeiten einen mehr 
oder weniger hohen Be¬ 
trag. Aus diesen Spenden 
werden dann die laufen¬ 
den Kosten gedeckt. 

Durch das Anwachsen 
der User-Liste ist der 
Workshop nun auch in 
der Lage, mit verschiede¬ 
nen Anbietern von Hard- 
und Software besondere 
Liefer- und Zahlungsbe¬ 
dingungen auszuhandeln. 
Es ist erstaunlich, wie zu¬ 
vorkommend man auf ein¬ 
mal behandelt wird, wenn 
die Kaufkraft von ca. 20 
Leuten gemeinsam auf- 
tritt. Das soll natürlich 
nicht heißen, daß man als 
Einzelkunde nicht auch 


6 




I 

m 

CE 


freundlich bedient und 
beliefert wird, aber durch 
Großeinkäufe lassen sich 
auch Preisnachlässe aus¬ 
handeln. Mittlerweile sind 
auch sehr gute Kontakte 
in die USA geknüpft wor¬ 
den. Dort ist man sehr er¬ 
freut aber auch erstaunt, 
daß es in Good old Ger- 
many so viele Aktivitäten 
mit dem TI gibt. Die 
User in den USA halten 
sich nämlich ein wenig 
für den Nabel der Tl-Welt, 
sind aber im großen und 
ganzen sehr freundlich. 
Und mit diesen Aktivitä¬ 
ten sind unsere Möglich¬ 
keiten noch lange nicht 
ausgeschöpft. Es sind 
Hardware-Erweiterungen 
in Arbeit, und auch auf 
dem Software-Sektor tut 
sich so einiges. Aber 
davon an anderer Stelle 
mehr. 

Abschließend läßt sich 
sagen, keiner von uns hat 
den Schritt bereut, sich 
unserer Initiative anzu¬ 
schließen. zumal das kei¬ 
nerlei Verpflichtungen 
mit sich bringt. Wer keine 
Lust mehr hat, bleibt ein¬ 
fach zuhause, und damit 
hat es sich. Wir sind da¬ 
von überzeugt, daß es für 
unseren User-Kreis auch 
keine andere Organisa¬ 
tionsform geben kann, 
dafür sind wir zu sehr 
Individualisten. Aber für 
welche Form Ihr Euch 
auch entscheidet, die 
Hauptsache ist es, ein 
Ziel vor Augen zu haben, 
denn ohne ein Ziel zu 
haben, verspüren die we¬ 
nigsten überhaupt Lust, 
an den Start zu gehen. 

Für weitere Auskünfte 
über den TI 99er Work¬ 
shop Rheinland stehe ich 
gerne zur Verfügung, sei 
es schriftlich oder tele¬ 
fonisch. 

Deshalb zum wiederhol¬ 
ten Mal die Kontakt¬ 
adresse für allgemeine 
Auskünfte: 

TI 99er Workshop 
Rheinland 
Dept. Allgemein 
&: Software 
c/o Mike Heuser 
Karl-Marx-Allee 18 
5000 Köln 71 
Tel.: 0221/703979 


Für „Umsteiger!“ 





REVUE 

DAS MAGAZIN 
FÜR FREUNDE 
DER KOMPATIBLEN 

3 .'’••• • J, / - 

DM 5,80/ÖS 49/SFR 5,80 


" TEST: 


REVUE.S 


CP/M beim 
Commodore 
128: Was 


kann dieses 
Betriebs¬ 
system? 

Im Test: 



Roos- 

Interface 

SM-Kit- 



Philips 8020 
Spectravideo 728 
Sony 

Creative Graphics 

Yashica 64 

Philips Printer 0020 

Ackobase 

Ackotext 

Sony Plotter C 41 

Quickdisk QDM/01 


das Basic, LISTINGS: 

das dem 64er T« 32 seiten 


noch fehlt. 

Lautsprecher 
im VC 20 

Btx-Decoder 
für den C 64 




MSX-Programme 

MÄRKTÜBER- 

SICHT: 

|Das komplette 
MSX-Software- 


Angebot! 

Alle Fachbücher! 


7 




































Achtung! 

Das große 
TI-Assembler 
Sonderheft 
Nur im 

Bahnhofsbuchhandel 
oder beim Verlag! 


DANKE! 


...für den Kauf von 
Wohlfahrtsbriefmarken, 
Ihrem Porto 
Herz & Verstand. JlSrsr 


Arbeiterwohlfahrt 


Deutscher Paritätischer 
Wohlfahrtsverband 


HS 


Diatonisches Werk 
derEKD 


Deutscher Caritasverband 


Deutsches Rotes Kreuz 


Zentralwohlfahrtsstelle 
der Juden in Deutschland 


Die nächste 
TI REVUE 
am 28.2.1986 


TI99/4A 

PHERIPHERIE 

Discontroller (Orig. TI) 399,— 

RS 232 Karte (Orig. TI) 399 — 

RS 232 Karte (Atronic) 359,— 

P-Code-Karte (Orig. TI) 749,— 

32 K-Karte (Atronic) 379,— 

Discontroller DSDD 
(Atronic) 489,— 

Discontroller DSDD 
(Corcomp) 629,— 

Compact Peripherie System 
CPS 99 mit 1 Diskettenlaufwerk 
DSDD + 10 Disketten 1598,— 
Diskettenlaufwerk intern DSDD 
(Epson) mit Einbausatz 429,— 
Externe 256 K-Erweiterung 589,— 
Externe 32 K-Erweiterung 239,— 
dto. + l Centronicsschnittst. 289,— 
Externe 32 K-Erweiterung + 
Centronicsschnittstelle + Kabel 
+ Epsondrucker LX 80 1259,— 

dto. + Epsondrucker FX 85 1759,— 
dto. + Stardrucker SG 10 1279,— 
Sprachsynthesizer 189,— 

Modulexpander 3fach 125,— 
RGB-Modulator 179,— 

Akustikkoppler Dataphon S 21 d 
+ externe V-24-Schnittstelle 
+ Verbindungskabel 559,— 

Tl-Maus anschlußfertig 295,— 
Joystickinterface + 2 Joysticks 
Quickshot II 89,— 

Cassettenrecorderkabel 29,— 

MBX-Sprachsteuereinheit + 
Baseballmodul anschlu߬ 
fertig 349,— 

Grafiktablett Supersketch + 

Dig Dug + Defender + 

Statistik 199.— 

BÜCHER 

Editor/Assembler Handbuch 
dt. 98- 

Tl-Basic & Extended Basic 

dt. 48- 

Mini Memory Spezial dt. 55,— 

TMS 9900 Assemblerhandbuch 
für das Mini Memory dt. 78,— 

TI-99/4 A Intern dt. 38,— 

MODULSOFTWARE • 

Extended Basic 

(dt. Nachbau) 199,— 

Extended Basic II Plus 289,— 

Mini Memory + Assemblerhand-, 
buch Mini Memory dt. 269,— 

Editor/Assembler (32 K _.*. 

notw.) 179,— 


Tl-Writer (32 K notw.) 299,— 

Tl-Logo II (32 K notw.) 299,— 
Miltiplan (32 K notw.) 259,— 

Diskfixer (Navarone) 149,— 

Terminal Emulator II 85,— 

Connect four, Yahtzee, Attack je 
Alpiner, Car Wars, Chisholm 
Trail, Othello, Invaders, Munch 
Man je 39,— 

Blackjack, Fathom, Hopper, Dig 
Dug, Defender, Soccer, Parsec 

je 49,— 

Burgertime, Congo Bongo, Espial, 
Moonsweeper, Treasure Island, 
Microsurgeon, Bigfoot, 

Statistik je 59,— 

Star Trek, Tunnels of doom, 

Touch Typing Tutor je 69,— 
Buck Rogers, Return-to Pirat's 
Isle, Adventuremodul, Video 
Chess je 75,— 

Datenverwaltung + Analyse 79,— 
Popeye, Jungle Hunt, Moon 
Patrol, Ms. Pacman, Pole Position, 
Donkey Kong, Protector II, 

Shamus je 89,— 

Video Chess + Defender + 

Dig Dug nur 129,— 

Alpiner + Munch Man + Micro- • 
surgeon nur 119,— 

DISKETTEN-UND 
CASSETTENSOFTWARE 

Superbasic, Exbasic II + Painter, 
Extended Basic Compiler, 
Graphicmaster, 3D-World, Forth, 
Apesoft-Programme, Flug¬ 
simulation, Skat, „Der schwarze 

Kristall. J : A. 

CPS99 m. 1 Laufw. 1698,— 
Fun Pac 1, 2, 3 je 18,— 

ExBasic deutsch 235,— 

ExBasic 11 plus 310,— 

Terminal-Emulator II 135,— 
TE-II Handbuch deutsch 18,— 
Text-Sprachausgabe deutsch 
mit Diskette 49,— 

Robopods 18,— 

Akustikkoppler Sonic 3cl 198,— 
UCSD Pascal komplett 998,— 
Tl-Writer deutsch 320,— 

Konsole TI 99/4A 345,— 

Modul Expander 3-fach 135,— 
32 KB-Centr. ext. 369,— 

Assemblerkurs ASEM-4 98,— 
Disketten 10 Stück. DD 29,— 
Wendedisketten 10 Stück. 

1 DS DD 38,— 

| Editor Assembler 189,— 

ASM-Handbuch deutsch 98,— 
TI 99/4A intern 38,— 

Freddy Disk 59,— 

: Mat'ix-Drucker Citizen 
120 D 998,— 

LOGO II 320,— 


CSV RIEGERT 

Schloßhofstr. 5,7324 Rechberghausen, Tel. (07161) 52889 


IMMER NEU UND AKTUELL FÜR TI 99/4A 


EXTENDED-BASIC (Mechatronic) ,o QQ n 

mit deutschem Handbuch 90 

EXTENDED-BASIC II PLUS mit deutschem Handbuch 299.— 

= Extended-Basic + Grafik Extended-Basic (Apesoft) in 1 Modul 

Umtauschaktion 

Bei Bestellung eines EXTENDED-BASIC II PLUS vergüten wir Ihnen DM 70.— 
bei kostenfreier Zusendung eines original amerikanischen Extended-Basic- 
Moduls (elektrisch/mechanisch einwandfreier Zustand!!) 

Sie zahlen nur noch 229.— 

Umbauaktion (gilt nur für deutschen Lizenznachbau „Mechatronic"). Wir ma¬ 
chen aus Ihrem EXTENDED-BASIC ein EXTENDED-BASIC II PLUS mit deut¬ 
schem Handbuch für nur 98.— 

32-k-RAM-ERWEITERUNG mit Centronic-Interface. Kunststoffgehäuse 190 
x 110 x 60 mm zum seitlichen Anstecken an den Bus, der Bus wird nach 
rechts durchgeschleift, mit 5-V-Steckernetzteil 289.50* 

Unser Paketpreis-Angebot 

EXTENDED-BASIC II PLUS + 32-k-RAM-ERWEITERUNG. ohne 
Centronic-Interface für nur 499.50* 

128 ' k ‘ RAM ‘ ERWEITERUNG ' mit Centronic-Interface und 
NEU! 5-V-Steckernetzteil 499,50 

Dl« Weitneuheit: 128 kB —GRAM Preis ca. 745,— 

Lieferbar etwa Janur 1986 

Preise in DM/Stück inkl. MwSt. • Technische Änderungen Vorbehalten 
Versand gegen Nachnahme oder Vorauskasse. 


SEHR 

NEU 


4-FARBEN-PRINTER-PLOTTER PP-A 4, Centronic-Schnittstelle, 
DlN-A 4-Format, Direktanschluß an 32-k- oder 128-k-RAM-Er- 
weiterung 699.— 

ANSCHLUSSKABEL 

von 32-k- oder 128-k-RAM an PP-A 4 68.— 

SLIM-LINE-LAUFWERK 5.25", 500-k-Byte-DS/DD 
(z. B.TEACFT55B) 399,90 — 

EINBAUSATZ für 2 Laufwerke in original Tl-P-Box 95.— 

DISC-STEUERKARTE (CorComp), DS/DD, für max. 

4 Laufwerke 635.— 

QUICK-DISC-FLOPPY (im Gehäuse), zum Direktanschluß an die 
Konsole, keine Steuerkarte erforderlich, 128-k-Byte-DS, für 
2.8"-Disketten, mit 5-V-Steckernetzteil. identisch mit der bekann¬ 
ten MSX-Version 598.— 

DISKETTEN 2.8". lOer-Pack 95.— 

TI-MAUS — die schnelle und komfortable Cursorsteuerung mit 
Software auf 5,25“-Diskette, mit 5-V-Steckernetzteil 296.— 

EPROMMER — zürn ßrennen von EPromms bis 
27128, alle Funktionen Software gesteuert, 

Programm auf 5 1/4 Zoll Diskette mit 

Steckernetzteil 278,90 


TI 99/4A Intern von Heiner Martin 

(englische Ausgabe) 34,9£ 

albs-Alltronic G. Schmidt - Postfach 1130 • 7136 Otisheim 
Tel. 0 70 41 / 27 47 • Telex 7 263 738 albs 







TIPS & TRICKS 


Drucker* 

F ormatierung 
leicht 

gemacht 



Drucker ohne Geheimnisse 


Haben Sie sich auch 
schon oft über die vielen 
CHR$ geärgert, die zur 
Formatierung des Druk- 
kers manchmal notwendig 
sind und leicht zu 
SYNTAX ERROR IN 
XXXX führen? 

Der TI bietet ungeahnte 
und undokumentierte 
Möglichkeiten! 

Was bei meinem EPSON 
RX80 möglich ist, muß 
auch bei anderen Druk- 
kern funktionieren. Ma- . 
chen Sie es sich mit der 
CTRL-Taste einfacher!!! 
Probieren Sie: ‘PRINT 
#1. CTRL, “Der Drucker 
piepst jetzt“ \ 

Die beiden Tasten CTRL 
und G müssen gleichzeitig 
gedrückt werden. Auf 
dem Bildschirm sieht man 
nur eine Leerstelle. Das 
geht doch schneller als 
‘PRINT #1:CHR$(7)“ 

Der Drucker piepst jetzt 4 “. 
Die mit CTRL eingegebe¬ 
nen Steuerzeichen müssen 
in “ “ stehen, da sonst der 
TI UNRECOGNIZED 
CHARACTER schreit. Der 
zu druckende Text kann 
unmittelbar folgen. Nun 
die wichtigsten Steuer¬ 
zeichen: 


CH R$(8)=CTR LH= 
Rückwärtsschritt f. 1. 
Zeichen 

CHR$(9)=CTRLI= 
Horizontaltabulator 
CHR$(10)=CTRLJ= 
Zeilenvorschub 
CHR$(11)+CTRLK 
JVfcrtikaltabulator 
CHR$(12)=CTRLL 
Seitenvorschub 
CHR$(13)=CTRL'M 
Wagenrücklauf 
CHR$(14)=CTRLN 
gedehnte Schrift 
f. 1. Zeile 

CHR$(15)=CTRLO . 
Schmalschrift 

CHR$(18)=CTRLR= 
Schmalschrift löschen 
CHR$(20)=CTRLT= 
gedehnte Schrift löschen 
CHR$(27)=CTRL.= 

ESC 

CH R$(27);CH R$( 14) 
=CTRL.CTRLN= 
Breitschrift f. 1 Zeile 
CH R$(27);CH R$( 15): 
=CTRL.CTRLO= 
Schmalschrift f. 1 Zeile 

Nun wird es noch inter¬ 
essanter: 

CHR$(27);“-“;CHR$(n) 
=CTRL.-1 bzw. 


CTRL.-0= Unterstrei¬ 
chung ein- bzw. ausschal¬ 
ten. Wichtig: -1 bzw. -0 
ohne CTRL eingeben — 
daher auf dem Bildschirm 
sichtbar. 

Ebenso wird mit CHR$ 
(27);“0“;1,2,3,4,5,8,9, 
<,§ verfahren. 

CHR$(27);“A“;CHR$(n) 
- CTRL.An — wobei n die 
Taste mit dem entspre¬ 
chenden ASCII-Code ist, 
z.B. CTRLA=1,4=52. 
Wenn Sie keine Lust zum 
Nachsehen haben, können 
Sie auch “CTRL.A“; 
CHR$(n);“Text...“ einge¬ 
ben. 

Genauso verhält es sich 
bei CHR$(27);“C“;CHR$ 
(n) =CTRL.Cn. 

Anders bei CHR$(27): 
“C“;CHR$(0);CHR$(n) 

= CTRL.C“;CHR$(0); 
CHR$(n); “ “. 

Hier müssen leider die letz¬ 
ten beiden Strings einge¬ 
geben werden. 
CHR$(27);“E“;,F,G,H 
=CTRL.E bzw. F,G,H. 
CHR$(27);“J“;CHR$(n); 
=CTRL.J“;CHR$(n); 

Nun nochmal alles schön 
übersichtlich - wobei 
der immer mit CTRL 
eingegeben werden muß. 
Ich gehe davon aus, daß 
vor dem Punkt irgendwo 
ein “ steht: 

.-1 

Unterstreichung ein¬ 
schalten 
.-0 

Unterstreichung aus¬ 
schalten 
.0 

1/8" Zeilenabstand 
.1 

7/72" Zeilenabstand 
.2 

1/6" Zeilenabstand 
.3“;CHR$(n);“Text“ 
n/216" Zeilenabstand 
.4 

Kursivschrift 

.5 

zurück zur Normalschrift 
.8 

Papierenderekennung aus 

Papierenderkennung ein 

1 Zeile unidirektional 
•§ 

Drucker normieren 
.An 

n/72" Zeilenabstand 
.Cn 


Formularlänge in Zeilen 
setzen 

.C“;CHR$(0);CHR$(n) 
Formularlänge in n Zoll 
setzen 
.E 

Fettdruck 

.F 

Fettdruck löschen 
.G 

Doppeldruck 

.H 

Doppeldruck löschen 
.J“;CHR$(n); 

Papiervorschub um n/216" 
.M 

Schönschrift 

.Nn 

Überspringen der 
Perforation 

,o 

Überspringen der Perfo¬ 
ration löschen 
.P 

Normalschrift 
.Q“;CHR$(n)“....“ 
rechten Rand setzen 
.Rn 

Auswahl internat. Zeichen¬ 
satz (n=z.B. CTRLA bis 
CTRLJ 
.Sl 

Indizierung 

.SO 

Potenzierung 

.T 

Löschen Sl bzw. SO 
.UO 

bidirektionaler Druck 

.Ul 

unidirektionaler Druck 
.W1 

gedehnte Schrift 
.WO 

gedehnte Schrift aus 
■eO“;CHR$(n);“....“ 
Horizontaltabulator 
setzen 

-el“;CHR$(n);“....“ 

Vertikaltabulator 

setzen 

.fO“;CHR$(n);“....“ 
horizontaler Vorschub 
•fl“;CHR$(n);“....“ 
vertikaler Vorschub 
.l“;CHR$(n);“....“ 
linken Rand setzen 
.m“;CHR$(n);“....“ 
Sonderzeichen wählen 
.sl 

Druck mit halber 

Geschwindigkeit 

.s0 

Druck mit normaler 
Geschwindigkeit 


Frohes'Drucken wünscht 
Ihnen 

/. Imkcmeyer 



TIPS & TRICKS 


Kaum jemand zweifelt an 
der Prophezeihung von 
Prof. Seymour Papert, 
daß man die Kinder schon 
ab 4 Jahren an eine ver¬ 
nünftige Beschäftigung 
mit dem Computer mit¬ 
tels LOGO heranführen 
könnte. Aber welches 
Kind spricht schon in die¬ 
sem Alter englisch? 

Und wenn es diese Spra¬ 
che dann schließlich in 
der Schule lernt, ist der 
LOGO-Zug mit Sicherheit 
schon lange abgefahren. 
Also nur noch Frust? 
Spätestens, als ich den Ent¬ 
wurf für die Anleitung für 
LOGO 111 (!) in den Hän¬ 
den hielt, erwachte mein 
Interesse erneut. Auch 
wenn LOGO III (deutsche 
Version für den TI 99/4A) 
nicht mehr auf dem 
Markt erschien, versuchte 
ich alles, dem Igel in 
LOGO II - der eigentlich 
Schildkröte heißen mußte 
- deutsche „Grundwor- 
ter“ zu lehren. Die globale 
Übersetzungsformel, von 

•THING? 


Harald Abelson publiziert, 
scheitferte an einem einzi¬ 
gen Grundwort, nämlich 
THING? , was soviel 
(nicht zu verwechseln mit 
THING ohne Fragezei¬ 
chen) wie WERT? bedeu¬ 
tet und in TI-LOGO II lei¬ 
der nicht vorhanden ist. 

Es hat lange gedauert, bis 
ich mich von dieser 
THING?-Formel löste. 
Dann war es nur noch ei¬ 
ne Frage der Zeit, bis 
mein Igel deutsche 
„Grundwörter“ verstand. 
Meine Lösung ist verblüf¬ 
fend einfach, denn das 
Zauberwort heißt 
DEFINE. In der engli¬ 
schen Anleitung heißt es 
nämlich zur Erklärung 
von DEFINE: 

DEFINE “procedure 
name [list] 

Gives a procedure name 
to a list of commands 
(gibt einen Prozedurna¬ 
men an eine Liste von 
Anweisungen). 

Und dieses Prinzip funk¬ 
tioniert einwandfrei. Man 
muß nur auf einige Be- 
Sonderheiten der jeweili¬ 
gen Definitionsliste ach- 


Der 

Igel 


ebenfalls ein Space gesetzt 
werden. Überhaupt die 
eckigen Klammem, sie be¬ 
sitzen ihre Tücken und so 
einige Zusätze. Da wir 
aber nicht ins Theoreti¬ 
sche abrutschen wollen, 
hier einige Zeilen, die 
nach Wahl von LOGO II 
Zeile für Zeile einzugeben 


lernt 

deutsch 



Kann deutsch sprechen: Igel 


ten. Hinter DEFINE muß 
immer ein Space gesetzt 
werden, und das neue zu 
wählende deutsche Grund¬ 


wort muß mit einem An¬ 
führungszeichen begin¬ 
nen. Vor der ersten ecki¬ 
gen Klammer (!) muß 


IGEL EIN 


sind. Nach jeder Zeile ein¬ 
fach Taste ENTER drük- 
ken, und danach können 
Kinder, die gerade Lesen 
und Schreiben gelernt ha¬ 
ben, an den TI 99/4A ge¬ 
setzt werden und sich mit 
dem Igel anfreunden. 


DEFINE “AN [[:N] 

TELL :N]J 
DEFINE “IGEL [[ ] 
OUTPUT TURTLE]] 
3EFINE “IGELAUS 
[ ][NOTURTLE]] 

Damit läßt sich schon der 
Igel-Modus einschalten, 
denn statt bisher TELL 
TURTLE ist jetzt AN 
IGEL einzugeben. Nach 
ENTER ist der Igel 
schon zu sehen. Da wir 
aber weitere deutsche 
Grundwörter definieren 
wollen, geben wir jetzt 
ein IGELAUS und drük- 
ken Taste ENTER. Der 
ursprüngliche Zustand 
ist wieder hergestellt. 

DEFINE “GROSS 


DEFINE “KLEIN 
[ ][SMALL]] 

DEFINE “RECHTS 
[N][RIGHT :N]] 

DEFINE “LINKS 
[N [LEFT :N]] 

DEFINE “MITTE 
[ ] HOME]] 

DEFINE “RADIERE 
[[ ] PENERASE]] 

DEFINE “RUECKWAERTS 
[[N][BACK :N]] 

DEFINE “STIFTHOCH 
[ ] [PENUP]] 

DEFINE “STIFTAB 
[ ][PENDOWN]] 

DEFINE “VORWAERTS 
[N][FORWARD :N] 
DEFINE “VERSTECKIGEL 
[ RHIDETURTLE]] 
DEFINE “ZEIGIGEL 
[[ ][SHOWTURTLE]] 
DEFINE “LOESCHEBELD 
[[ ]] CLEARSCREEN]] 





TIPS & TRICKS 


Definitionen mit N in der 
ersten eckigen Klammer 
erfordern nach der Einga¬ 
be des deutschen Worts 
die Eingabe einer Zahl, 
voneinander getrennt 
durch ein Space. Bei 
RECHTS und LINKS im 
Bereich von 1 bis 360, 
bei VORWAERTS und 
RUECKWAERTS in belie¬ 
biger Höhe. 

Für Kinder, die noch nicht 
zur Schule gehen, ist es 
zweckmäßiger, nur jeweils 
ein Tastensymbol zu defi¬ 
nieren. Bei Grundwörtern, 
die eine Parametereinga¬ 
be verlangen, muß dies 
schon bei der Definition 
erfolgen. Hierzu fünf 
Beispiele: 

DEFINE “V 
[[ ][FORWARD 15]] 
DEFINE “R 
[[ ][RIGHT45]] 

DEFINE “G 
[[ ][BIG]] 

DEFINE “I 
[[ ][TELL TURTLE]] 
DEFINE “A 
[[ ][NOTURTLE]] 

Hierbei entspricht: 

Taste V und Taste ENTER 
Vorwärts um 15 Schritte 
(Igel zeichnet einen Strich) 
Taste R und Taste ENTER 
Rechtsdrehung um 45° 
(Igel dreht sich um 45°) 
Taste G und Taste ENTER 
Großer Igel (Igel wird 
3mal so groß) 

Taste I und Taste ENTER 
Igel einschalten (Igel- 
Modus einschalten) 

Taste A und Taste ENTER 
Igel ausschalten (Igel- 
Modus ausschalten) 

Für das Einschalten'des 
Igel-Modus wäre dann nur 
Taste I und Taste ENTER 
zu drücken. Dies bekom¬ 
men die Kleinen ganz 
schnell mit. 


BESONDERS FÜR 
KINDER • 


Besonders interessant ist 
für Kinder der nur in TI- 
LOGO vorhandene Feen¬ 
zustand (Feen-Modus). 
Auch Feen können deut¬ 
sche Wörter lernen. Und 
natürlich läßt sich alles 
ausdrucken und ab- 
speichem. Dr. Arnim Tölke 


ABSTURZ OHNE PRO- 
GRAMMVERLUST UND > 
FREIE WAHL VON 
BILDSCHIRM- UND 
ZEICHENFARBEN IM 
DIREKTMODUS 
Konsole TI 99/4A 
+32k-Speichererweiterung 
+XBasic-Modul _ 

Das folgende Programm 
soll zwei störende Übel aus¬ 
schalten. Erstens verhin¬ 
dert es den Programmver¬ 
lust, wenn man nach stun¬ 
denlangem Eingeben eines 
Programms — das Zwi¬ 
schenspeichern hat man 
seit einer halben Stunde 
immer wieder hinausge¬ 
schoben — plötzlich statt 
*+* die FCTN-Taste er¬ 
wischt und somit QUIT 
eingibt, oder der Computer 
einfach mal aussteigt oder 
man nach langen Korrek- 
' turen aufatmend die Kon¬ 
sole abschaltet — ohne ab¬ 
gespeichert zu haben, 
oder, oder... Solange die 
Speichererweiterung noch 
nicht abgeschaltet ist, wer¬ 
den selbst nach dem Ab- 
und Wiedereinschalten der 
Konsole XBasic-Program- 
me gerettet. Wem dies nie 
passiert, hat sich vielleicht 
wie ich an der ungünstig¬ 
sten Bildschirm färbe im 
Direktmodus schon gestört. 
Nun, mit diesem Pro¬ 
gramm kann man sich 
ganz nach Lichtverhältnis¬ 
sen, Lust und Laune 
Bildschirm- und Character- 
farbe frei wählen. Wenn 
ein Programm abläuft, wer¬ 
den natürlich dessen Farb- 
befehle nicht beeinflußt, 
nach Programmende schal¬ 
ten sich jedoch die gewähl¬ 
ten Farben sofort wieder 
ein. 

Mit CALL LINK (“EIN“, 
Characterfarbe, Bildschirm¬ 
farbe) wird das Programm 
gestartet, wobei für die 
Farben die üblichen Zahlen¬ 
codes (1 — 16) einzusetzen 
sind. Mit CALL LINK 
(“AUS“) kann die Routine 
abgeschaltet werden. Mit 
CALL LINK(“REPAIR“) 
wird ein verschwundenes 
XBasic-Programm wieder 
hergestellt. Danach ist der 
erste Befehl einzugeben, 
um die Routine wieder 
einzuschalten. 


10 !************************ 
20 {Freie Wahl von Char.- 
30 !und Bildschirm-Farbe im 
40 !Edit-Mode, sowie Wieder- 
50 {Herstellung eines Basic- 
60 {Programms nach ’Absturz’ 
70 IFuer XBasic mit 32K-Erw. 
80 !(c) Dr.H.Greiner 4/84 
90 J ************************ 


100 ADR=9492 

110 READ A : : IF AO-1 THEN 
CALL LOAD(ADR,A)!: ADR-ADR+1 
GOTO 110 

120 CALL LOAD(8194,37,22S,63 
,232) 

130 FOR 1=16360 TO 16383 :: 
READ A :: CALL LÜAD(I,A):: N 
EXT I 

140 DATA 135,0,0,0,2,224,36, 
244,2,0,37,122,200,0,131,196 
150 DATA 4,192,2,1,0,1,6,160 
,37,202,192,224,131,74,10,67 
160 DATA 5, 129,6,160,37,202, 
160,224,131,74,6,195,216,3,3 
7,21 

170 DATA 216,3,37,22,216,3,3 
7,23,2,2,255,231,2,4,0,100 
180 DATA 2,224,131,224,4,96, 
0,106,2,224,36,244,200,6,131 
,48 

190 DATA 200,7,131,50,4,197, 
212,132,16,243,2,224,36,244, 
4,192 

200 DATA 200,0,131,196,16,23 
7,2,224,36,244,4,192,208,32, 
131,68 

210 DATA 22,31,2,0,140,2,192 
,96,37,20,6,160,37,218,2,1 
220 DATA 72., 14,6, 160,37,218, 
2,3,0,8,192,96,37,22,2,0 
230 DATA 140,0,6,160,37,218, 
6,3,22,252,6,4,24,9,2,4 
240 DATA 0,100,136,2,131,48, 
19,4,193,160,131,48,193,224, 
131,50 

250 DATA 2,224,131,224,4,91, 
4,32,32,12,4,32,32,24,18,184 
260 DATA 6,32,131,74,4,91,6, 
193,212,1,6,193,212,1,4,91 
270 DATA -1 

280 DATA 82,69,80,65,73,82,3 
7,92,65,85,33,32,32,32,3?,11 
0 

290 DATA 69,73,78,32,32,32,3 
7,24 


11 






Subprogramme 


XBasic+ ist eine Samm¬ 
lung von SUBprogram- 
men, die das XBasic in 
3 Bereichen erweitern: 

1. Mittelauflösungs- 
grafik (MRG) 

2. Hochauflösende 
Grafik (HRG) 

3. Utilities 

Zuerst noch ein Wort zur 
Programmierung: Die 
einzelnen Routinen ma¬ 
chen ausgiebig von „be¬ 
rechneten“ Abfragen Ge¬ 
brauch, d.h. sie sparen 
IF/THEN ein. Dies ge¬ 
schieht dadurch, daß der 
TI Wahrheitswerten Zah¬ 
len zuordnet: 

Wahr entspricht -1, und 
Falsch 0. 

Beispiel: 

Die Zeile IF B>3 THEN 
A = 0 ELSE A =25 
wird durch A=0-(B<=3)*-25 
ersetzt. 

Dies ist insofern von Vor¬ 
teil, da die so umgestell¬ 
ten Abfragen sowohl 
schneller bearbeitet wer¬ 
den, als auch die Zei¬ 
le linear weiterbearbei¬ 
tet werden darf. (Nach 
IF darf z.B. kein FOR in 
der gleichen Zeile folgen!) 
Beim Eintippen sollte 
man beachten, daß die 
SUBroutinen für Plotten 
und Löschen bis auf den 
eigentlichen Ausgabebe¬ 
fehl gleich sind. 

Die Routinen arbeiten, 
das trifft besonders auf die 
Plott : Routinen zu, etwas 
langsam, eine Lösung in 
Maschinensprache wäre je¬ 
doch nur von einem gerin¬ 
gen Teil der TI User zu 
benutzen. (Im übrigen 
sind die Plottroutinen die 
schnellsten, die ich in 
XBasic gesehen haben!) 
Natürlich könnte man 
auch Kreise mit dem Ellips- 
Befehl plotten; die Kreis- 
Routine ist jedoch ge¬ 
nauer und schneller. 

Genug der Vorrede, hier 
folgt die Beschreibung: 
(Anmerkung: alle Koor¬ 
dinaten sind in der Form 
Senkrecht, Waagerecht 
mit X,Y gegeben, wie bei 
TI üblich.) 

1. MRG Grafik _ 

Der MRG Modus hat eine 
Auflösung von 44 (Ver¬ 
tikal) mal 64 (Horizontal) 


Punkten, die einzeln an¬ 
sprechbar sind. Hierfür 
sind die Zeichensätze 
13 und 14, also die Zei¬ 
chen 128-143 reserviert. 
Die anderen Zeichen kön¬ 
nen jedoch noch ohne 
weiteres dargestellt wer¬ 
den. 

Mit CALL IG wird der 
Modus aufgerufen, und 
der Bildschirm gelöscht. 

CALL PUNKT(X,Y) 
plottet einen Punkt; 

CALL LOESCH(X,Y) 
löscht ihn wieder 
CALL GZ(X,Y,A) 
setzt an die angegebene 
Stelle das Zeichen Num¬ 
mer A. 

2. HRG Grafik _ 

Der HRG Modus hat eine 
Auflösung von 192 mal 
256 Punkten, also die 
gleiche Auflösung wie 
Sprites. Dieses geschieht 
über Umdefinition der 
einzelnen Zeichen. (Der 
Rechner beginnt mit [ , 
geht über die Kleinbuch¬ 
staben bis zu CHR$(143), 
setzt dann mit ! fort, 
über Satzzeichen, Zahlen 
und Großbuchstaben, 
worauf er wieder neu be¬ 
ginnt. Dadurch bleiben 
die Buchstaben lange Un¬ 
definiert, und können 
z.B. für Achsenbeschrif¬ 
tung verwendet werden.) 
Dies geschieht wie folgt: 
Befindet sich an der Stelle, 
an der geplottet werden 
soll, ein Leerzeichen, so 
wird ein Zeichen neu ge¬ 
nommen und mit diesem 
Punkt definiert, andern¬ 
falls wird das betreffende 
Zeichen mit dem Punkt 
“verort“, das heißt der 
Punkt wird dem Zeichen 
hinzugefügt. Daraus folgt, 
daß der Bildschirm keine 
nicht definierbaren Zei¬ 
chen enthalten darf; der 
HRG Modus wird am 
besten mit CALL CLEAR 
aufgerufen. (Vorsicht 
mit PRINT und DISPLAY 
AT; diese Befehle setzen 
außerdem noch CHR$ 

(31) an den Rand!) 

Aufruf wie gesagt mit 
CALL CLEAR; um da¬ 
nach wieder zu schreiben 
CALL CLEAR; CALL 
CHARSET. 

Fortsetzung auf Seite 14 


10 REM ******************** 

11 REM * DEMO FUER * 

12 REM * XBASPLUS * 

13 REM ******************** 
100 CALL IG ! AUFRUF MODUS 
110 A$="DEMO" :: X=i ! DRUCK 
STRING UND DRUCKZEILE 

120 -GOSUB 1000 «DRUCKEN 
130 CALL CHAR(96,"0044004444 
444433"):: A$="F'R" :: X-6 : 

: GOSUB 1000 

140 A$="XBasic+" :: x=ll :: 
GOSUB 1000 

150 CALL SCREEN(16):: FOR 1= 
0 TO 14 :: CALL COLOR(1,3,1) 

:: NEXT I 

160 DISPLAY AT(16,1)I"Dies w 
urde im Mittelauf- lcesun 
gsmodus gedruckt.Man kann m 
it dem CALL PUNKT Befehl 

48*64 Punkte an-" 

170 DISPLAY AT(20,1):"sprech 
en,und mit CALL GZ grosse 
Zeichen setzen.Auch selbst 
definierte Zeichen werden 
Gedruckt." 

180 GOSUB 1100 ! WARTE AUF T 
ASTE 

190 CALL CLEAR 
200 DISPLAY AT(20,1):"Jetzt 
wird mit CALL PUNKT eine 1 
i n i e gemal t. . " 

210 FOR 1 = 1 TO 40 : .* CALL PU 
NKT(INT<I/2>*3,1+4):: NEXT I 
! MALE LINIE 

220 DISPLAY AT(20,1):"... un 
d mit CALL LOESCH wieder 

ge 1oescht." '* . 

230 FOR 1=1 TO 40 :: CALL LO 
ESCH(INT(I/2)+3,1+4):I NEXT 
I iLOESCHE LINIE 
240 DISPLAY AT(1,1)ERASE ALL 
:"CALL JOYST fragt nun die 
Tastatur ab:(mit dem 
’Button’ geht’s weiter)" 
250 CALL JOYST(1,A,B):: CALL 
JOYST(2,C,D) 

260 DISPLAY AT <10,1):USING " 
CALL JOYST<1,##,##)J 
CALL J0YST<2,##,##)":A,B r C,D 
270 FOR 1=1 TO 2 :: CALL KEY 

n,K,s):: if k=is then 290 ! 

WENN BUTTON 1 ODER BUTTON 2 
GEDRUECKT,DANN WEITER 
280 NEXT I :: GOTO 250 ! SON 
ST ZURUECK • 

290 DISPLAY AT(1,1)ERASE ALL 
:"Und nun kommt die Umwandlu 
ngHEX-DEZ und umgekehrt.": : 
"Gib abwechselnd eine Hex, 



oder eine Dezzahl ein." 

300 DISPLAY AT(8,i):"Mit 0 w 
ird die Demo beendet." 

310 DISPLAY AT<10,.1> : "Gib ei 
ne Hexzahl ein:" :: ACCEPT A 
T(10,24)VALIDATE<DIGIT,"ABCD 
EF>"):AS :: IF AS="" THEN 31 
0 ELSE IF AS="0" THEN ^00 
320 CALL DEZ(A,AS):: DISPLAY 
AT C12 5 1):USING "Dezimal = # 
##### und als Adresse = # 
A, A + 65536* (A >32767) 
330 GOSUE 1100 
340 CALL HCHAR(10,1,32,200) 
350 DISPLAY AT(10,1):"Gib ei 

r. e Dezzahl ein:" :: ACCEPT A 
T(10,24)VALIDATE(DIGIT) : A :: 

IF A=0 THEN 400 
360 CALL HEX(A,AS)-:: DISPLAY 
AT (12, 1) : "Hexzahl = > ,S &AS 
370 GOSUE 1100 
380 CALL HCHAR(10,1,32,200) 
390 GOTO 310 •' 

400 CALL CLEAR 
410 PRINT "Und zum Abschluss 
noch einige Spieiereie 

n im Hoch- au-f 1 oesenden Modul 

s. ": : :"Wenn es ’beept’,dan 

n druecLebi tt.e eine Taste.": 

• • • • 

420 GOSUE 1200 

430 CALL CLEAR 

440 A=49-:: E=79 :: c=90 :: 

D=120 

450 CALL LINE(A,E,C,D):: CAL 
L LINE(A,E,A,D):I CALL LINE( 
A,B,C,B):: CALL LINE(C,B,C,D 
):: CALL LINE(C,B,A,D):: CAL 
L LINE(A,D,C,D)! QUADRAT + K 
REUZ 

460 CALL KREIS(70,100,20)! K 
REIS HINEINPLOTTEN 
470 GOSUB 1200 ! WARTE AUF T 
ASTE 

480 CALL CLEAR 

490 FÜR 1=0 TO 120 STEP 60 : 

I CALL ELLIPS(96,128,30,10,I 

*pi/180):: next i :: call kr 
EIS< 96,128,6)! MALE ATOM 
500 w=0 :: dw=. l :: x=96 :: 
Y=128 :: Ai,31=1 
510 A=X+SIN(W)*40 :: B=Y + COS 
(W)*40 :: w=w+dw :: call plg 

T(A,E):: CALL UNPLOT(Al,Bi): 

: Ai=A :: Ei=E :: goto 510 ! 

’ELEKTRONBEWEGUNG’ 

990 ! DRUCKT AS IN DIE MITTE 
VON ZEILE X IM MITTELMODUS 
1000 E-LEN(AS):: N=INT((32-B 
*4)/2>:: IF N<1 THEN RETURN 


-1010 FOR 1 = 1 TO B : : CALL GZ 
(X,I*4+N-4,ASC(SEGS(AS,1,1)) 

):: NEXT I 
1020 RETURN 

1100 DISPLAY AT(24,1):" <D 
RUECKE EINE TASTE>" 

1110 CALL KEY(0,K,S>:: IF S= 
0 THEN 1100 ELSE DISPLAY AT( 
24,1):"" :: return 
1200 CALL SOUND(-100,440,0); 

: CALL KEY(0,K,S):I IF S=0 T 
HEN 1200 ELSE RETURN 

32741 ! **4(-*lHf************** 

* ACW X-BASIC PLUS * 

* VERSION 1.7 * 

*<C)’84 ALICOMPUTER* 
******Hf************* 

32742 SUE IG AS ( 1 )="00000 

000" :: AS(2)="0F0F0F0F" :: 
AS(3)="F0F0F0F0' :: AS(4)="F 

FFFFFFF" :: FOR 1=1 TO 4 :: 
FOR J=i TO 4 :: CALL CHARC12 
8+N, A$ (J) &<as (I)):: n=n+ i :: 

NEXT 3 :I NEXT 1 

32743 CALL CLEAR :: SUBEND 

32744 SUB GZ(X,Y,Z):: CALL C 
HARPAT(Z,AS):: FOR 1=1 TO 13 

STEP 4 :: FOR J=0 TO 1 :: B 
s=segs(as, i+ j, i):: cs=segs(A 
S, I+J+2,i):: B=ASC(ES) + (B$>" 
=")*7-48 :: C=ASC(CS)+(CS>"= 
" >#7-48 

32745 D=INT(B/4>:: E=INT(C/4 
):: CALL HCHAR(X+(lM)-.25, . 
+ J*2, 123+D + E#-4) : : CALL HCHAR 
<X+(1/4)-.25,Y+l+J*2,128+<E- 
D*4) + <C-E*4)#4):: NEXT J :: 
NEXT I :: SUBEND 

32746 SUB PUNKT(Q,R):: X=INT 
<p):s Y=INT(R):: A=INT(X/2+. 
9):: E=INT(Y/2+.9):: C=l+X-2 
#A :: B=1+Y-2#B :: CALL GCHA 
R (A,B,E)I: E=E-(E=32>*96 

32747 CALL HCHAR(A,B,128+((E 
-128)0R(3*C+1)*(2-D))):: SUB 
END 

3274S SUE LOESCH(G,R):: X=IN 
T(Q):: Y=INT(R):: A=INT(X/2+ 
.9):: B=INT(Y/2+.9):: C=i+X- 
2#A :: D=i+Y-2*B :: CALL 6CH 
AR(A,E,E):: E=E-(E=32)*96 

32749 D=(3*C+i)#(2-D):: CALL 
HCHAR(A,B,128+( (E-128)OR D) 

-D):: SUBEND 

32750 SUB JOYST ( X, Y, Z ) : CAL 
L KEY(X,A,B):: Y=(A=2 OR A=4 

OR A=15)*4-(A=6 OR A=3 OR A 
=14)*4 :: Z=(A=15 GR A=0 OR 
A= 14 ) #4 - < A >3 AND A<7)#4 :: S 
ÜBEND 

32751 SUB PLOT(S,T):; X=INT( 


» 


13 



y—». ' ' _ ' ’ 

TIPS & TRICKS 


S):: Y=INT(T):: IF X<1 OR X> 
191 OR Y<1 OR Y>255 THEN SUB 
EXIT ELSE A=INT(X/8)+1 :: B* 
INT(Y/3)+1 :: D=Y-(B-l)*3+i 
:: CALL GCHAR(A, B, F) 

32752 CALL CHARPAT<F,B$):: G 
=(X-(A~i)*3+l)*2+lNT(D/4. 1) - 
1 :: H=F :: A$=SEG$<B$,G, 1.): 

: I= ASC < A$)-48+(A$ > " ="> #7 l\ 

IF F=32 THEN H=91+R :: R=R + 

1 :: IF R=53 THEN R=-53 

32753 1=1 OR 2 A (4-INT((D/4.1 
-INT(D/4.1)) *4.1 +. 5))I: CALL 

CHAR(H,SEG$(B$,1,G-1)kCHR*( 
1+43- < I >9) *7) kSEGS (B$, G + i , 15 
)>;: CALL HCHAR<A,B,H>:: SUB 
END 

32754 SUB UNPLOT(S,T):: X = IN 
T(S):: Y-INT(T):: IF x<l OR 
X>191 OR Y<1 OR Y>255 THEN 3 
UEEXIT ELSE A=INT(X/8)+l :: 
B=INT(Y/S)+i :: D=Y-(B-i)*8+ 
1 :: CALL GCHAR( A, B , H) 

32755 CALL CHARPAT(H,B$) : : G 

= <X-(A-i)*3 + i)*2+INT(D/4.1)- 
1 :: A$=SEG$(B*,G, 1) : I=ASC 

(A*5-48+ (A$>"=")*7 

32756 J=2 A (4-INT((D/4.1-INT( 
D/4.1)>*4.1+.5))i; I=(I OR J 
) -J 

32757 CALL CHAR(H,SEG$(B$,1, 
G-l) &<CHR$ (I +48- (I >9) *7) kSEG$ 
<B$,G+i,15)):: CALL HCHAR(A, 
B,H > S S SUBEND 

32758 SUB ELLIPS(X,Y,R,S,W): 

: for F=i to 2 :: n=sin(W):: 

m=cos(W):: for t=0 to r :: 

E=SQR(R-"2-T A 2)*S/R :: A=N*T 
:: b=m*t :: c=N*E :: E=E*M : 
: CALL PLOT(X-A-E,Y+B-C):: c 
ALL PLOT(X+A+E,Y-B+C) 

32759 CALL PLOT(X+A-E,Y-B-C) 


:: CALL PLOT(X-A+E,Y+B+C);: 
NEXT T :: E=s :: s=R : : .R=E 
:: W=w+?l/2 :: NEXT F iC W=W 
-PI :: SUBEND 

3276.0 SUB KREIS (X, Y,Z) : : FOR 
B=0 TO Z :: IF B >A THEN SUB 
EXIT ELSE A-SQR(Z#Z-B#B )•\ C 
ALL PLOT(X-A,Y-B) : : CALL PLÜ 
T(X+A,Y-B):: CALL PLOT(X-A,Y 
+ B) 

32761 CALL PLOT(X +A, Y + B) : : C 
ALL PLOT(X-B,Y-A) : : CALL PLO 
T(X+B,Y-A):: CALL PLOT(X-B,Y 
+A):: CALL PLOT(X+B,Y+A):; N 
EXT B :: SUBEND 

32762 SUB LINE(A,B,C,D):: IF 
(A-C)AND(B=D)THEN CALL PLOT 

(A,B):: SUBEXIT ELSE IF ABS( 
C-A)>ABS(D-B)THEN 32764 

32763 FOR I=B TO D STEP SGN( 
D-B):: CALL PLOT(A+(C-A)/(D- 
B5*(I-B),I)I; NEXT I :: SUBE 
XIT 

32764 FOR I=A TO C STEP SGN( 
C-A):: CALL PLOT(I,B+(D-B)/ ( 
c-A)#< i-A)):: NEXT I :: sube 
ND 

32765 SUB HEX(D l A$):: A=D :: 
A$="" :: B=4096 :: C=0 :: F 

OR 1=1 TO 4 :: A=A-C*B*16 :: 

C = INT(A/B):: A$=AS&CHR$(4S+ 
c-(C>9)*7):: b=b/16 :: NEXT 
I :: SUBEND 

32766 SUB DEZ(A,A$):: A$=SEG 
$(”000 u S<A$,LEN(A$) ,4) : : A=0 
:: b=4096 :: for 1=1 TO 4 :: 

B$=SEG*(A$,I,1);: A=A+B*(AS 
C(B$)-4S+(B$> ,, = ")*7):: B=B/i 
6 :: NEXT I :: SUBEND 

32767 REM IG,G2, PUNKT,LOESCH 

,JOYST,PLOT,UNPLOT,ELLIPS,KR 
EIS,LINE,HEX,DEZ ' ' 


Fortsetzung von Seite 12 

CALL PLOT(X,Y) plot- 
ten ein Pixel; 

CALL UNPLOT(X,Y) 
löscht es! 

CALL KREIS(X,Y,R) 
zeichnet einen Kreis mit 
dem Mittelpunkt X,Y; 
und dem Radius R. Die 
Berechnung geschieht 
über die Kreisfunktion 

Y=%/R 2 -X 2 ' 

CALL ELLIPS (X,Y,A, 
B,PHI) zeichnet eine 
Ellipse mit dem Mittel¬ 
punkt X,Y; den Halbach¬ 
sen A und B; und dem 


Drehwinkel PHI. 

Berechnet wird die Ellip¬ 
se über die Kreisformel, • 
und die Sinus, bzw. 
Cosinus-Definition. Da¬ 
bei wird die Ellipse als 
abgeplatteter, gedrehter 
Kreis betrachtet. 

CALL LINE(A,B,C,D) 
zeichnet eine Linie von 
Pixel A,B nach Pixel C,D 

3. Utilities _ 

CALL JOYST funktioniert 
wie bisher, nur wird die 
Tastatur abgefragt: 


JOYSTICK 1 JOYSTICK 2 





1 Q I 


1 Y 1 

WER 


U 1 o 

S D 


J K 

Z X c 


N M , 


CALL HEX (Dezzahl, 
Hex) wandelt eine Dezi¬ 
malzahl in eine Hexadezi¬ 
malzahl um. 

CALL DEZ (Dezzahl,. 
Hex) wandelt einen Hex¬ 
string von mindestens 1 
Zeichenlänge (sonst wird 
ein Fehler gemeldet), wo¬ 
bei Führende Nullen auto¬ 


matisch vorgesetzt werden, 
in eine Dezimalzahl um. 

Soll eine Adresse berech¬ 
net werden, so ist, falls die 
Dezimalzahl größer 32767 
ist, 65536 abzuziehen, 
wie in Zeile 320 des Demo¬ 
programms geschehen. 

Die 3 Bereiche arbeiten 
unabhängig voneinander, 
und die Utilities können 
sogar einzeln verwendet 
werden. 

REM’s und !’s können so¬ 
wohl in XBasic+, als auch 
in der Demo wegfallen. 

Alexander Hulpke 


14 




LISTINGS 


Mensch ärgere 
dich nicht 

Gelungene Graphik und schneller Verlauf zeich¬ 
nen dieses Spiel für 1—4 Personen aus, das wegen 
seines Bekanntheitsgrades sicherlich keiner aus¬ 
führlichen Anleitung bedarf. Nach dem Start kön¬ 
nen bis zu vier Spielemamen statt der vorgegebe¬ 
nen “C“ (=Computer) eingegeben werden. Falls 
weniger als vier Spieler beteiligt sind, müssen die- 
restlichen “C“ belassen werden. Diese Farben 
spielt dann der Computer. Somit kann man na¬ 
türlich auch den TI alle Farben spielen lassen, also 
ohne „menschliche“ Beteiligung. Eine hübsche 
Demo! Bei Aufforderung zum Würfeln ist die 

ZUfl UUERFELN ERUECKE TfiSTEI 



Feuertaste des Joysticks zu drücken. Danach wählt 
man mit dem Knüppel des Joysticks diejenige Fi¬ 
gur, mit der man ziehen will (ALPHA-LOCK- 
Taste ausrasten!). Nach erneutem Druck auf die 
Feuertaste wird der Zug ausgeführt. Falls man nur 
mit einer Figur laufen kann, wird der Zug ohne 
„Rückfrage“ sofort ausgeführt. Es herrscht Schlag¬ 
zwang, d.h., wenn eine Figur schlagen kann, führt 
der Computer diesen Zug aus. Nur wenn mehrere 
Figuren schlagen können, läßt der Computer dem 
Spieler die Wahl. Das Programm hat einige sehr 
„harte“ Regeln eingebaut. Ein Tip: Verlassen Sie 
so schnell als möglich nach einem „Sechser“ Ihr 
Ausgangsfeld (A)! Und nicht vergessen: Mensch 
ärgere Dich NICHT! Dr. h. Greiner 

(zu Seite 17) 

Lingua I + II 

Dieses anspruchsvolle Spiel für bis zu sechs Perso¬ 
nen besteht aus zwei Programmteilen, LINGUA 1 
und LINGUA 2. Im ersten Teil sind die ausführliche 
Spielanleitung und Characterdefinitionen, im 
zweiten Teil das eigentliche Spiel untergebracht, 
das sicherlich in seinen Grundzügen vielen von 


Ihnen bekannt ist (Lingua, Kreuzwort-Pulock,usw.). 
Cassettenbesitzer müssen Zeile 730 des Programm¬ 
teils Lingua in RUN “CS1“ ändern. 
Diskettenbesitzer dürfen den Programmkopf von 
LINGUA 1 (Zeile 10 bis 29) nicht mit eingeben, 
da der Speicherplatz vom Programm voll genutzt 

wird. Dr. H. Greiner 

(zu Seite 21) 


Kanalbau 

Wiederum zeigt sich der TI 99 als äußerst nützliches 
Werkzeug. Und zwar diesmal im Kanalbau,bei der 
Bemessung von Abwasserkanälen. 

Wo bisher umfangreiche Tabellen werke gewälzt 
werden mußten, genügt nun ein Knopfdruck, um 
die gesuchten Werte zu erhalten. 

Ein zentrales Problem im Kanalbau ist die Frage, 
wieviel Abwasser je Zeiteinheit (1/s) durch einen’ 
Rohrquerschnitt im freien Gefälle (d.h. nicht unter 
Druck) abfließen kann. 

Als Eingabedaten sind hierzu notwendig: 

— die Profilart 

— die Profilrauhigkeit 

— das Gefälle 

Wird nach Starten des Programms Menüpunkt 1 
(Vollfüllung von Profilen) angewählt, so stehen fol¬ 
gende Profilarten zur Verfügung: 

1. Kreisprofil 

2. Eiprofil — normal 

3. Eiprofil - überhöht 

4. Eiprofil — breit 

5. Eiprofil - gedrückt 

6. Maulprofil — normal 

7. Maulprofil — überhöht 

8. Maulprofü - gedrückt 

9. Profil mit einseitigem Auftritt 

10. Profil mit beidseitigem Auftritt 

Am rechten Rand wird neben der Profilbezeichnung 
das Verhältnis von Profilbreite zu Profilhöhe (B/H) 
angegeben. Beim Kreis z.B. B/H=l/1. 

Als Rauhigkeit werden in der Regel 0.25, 0.40, 1.00 
oder 1.50 mm verwendet. Zwischenwerte oder größe¬ 
re Rauhigkeiten sind jedoch auch möglich. 

Das Gefälle schließlich wird in der dimensionslosen 
Form 1/... eingegeben (z.B. 1/200 = 5 Promille). 

Die Berechnung der Wassermenge bei Vollfüllung des 
Profils erfolgt nach den Algorithmen von Prandtl- 
Colebrook. Ausgegeben wird schließlich die abführ- 
bare Wassermenge und die zugehörige Fließgeschwin¬ 
digkeit bei Vollfüllung. 

Als Option erscheint am unteren Bildschirmrand ei¬ 
ne Befehlsleiste mit den Möglichkeiten weitere 
Berechnungen durchzufuhren, einen Protokollaus¬ 
druck vorzunehmen oder den Abschnitt zu beenden. 
Als Vorteile der Programmierten Lösung des Pro¬ 
blems gegenüber Tabellenwerken sind zu nennen: 

— kein langes Suchen 

— genaue Lösung auch für Zwischenwerte 

— schnelles Durchspielen verschiedener 
Parameter 

Zum Schluß noch ein kleines Beispiel: 

Für ein Kreisprofil mit einem Durchmesser von 
300 mm, einer Rauhigkeit von 1.5 mm und einem 
Gefälle von 1/300 ergibt sich eine Durchflußleistung 
bei Vollfüllung von 56.3 Liter pro Sekunde und ei¬ 
ne Fließgeschwindigkeit von 0.80 Meter pro 
Sekunde. 




15 





LISTINGS 


Kanalbau 

Für die Lösung werden nuT Sekundenbruchteile 
benötigt. Im übrigen soll hier noch auf die einschlä¬ 
gige Fachliteratur verwiesen werden. 

Programmbeschreibung: 

Zeilennummer Aktion ___ 


100-320 

330-440 

450-720 

730-850 

860 

870-960 

970-1140 


Bildschirmfarbe, Titelbild, Profilkenn¬ 
daten, Druckoption 
Bildschirmaufbau des Menübildes 
Ein- und Ausgabebild zur Profil¬ 
berechnung 
Druckroutine 
Programmende 

Unterprogramm zur Berechnung der 
Vollfüllung nach Prandtl-Colebrooke 

Unterprogramm zum Aufbau des 
Titelbildes. 


Kamikaze III 

Das Spiel ist, sich mit dem Flugzeug auf den 
Feind zu stürzen, um ihn so zu vernichten. 

Bei Ihnen melden sich die Kamekazeflieger; 
am Anfang sind es 15; damit Sie sie im nchtigen 
Augenblick auf den Feind stürzen lassen. 

Ihnen stehen dazu 4 Sturzarten zur Verfügung: 

1. Sturzart Taste 1 2 vor 1 runter 

2. Sturzart Taste 2 1 vor 1 runter 

3. Sturzart Taste 3 1 vor 2 runter 

4. Sturzart Taste 4 senkrecht runter 

Die Punktzahl hängt davon ab, was man trifft; ob 
den Teil eines Schiffes, ein U-Boot, eine Kanone, 
einen Panzer, ein Haus oder sonstiges und mit wel¬ 
cher Sturzart der Angriff erfolgte. 

Wenn Sie das Festland 2 Runden erfolgreich ver¬ 
teidigt haben und Ihnen immer noch Kamekaze¬ 
flieger zur Verfügung stehen, müssen Sie die Insel 
des Gegners 2 Runden lang angreifen. 

Haben Sie die 3 Tageszeiten, Morgengrauen, Mittag 
und Nacht, überstanden, dürfen Sie am nächsten 
Tag wieder erneut die Flieger steuern. 

Das Spiel hat 2 komplett gestaltete Bilder und ins¬ 
gesamt 12!! Spielstufen. Die Spielstufen unterschei¬ 
den sich unter anderem durch Angriffsstärke des 
Feindes, Geschwindigkeit und Höhe des Flugzeu¬ 
ges. Manchmal stehen Sie auch unter Beschuß. 

Ab Spielstufe 6 ist dann auch eine Kollision mit 
den Vögeln tödlich. 

Ein verfehlter Sturz ins Grüne kostet dazu noch 
Punkte., . .. ‘ 

Die Anzeigetafel am oberen Rand gibt Auskunft, 
über die noch zur Verfügung stehenden Flieger, 
die Punktzahl und der Trefferquote in %. 

Um gut über die Runden zu kommen, braucht man 
ungefähr eine TQ von 75%. Nach jeder Runde er¬ 
halten Sie 10 neue Kamekazeflieger, außerdem 
noch welche nach Erreichen bestimmter Punkt¬ 
zahlen. Weiter hat das Spiel eine Pausetaste, die 
eine kurze Unterbrechung zuläßt. Mit P wird die 
Pause aktiviert; mit ‘0‘ kann weitergespielt 
werden. 

Einige Spieltips: 

Um möglichst hohe Punktzahlen zu erreichen, soll¬ 


te man Sturzart 4 so selten wie möglich benutzen. 
Durch Probieren und Orientieren an den Vögeln, 
der Sonne oder dem Mond, kann man leicht meh¬ 
rere Einschläge hintereinander ins Wasser ver¬ 
hindern. 

Aber spielen und probieren Sie selbst und verzwei¬ 
feln Sie nicht gleich, wenn Sie am Anfang nicht 
weiter als zu den ersten Spielstufen kommen. 

(zu Seite 37) Thorsten Rauer 


Statik 

Das Programm berechnet die Schwerpunkt-Haupt¬ 
achsen mit Imax und Imin, sowie die Trägheits¬ 
momente ly, 12 und Iy 2 einer bzw. beliebig vieler 
zusammengesetzter Flächen. 

Zuerst muß die Anzahl der Flächen (Profile) einge¬ 
geben werden, anschließend die Flächengrößen, die 
Y- und Z-Werte der Schwerpunkte bezogen auf ein 
beliebig positioniertes Y-Z-Koordinatensystem und 
die Eigenträgheitsmomente dieser Flächen (der 
Profile). 

Für alle Eingaben ist die Vorzeichenregelung zu be¬ 
achten, da auch „negative Flächen“ möglich sind. 
Die Maßeinheiten erscheinen auf dem Display. 


Als Ergebnis erscheint: 

> Gesamtfläche [cm 2 ] 

> Schwerpunkt (y;z)[cm] 

> ly 

> Iz 

> Iyz 

> Imax 

> Imin 

> Winkel a [Grad] 


crrr 

cirf 

cnV 

cnV 

cnY 


Thomas- 

Verfahren 

Dieses kleine Lemprogramm demonstriert am Bei¬ 
spiel des sogenannten „Thomasverfahrens“ die 
Stahlerzeugung. 

Der Lernstoff wird durch die vereinfachte grafische 
Darstellung einer Thomasbirne unterstützt und 
leichter begreiflich gemacht. 

Das Programm simuliert unter Textbegleitung den 
gesamten Ablauf der Stahlerzeugung, anschließend 
gibt der Rechner zwei Seiten Lückentext aus. 

Die Leerstellen im Text entsprechen in ihrer Länge 
genau den einzusetzenden Wörtern und erleichtern 
Ihnen damit etwas die Lemkontrolle. 

Sollten Sie über einen Sprachsynthesizer verfügen, 
wird der Lernstoff noch durch zusätzliche Sprach- 
ausgabe aufgelockert und Ihr TI sagt Ihnen bei der 
Vervollständigung des Textes gleich, ob Sie das 
richtige Füllwort eingesetzt haben oder nicht. 
Verfügen Sie über keinen Sprachsynthesizer, müs¬ 
sen die entsprechenden Befehle aus dem Listing 
gelöscht werden. Der Lehrgang erfolgt dann zwar 
kommentarlos, aber deshalb nicht weniger an¬ 
schaulich. 

Etwa in der sechsten Schulklasse wird im Rahmen 
des Erdkundeunterrichtes die Stahlerzeugung 
durchgesprochen. Mit diesem Programm können 
Sie Ihren Teil dazu beitragen, daß der trockene 

Bitte lesen Sie weiter auf Seite 57 


16 



10 

1 

********************** 

11 

1 

* 

MENSCH AERGERE 

* 

12 

i 

* 

DICH NICHT 

* 

13 

j 

* 


* 

14 

1 

* 

Copyright by 

* 

15 

1 

* 


* 

16 

; 

* 

Roger Hueser 

* 

17 

i 

* 


* 

19 

i 

* 

Benoetigte Geraete 

* 

20 

i 

* 

TI99/4A Konsoie 

* 

21 

i 

* 

Ext. Basic 

* 

22 

i 

* 

JoysticU 

* 

23 

i 

* 


* 

26 

i 

* 

Speicherbelegung 

* 

27 

i 

* 

9996 Bytes 

* 

28 

1 

* 


* 

29 

i 

********* ****** ******* 


100 OPTION BASE 1 
110 DIM SK<40),FK(44),WF<4,4 
),KF(4,4),X(40),Y<44>,SX(4,e 
),SY(4,8),S$(4>,KENF(4),W$<7 
),ER(4),ER*(4),HS*(4) 

120 CALL CLEAR :: CALL SCREE 
N(4):: RANDOMIZE :: CALL CHA 
R(60,"000010307E301") 

130 DISPLAY AT(6,1):"SPIELER 
...FARBE...NAME" :: DISPLAY 

at( 9,7):"1..GRyEN - C" :: D 

ISPLAY AT (12 ,_7 ) : "2. .ROT. 

.C“ 

140 DISPLAY AT(15,7):"3..BLA 

u. C" :: DISPLAY AT(18,7) 

;"4..MAGENTA..C" H FOR S=1 
TO 4 :: ACCEPT AT(6+3*S,19)V 
ALI DATE(UALPHA)SI2E(-10) : S$ ( 
S);; NEXT S I: CALL CLEAR 
150 CALL CLEAR :: FOR H=3 TO 
6 :; CALL COLOR(H,2, 16):: N 
EXT H :: HI = 1 :: FOR H=6 TO 

12 STEP 2 :: IF H=6 THEN HI= 

13 

160 IF H=S THEN HI=10 
170 IF H=10 THEN HI=5 
180 IF H= 12 THEN HI = 14 
190 FOR HIL=1 TO 2 :: CALL C 
OLOR(H+HIL,HI,16):: NEXT HIL 
:: NEXT H 

200 CALL CHARPAT(82,M1*,83,M 
2*,84,M3S,85,M4$,87,M5*,90,M 
6$,33,M7$,60,M8$):: CALL CHA 
R(48,M1$&M2$&M3$&M4$):: CALL 
CHAR ( 52, M5$iLM6$ß<M7$8<:"0" ) 

210 Y(l),Y<39),Y(40),SY(1,1) 

,SY(1,2),SY(4,1),SY(4,2)=3 
220 Y(2),Y(38),SY(1,3),SY(1, 
4),SY(4,3),SY(4,4),SY(1,5)=5 
230 Y < 3) , Y ( 37 ) , SY (1,6) =7 
Y(4),Y(36),SY(1,7),SX(3,1>,S 
X(3,3),SX(4,1),SX(4,3),X(29) 

,X(30),X(31)=9 


240 Y(5) , Y(6) , Y<7) ,Y(8) ,Y(9) 

,Y(31),Y(32),Y(33),Y (34), Y (3 
5) , X(28)|X(32) n li 

250 SY <1,8),SX(3,2) ,SX(3,4), 
SX (4,2) ,SX(4,4) ,SX(4,5)=11 
260 SY(2,5),SY(2,6),SY(2,7) , 
SY(2,8),SY(4,5),SY(4,6),SY(4 
,7),SY(4,8),SX(4,6)= 13 
270 Y(10),Y(30),X(27),X(33)= 
13 :: SX(4,7),SY( 3,8) = 15 
280 Y(ll) ,Y(12),Y <13) ,Y(14), 
Y(15),Y(25),Y(26),Y(27),Y(28 
),Y(29),X(26),X(34)=15 :: Y( 

41)=16 

290 Y(16),Y(24),X(21),X(22), 

X(23),X(24),X(25),X(35),X(36 
),X(37),X(38),X(39),SX(4,8), 
SY(3,7)=17 :: Y(42)=1S 
300 SX(1,5),SX(1,6),SX(1,7), 
SX(1,8),SX(3,5),SX(3,6),SX(3 
,7),SX(3,S),SY(3,6),Y(17),Y( 
23),X(20),X(40)=19 :: Y(43)= 
20 

310 Y(18) ,Y(22) ,X <1) ,X(2) ,X( 
3),X(4),X(5),X(15), X (1 6 ),X(i 
7) , X < 1 S ) ,X(19) , SX (2,3) =21 : :■ 
Y (44)»22 

320 SY(2,1),SY(2,2),SY(3,1), 
SY(3,2),SY(3,5)=21 :: SY(2,3 
),SY(2,4),SY(3,3),SY(3,4),SX 
(2,7),X(6),X(14)=23 
330 Y(19),Y(20),Y(21)=23 :: 

X (7) ,X(13),SX(2,6)=25 i! X(S 
),X(12)=27 :: X(9),X(10),X(1 
1 ) =29 

340 SX(1,1),SX<1,3),SX(2,1), 
SX(2,3),SX < 2,5)=27 :: SX(1,2 
) ,SX'(1,4) ,SX<2,2) ,SX(2,4)=29 
350 CALL CHAR(60,"3C7EE7C3C3 
E77E3C1818181818181818000000 
FFFFFF" ) *. : H3$=" 3C7EFFFFFFFF 
7E3C" :: CALL CHAR(64,M8$) 
360 H$="3C7EC3DBDBC17E3C3C5E 
C3DBDBC37E3C3C7EC3DFDFC37E3C 
3C7AC3DBDBC37E3C" 

370 Hl$="3C66D7F7F7F77E3C3C4 
2FBE7DFCS7E3C3C42FBE3FBC37E3 
C3C5ED7D7C3F77E3C 11 :: H2$="7 
EC3DBDBC3DBDB7E" 

380 FOR H=80 TO 128 STEP 16 
:: CALL CHAR(H,H2$):: CALL C 
HAR(H+1,H1*):: CALL CHAR(H+5 
,H$):: CALL CHAR(H+9,H3$):: 
NEXT H 

390 H4$="0000000000000001000 
00000000000FF000000000000003 
08080808080808080" :: CALL C 

HAR(34,H4$) 

400 H5^="8000000000000000FF0 
0000000000000010000000000000 


2 # 


17 





00101010101010101 " :: CALL c 
HAR(38,H5$) 

410 W$<1)=" 000000000000000 1 0 
1 000000000000000000000000000 
0808" :: W$(2 )="000030300000 
0000000000000000000000000000 
00000000000000000C0C " 

420 W$(3)="00003030000000010 
1000000000000000000000000000 
080300000000C0C" :: w$(4)="0 
0003030000000000000000030300 
00000000C0C00000000000000000 
C0C" 

430 W$(5)="00003030000000010 
10000003030000000000C0C00000 
080300000000C0C" :: w$(6)="0 
0003030000000303000000030300 
00000000C0C0000000C0C0000000 
C0C " 

440 W$(7)="00000000000000000 
0000000000000000000000000000 
0000" :: CALL CHAR(90,"00221 
4082A1C080808080808082A1C08" 

) 

450 CALL CHAR(122,"103854101 
010101010103854102844"):: CA 
LL CHAR(106,"00002040FF40200 
000001224F82412") 

460 CALL CHAR(56,W$(7)):: CA 
LL CHAR(139,"0048241F2448000 
0000402FF0204") 

470 FOR H=9 TO 29 :: CALL VC 
HAR(3,H,55,21):: NEXT H :: C 
ALL HCHAR(2,8,34):I CALL HCH 
AR(2,9,35,21):: CALL HCHAR(2 
,30,36):: CALL VCHAR(3,30,37 
,21) 

480 CALL HCHAR(24,30,38):: C 
ALL HCHAR (24,9,39,21) : : *CALL 

HCHAR(24,8,40):: CALL VCHAR 
(3,8,41,21):: CALL HCHAR(4,3 
,40):: CALL HCHAR(3,3,41) 

490 CALL HCHAR(2,3,34):: CAL 
L HCHAR(2,4,35):: CALL HCHAR 
(2,5,36):: CALL HCHAR(3,5,37 
):: CALL HCHAR(4,5,38):: CAL 
L HCHAR(4,4,39) 

500 CALL HCHAR(5,3,34):: CAL 
L, HCHAR (5,4,35,2) : : CALL HCH 
AR(5,6,36):: CALL VCHAR(6,6, 
37,2):: CALL HCHAR(8,6,38):: 

CALL HCHAR(8,4,39,2) 

510 CALL HCHAR(8,3,40):: CAL 
L VCHAR(6,3,41,2):: CALL HCH 
AR(6,4,56):: CALL HCHAR(7,4, 
57):: CALL HCHAR(6,5,58):: C 
ALL HCHAR(7,5,59) 

520 FOR H=17 TO 21 STEP 4 :: 

CALL VCHAR(4,H,61,19)I: CAL 
L HCHAR(H-6,10,62,19):: NEXT 

H :: CALL HCHAR(3,4,55) 


530 FOR H=3 TO 23 STEP 20 :: 

CALL HCHAR(H,18,62,3):: CAL 
L VCHAR(12,H+6,6i,3):: NEXT 
H 

540 FOR H=1 TO 40 :: CALL HC 
HAR(Y(H),X(H),60):: NEXT H : 

: FOR H=12 TO 14 STEP 2 :: C 
ALL HCHAR(H,17,55,5):I CALL 
VCHAR(li,H+6,55,5):: NEXT H 
:: fcr s=i to 4 :: for f=i t 

O 8 

550 CALL HCHAR(SY(S,F),SX(S, 
F) ,64 + F + 16*S) :: NEXT F : .* NE 
xt s :: for h=i to 31 step i 
0 :: CALL HCHAR(Y (H) ,X <H), (( 
H-l)/10+i)#16+64):: NEXT H 
560 CALL VCHAR(15,4,55,9):: 
CALL VCHAR(15,5,55,9):: CALL 
HCHAR(14,3,34):: CALL HCHAR 
(14,4,35,2):: CALL HCHAR(14, 
6,36) 

570 CALL VCHAR(15,6,37,9) : : 
CALL HCHAR(24,6,38):: CALL H 
CHAR(24,4,39,2):: CALL HCHAR 
(24,3,40):: CALL VCHAR(15,3, 
41,9) 

580 DISPLAY AT(8,7)SI2E(6):" 
MENiCH" :: DISPLAY AT(8,21)S 
IZE(7):"AE0GE0E" :: DISPLAY 
AT(18,7)SIZE(4):"DICH" 11 DI 
SPLAY AT(18,23)SIZE(5)I"NICH 
2 M 

590 CALL HCHAR(3,22,90):: CA 
LL HCHAR(4,22,91):: CALL HCH 
AR(22,16,122):: CALL HCHAR(2 
3,16,123):: CALL HCHAR(16,28 
, 106) 

600 CALL HCHAR(16,29,107) : : 
CALL HCHAR(10,9,139):: CALL 
HCHAR(10,10,140):: FOR H=10 
TO 28 STEP 18 :: CALL HCHAR( 
4,H,66):: CALL HCHAR(22,H,66 
):: NEXT H 

610 FOR S=i TO 4 :: IF ER(S) 
>0 THEN 1440 

620 CALL HCHAR(3,4,64 + 17*S) : 
: kenw=0 :: P=0 :: for h=i t 
0 4 :: IF WF(S,H)>0 AND WF(S 
,H)<41 THEN 690 ELSE IF WF(S 
,H)=0 THEN P=P+1 
630 NEXT H :: FOR H=1 TO 4 : 
: IF WF (S, H.' <41+ P AND WF(S,H 
)>0 THEN 690 

640 NEXT H :: FOR H=1 TO 3 : 
: IF S*(S)="C" THEN 670 
650 DISPLAY AT(1,1)BEEP:"53M 
743E0FELN7D03ECKE72A12E76" 
660 CALL KEY(1,K,ST):: IF K< 
>18 THEN 660 

670 DISPLAY AT(1,1):: W=INT< 


IR 



RND*6)+i :: CALL CHAR(56,W$< 
W) ) : .* IF W=6 THEN 730 
680 NEXT H :: FOR P=1 TO 100 
:: next p :: goto 1440 
690 IF S$(8)="C" THEN 720 
700 DISPLAY AT(1,1)BEEP:"53M 
743E0FELN7D03ECKE72A12E76" 

710 CALL KEY(1,K,ST) I : IF K< 
>18 THEN 710 

720 DISPLAY AT(1,1):: W=INT( 
RND*6)+i :: CALL CHAR(56,W$( 
W) ) I : IF W<6 THEN 790 
730 FOR F= 1 TO 4 :: IF WF(S, 

F) =0 THEN 750 
740 NEXT F :: GOTO 790 
750 H=1+(S-1)*10 :: IF SK(H) 
=0 THEN HKEN=1 :: HN=H :: H= 
0 w=l :: KENW=l :: GOTO 1 
220 

760 IF SK(H)< >S THEN HKEN=2 

:: hn=H :: H=0 :: w=i :: KEN 

W=1 :: GOTO 1220 

770 IF KENW=0 THEN HN=H :: H 

KEN=2 : : GOTO' 1220 

780 F=FK(H):: KENW=0 :: IF S 

K < H +W )=0 THEN HKEN=1 :: HN = H 

+6 :: GOTO 1220 ELSE HKEN=2 

:: HN=H + 6 :: GOTO 1220 

790 KENW=0 :: FOR F=1 TO 4 : 

: IF WF < S,F) -3 DR WF(S,F)+W> 
44 THEN KENF(F)-0 :: GOTO 66 
0 

800 IF WF(S,F)+ W >40 THEN 840 
810 FOR H=1 TO 4 :: IF WF(S, 
F)+ W=WF(S,H)THEN KENF(F) =0 : 

.* GOTO 860 

820 NEXT H :: H=KF(S,F)+W :: 

IF H>40 THEN H=H-40 
830 IF SK( H ) =0 THEN KENF ( F ) = 
1 :: GOTO 860 ELSE KENF(F)-2 
:: GOTO 860 

840 FOR H=1 TO 4 :: IF ( < WF ( 
S, H)>40 AND WF(S,H)>WF(S,F)A 
ND WF(S, H)<(WF(S,F)+W)))OR W 
F(S,H)=(WF(S, F)+W)THEN KENF( 
F )=0 :: GOTO 860 
850 NEXT H :: KENF(F) =1 
860 NEXT F : : FOR H=1 TO 4 I 
: IF KENF(H)>0 THEN 880 
870 NEXT H :: GOTO 1300 
880 FOR H=1 TO 4 :: IF KENF ( 
H)=2 THEN HKEN=2 :: GOTO 920 
890 NEXT H :: HKEN=i :: IF < 
1=KENF(1)AND(1=KENF(2)OR 1=K 
ENF(3)OR i=KENF(4)))OR(i=KEN 
F(2)AND(1“KENF(3)OR i=KENF(4 
)))0R(1=KENF(3)AND 1=KENF<4) 
)THEN 950 

900 FÜR F=1 TO 4 :: IF KENF( 
F)=1 THEN 1190 
910 NEXT F 


920 IF (2=KENF(1)AND(2=KENF( 

2)OR 2=KENF (3)OR 2=KENF<4))) 
OR <2=KENF(2)AND(2-KENF (3) OR 
2=KENF(4)))OR (2=KENF (3) AND 2 
=KENF(4))THEN 950 
930 FOR F=1 TO 4 :I IF KENF( 

F)=2 THEN 1190 
940 NEXT F 

950 FOR F=1 TO 4 :: IF HKEN= 
KENF(F)THEN CALL HCHAR(Y(F + 4 
0),4,64+F+16*S):: FK(40 + F > =F 
960 NEXT F :: IF S$(S)="C" T 
HEN 1100 

970 IF FK(41)>0 THEN HIL1,HI 
L2 = 41 :: GOTO 990 
980 IF FK(42)>0 THEN HIL1,HI 
L2=42 ELSE HIL1,HIL2=43 
990 IF FK(44)>0 THEN HIL3=44 
:: GOTO 1010 

1000 IF FK(43)=0 THEN HIL3=4 
2 ELSE HIL3=43 

1010 PA=5 :: CALL HCHAR(Y(HI 
L2),5,64) 

1020 FOR P=1 TO 3+PA :: CALL 
KEY(1,K,ST) : : IF K< >18 THEN 
1040 ELSE F=HJL2-40 
1030 CALL KEY(1,K,ST) : IF K 
=18 THEN 1030 ELSE 1190 
1040 CALL JOYST(1,XJ,YJ) \ : I 
F YJ=0 THEN 1090 ELSE CALL H 
CHAR(Y(HIL2),5,55) 

1050 CALL JOYST(l,K,ST):: IF 
ST< >0 THEN 1050 
1060 HIL2=HIL2-YJ/4 :: IF HI 
L2<HIL1 THEN HIL2 = HIL3 
1070 IF HIL2>HIL3 THEN HIL2 = 
HI LI 

1080 IF FK(HIL2)=0 THEN 1060 
ELSE 1010 

1090 NEXT P :: IF PA>0 THEN 
PA=0 :: CALL HCHAR(Y(HIL2),5 
,55):: GOTO 1020 ELSE 1010 
1100 FOR F= 1 TO 4 :: IF 'WF(S 
,F)=i AND KENF(F)>0 AND(HKEN 
02 OR KENF (F) »2) THEN 1180 
1110 NEXT F :: IF FK(41)=0 T 
HEN HIL1=0 ELSE HIL1=WF(S,FK 
.(41) ) 

1120 IF FK(42)=0 THEN HIL2=0 
ELSE HIL2=WF(S,FK(42)) 

1130 IF FK < 43)=0 THEN HIL3=0 
ELSE HIL3=WF <S,FK(43)) 

1140 IF FK(44)=0 THEN HIL4=0 
ELSE HIL4=WF(S,FK(44)) 

1150 IF HIL1>HIL2 AND HILi>H 
IL3 AND HIL1>HIL4 THEN F=1 : 

: GOTO 1180 

1160 IF HIL2>HIL3 AND HIL2>H 
IL4 THEN F=2 :: GOTO 1180 
1170 IF HIL3>HIL4 THEN F=3 E 


LSE F=4 

1180 CALL HCHAR(Y(F+40),5,64 
) 

1190 FK <41),FK(42),FK(43),FK 
(44)=0 :: IF WF(S,F)>40 THEN 
H=WF(S,F>:: HN=H+W-40 :: GO 
TO 1220 

1200 IF WF(S,F)+ W >40 THEN H= 
KF(S,F):: HN=WF(S,F)+W-40 :: 
GOTO 1220 

1210 H=KF(S,F):: HN=H+W :: I 
F HN >40 -THEN HN = HN-40 
1220 IF HKEN=2 THEN CALL HCH 
AR(SY(SK(HN),FK(HN)),SX(SK <H 
N) , FK (HN) ) , 64 + FK(HN)+SK(HN)* 
16):: WF(SK(HN),FK(HN)),KF(S 
K(HN),FK(HN))=0 :: GOTO 1250 

1230 IF WF(S,F)>40 THEN CALL 
HCHAR(SY(S,H~36),SX(S,H-36) 

,28+H+S*16)ELSE 1250 
1240 CALL HCHAR(SY(S,HN + 4) , S 
X(S,HN+4),64+F+16*S):: KF(S, 
F),WF(S,F)=WF(S,F)+W :: GOTO 
1300 

1250 IF H=1 OR H=11 OR H=21 
OR H=31 THEN CALL HCHAR(Y(H) 

,X(H),((H-i)/10+1)*16+64):: 
GOTO 1270 

1260 IF H=0 THEN CALL HCHAR( 
SY(S,F) ,SX(S,F) ,73 + 16^-S) : : G 
OTO 1290 ELSE CALL HCHAR(Y(H 
),X(H),60):: GOTO 1280 
1270 IF HN=H THEN WF(S,FK(H) 

),KF(S,FK(H)),SK(H),FK(H)=0 
:: GOTO 1300 

1280 SK(H),FK(H)=0 :: IF (WF 
(S,F)+W)>40 THEN 1240 
1290 CALL HCHAR(Y(HN),X(HN), 
64+f+16#S):: sk(HN)= s :: FK( 
HN) *=F :: KF ( S, F ) =HN :: WF(S, 
F) a WF(S,F)+W 


1300 IF KENW=1 THEN W=6 
1310 FOR H=1 TO 4 :: IF WF(S 
,H)<41 THEN 1330 
1320 NEXT H :: GOTO 1340 
1330 IF W=6 THEN CALL CHAR(5 
6,W$(7))i: CALL VCHAR(15,4,5 
5,9):: CALL VCHAR(15,5,55,9) 
:: GOTO 690 ELSE 1440 
1340 IF ERG=0 THEN ERG,ER(S) 
=1 :: ER*(S)=" SIEGE R" 

:: GOTO 1440 

1350 IF ERG=1 THEN ERG,ER(S) 
=2 :: ER*(S)=" NOCH ZWEITER" 
:: GOTO 1440 ELSE ER(S)=3 : 

: ER*(S)=" NUR DRITTER" 

1360 FOR S=1 TO 4 :: IF ER(S 
)=0 THEN ER(S)=4 :: ER*(S)=" 
LETZTER" :: GOTO 1380 
1370 NEXT S 

1380 CALL CLEAR :: FOR H=i T 
0 8:: CALL COLOR(H,2,1) I : N 
EXT H :: CALL CHARSET 

1390 HS* (1 ) = ".1. SPIELER 

GRUEN" HS* (2)="..,_2. 

SPIELER ROT" :: HS*(3)="_ 

...3.SPIELER BLAU" :: HS$(4) 

= ".4. SPIELER MAGENTA" 

1 400 FOR H=1 TO 4 :: FOR S=1 
TO 4 :: IF S*(S)="C" THEN S 
*(S)="COMPUTER" 

1410 IF ER(S)=H THEN DISPLAY 

at(h*5-i, l): hs*(S):: displa 

Y AT(H*5+l,3):S*(S):: DISPLA 

Y AT(H*5+i,15):ER*(S) 

1420 NEXT S :: NEXT H 

1430 FOR P=1'TO 10000 :: NEX 
TP:: RUN 

1440 CALL. CHAR(56,W$<7) ) : : C 
ALL VCHAR(15,4,55,9):: CALL 
VCHAR(15,5,55,9) 

1450 NEXT S :: GOTO 610 


Cursor 

neu 

definieren 

Bei Programmen mit 
Menüstruktur und anderen 
Gelegenheiten kann es 
sinnvoll sein, Gestalt und/ 
oder Farbe des Cursors 
zu verändern. So wird dem 
Benutzer ein Hinweis ge¬ 
geben, in welcher Pro¬ 
grammebene er sich jeweils 
befindet. 

Während die Zeichen mit 
den ASCII-Codes >31 am 
einfachsten mit CALL 
CHAR zu definieren sind, 


kann die Form des Cur¬ 
sors nur mit demPOKEV- 
Befehl des Minimems 
oder einer der inzwischen 
in mehreren Variationen 
veröffentlichten CALL 
LINK(POKEV“,...)-Rou- 
tinen für die Speicherer¬ 
weiterung beeinflußt wer¬ 
den. 

Das geschieht dadurch, 
daß in die Adressen ab 
1008 acht Dezimalzahlen 
gepokt werden, eine für 
jede Punktzeile des 8x8- 
Rasters des Cursorzei¬ 
chens. Es sind dies einfach 
die ins Dezimalsystem 
umgerechneten 8stelligen 
Dualzahlen mit dem Bit¬ 
muster der einzelnen Zei¬ 
len, die im vertrauten 


CHAR-Statement hexa¬ 
dezimal verschlüsselt sind. 
Nun ist es nicht jeder¬ 
manns Sache, sich in drei 
Zahlensystemen zu bewe¬ 
gen. Ein praktischer Weg 
für eine Neudefinition 
des Cursorzeichens be¬ 
steht darin, daß man äqui¬ 
valente Funktionen von 
CALL CHAR und CALL 
POKEV einerseits und 
CALL GCHAR sowie 
CALL PEEKV anderer¬ 
seits ausnutzt. CHAR und 
GCHAR benutzen die 
hexadezimale, POKEV 
und PEEKV die dezimale 
Codierung. 

Die kurze Routine 
100 CALL CHAR(143, 
A$) 


110 CALL PEEKV(1912, 
A,B,C,D,E,F,G,H) 
120 CALL POKEV(1008, 
A,B,C,D,E,F,G,H) 
arbeitet folgendermaßen: 
In Zeile 100 wird ein Zei¬ 
chen wie gewohnt durch 
den Hex-String A$ defi¬ 
niert. 110 Peekt die 8 
Ziffern des gleichwertigen 
dezimalen Codes heraus. 
120 pokt dieselben Werte 
in die Adressen ab 1008 
für den Cursor. 

Die PEEK/POKE-Adres- 
sen erhält man aus der 
ASCCI-CODE-Nr. der 
Zeichen durch die Um¬ 
rechnung ADR=(ASC 
+95)*8+8. 

Dieter Taube 


20 






********************** 


10 ! 

11 ! * 

12 ! * 

13 ! * 

14 ! * 

15 ! * 

16 ! * 

17 ! * 

19 ! * 

20 ! * 

21 ! * 

22 ! * 

23 ! * 

24 ! * 

26 ! * 

27 ! * 

28 ! * 

29 ! ********************** 
100 CALL INIT :: CALL LOAD(- 
31806,16):: CALL SCREEN(4>:.‘ 
CALL CHARSET :: ON BREAK NE 
XT 

110 DISPLAY AT(12,3)ERASE AL 
L BEEP:"IST EINE SPIELANLEIT 
UNG-: : ".. ERWUENSCHT ? 


LINGUA 
(Teil 1) 

Copyright by 

Roger Hueser 

Benoetigte Geraete 
TI99/4A Konsole 
Ext. Basic 
32K-Erw. 
Joystick 

Speicherbelegung 
5095 Bytes 


* 

* 

* 

* 

* 

* 

* 

* 

* 

* 

* 

* 

* 

* 

* 

* 


120 FOR P=1 TO 1000 :: CALL 
KEY(0,K,S):: IF K=74 OR K=10 
6 THEN 140 ELSE IF S<>0 THEN 
640 

130 NEXT P :: GOTO 640 

140 DISPLAY AT(1,1)ERASE ALL 

:"BEI DIESEM SPIEL BEKOMMT": 

:"JEDER MITSPIELER 12 BUCH- 
:"STABEN PRO DURCHGANG." 
150 DISPLAY AT(8,1):"DIESE W 
ERDEN IN EINEM FELD": :"NEBE 
N DEM SPIELFELD": :"ANGEZEIG 
T.": : :"1 - 12 BUCHSTABEN M 
UESSEN SO" 

160 DISPLAY AT(17,1):"AUF DA 
S SPIELFELD GESETZT": :"WERD 
EN, DASS EIN SINNVOLLES": :" 
WORT ENTSTEHT.": : :"WEITER 
DRUECKE TASTE !" 

170 FOR P=1 TO 1500 :: CALL 
KEY (0, K, S) : : IF SO0 THEN 19 
0 

180 NEXT P 

190 DISPLAY AT<1,1)ERASE ALL 
:"ZUR BILDUNG EINES WORTES," 
: .'"MUESSEN EIN ODER MEHRERE 
": :"AUF DEM SPIELFELD VORHA 
NDENE" 

200 DISPLAY AT(7,1):"BUCHSTA 
BEN EINBEZOGEN WERDEN": : :" 

WENN NEU GESETZTE BUCHSTABEN 
": :"AN VORHANDENE BUCHSTABE 

N" 

210 DISPLAY AT(14,1):"GRENZE 


N, SO MUSS IMMER EIN": :"SIN 
NVOLLES WORT ENTSTEHEN.": : 

: : : : : :"weiter druecke t 

ASTE !" 

220 FOR P=1 TO 1500 :: CALL 
key(0,k,s):: if s<>0 then 24 
0 

230 NEXT P 

240 DISPLAY AT(1,1)ERASE ALL 
: "JEDES WORT SOLLTE NUR EINM 
AL": :"AUF DEM SPIELFELD VOR 
HÄNDEN": :"SEIN." 

250 DISPLAY AT(9,1):"WELCHE 
WOERTER ERLAUBT SIND,": :"MU 
SS VOR SPIELBEGINN": :"GEREG 
ELT WERDEN.": :"z.B. NUR WOE 
RTER AUS DEM" 

260 DISPLAY AT( 17,1 ):"DUDEN, 
ODER AUCH BESTIMMTE": :"FRE 
MDWOERTER, ODER/UND AUCH": : 
"EIGENNAMEN, VORNAMEN usw.": 

: :"WEITER DRUECKE TASTE !" 
270 FOR P=1 TO 1500 :: CALL 
KEY (0, K, S) : : IF SO0 THEN 29 
0 

280 NEXT P 

290 DISPLAY AT<1,1)ERASE ALL 
:"DER WERT EINES GESETZTEN": 

:"BUCHSTABEN RICHTET SICH N 
ACH": :"SEINER FARBE. ": :"GE 
LB..= 1 PUNKT" 

300 DISPLAY AT<8,1):"ROT...= 
2 PUNKTE":"GRUEN = 3 PUNKTE 
":"BLAU..= 4 punkte": : : :" 
BESTEHT EIN WORT NUR AUS" 

310 DISPLAY AT<16,1):"BUCHST 
ABEN EINER FARBE, SO": :"ZAE 
HLT JEDER BUCHSTABE": :"25 P 
UNKTE ZUSAETZLICH.": ': : : "W 
EITER DRUECKE TASTE ! " 

320 FOR P=i TO 1500 CALL 
KEY(0,K,S):: IF SO0 THEN 34 
0 

330 NEXT P 

340 DISPLAY AT<1,1)ERASE ALL 
:"HAT EIN BUCHSTABE DIE": :" 
GLEICHE FARBE WIE DAS FELD": 

. :"AUF DAS ER GESETZT WURDE, 
SO" 

350 DISPLAY AT<7,1):"ZAEHLT 
ER ALS AS, UND ZAEHLT": :"10 
PUNKTE ZUSAETZLICH.": : : "H 
AT EIN SPIELER BESTIMMTE" 

360 DISPLAY AT(14,1):"ANZAHL 
EN AN ASSEN GESAMMELT,": :"D 
ANN ZAEHLEN DIE GESETZTEN": 

:"WOERTER MEHR.": :"AB 10 AS 
SE DOPPELT" 

370 DISPLAY AT(21,1):"AB 15 
ASSE DREIFACH":"AB 20 ASSE V 


21 






IERFACH": :“WEITER DRUECKE T 
ASTE ! " 

380 FOR P=1 TO 1500 :: CALL 
KEY(0,K,S):: IF SO0 THEN 40 
0 

390 NEXT P 

400 DISPLAY AT(1,1 JERASE ALL 
:"AB 10 ASSEN DARF EIN BUCH- 
": :"STABE AUSGETAUSCHT WERD 
EN,": :"WENN DADURCH EIN FAR 
BWORT" 

410 DISPLAY AT(7,1):"GEBILDE 
T WERDEN KANN.": : :"DAZU DA 
RF DER SPIELER DEN": :"BUCHS 
TABEN IN DER FALSCHEN": :"FA 
RBE GEGEN DEN BUCHSTABEN" 

420 DISPLAY AT(16,1):"IN DER 
RICHTIGEN FARBE": :"TAUSCHE 
N, WENN DIESER AUF": :"DEM S 
PIELFELD VORHANDEN IST.": .' 

.* : "WEITER DRUECKE TASTE !" 
430 FOR P=1 TO 1500 :: CALL 
KEY (0, K, S) : IF SO0 THEN 45 
0 

440 NEXT P 

450 DISPLAY AT<1,1 JERASE ALL 
.•"BEI SPIELBEGINN MUSS DAS": 

:"ERSTE WORT WAAGERECHT IN 
DIE": :"ZWEITE ZEILE VON OBE 
N" 

460 DISPLAY AT <7, 1):"GESETZT 
WERDEN, UND MUSS AM": I"LIN 
KEN SPIELFELDRAND": .'"BEGINN 
END MINDESTENS 4 BUCH-": :"S 
TABEN LANG SEIN." 

470 DISPLAY AT(15,3):"DAS ZW 
EITE WORT MUSS SENK-": :"REC 
HT GEBILDET WERDEN.": I"..DA 
NACH IST DIE AUSWAHL DEM": : 
"SPIELER UEBERLASSEN. " 

480 DISPLAY AT<24,1):"WEITER 
DRUECKE TASTE !" :: FOR P=1 
TO 1500 :: CALL KEY(0,K,S): 

: IF SO0 THEN 500 
490 NEXT P 

500 DISPLAY AT(1,1 JERASE ALL 
I"EIN BUCHSTABE WIRD GESETZT 
,": :"INDEM MIT DEM JCYST DE 

R": :"PFEIL AUF DEN AUSGEWAE 
HLTEN" 

510 DISPLAY AT(7,1):"BUCHSTA 
BEN BEWEGT WIRD, UND": I"ANS 
CHLIESSEND DIE FEUERTASTE": 

:"BETAETIGT WIRD.": :"DANACH 
WIRD MIT JOYST UND" 

520 DISPLAY AT( 15, 1) .'"FEUERT 
ASTE DIE SPIELFELD-": :"KOOR 
DINATE AUF DIE DER AUS-": :" 
GEWAEHLTE BUCHSTABE GESETZT" 
: "WERDEN SOLL BESTIMMT." 
530 DISPLAY AT(24,1):"WEITER 


DRUECKE TASTE !" :: FOR P=1 
TO 1500 :: CALL KEY(0,K,S): 

: IF SO0 THEN 550 
540 NEXT P 

550 DISPLAY AT(1,1)ERASE ALL 
:"DIE AUSWAHL DER JEWEILS": 

:"ANGEZEIGTEN OPTIONEN ERFOL 
GT": :"IN GLEICHER WEISE MIT 
TELS" 

560 DISPLAY AT(7,1):"JOYST U 
ND FEUERTASTE. " : .* :"OPTION 

ANZEIGEN MUSS AUSGE-": :"WAE 
HLT WERDEN, WENN EIN WORT": 
.'"FERTIG GESETZT IST." 

570 DISPLAY AT(17,1):"ALLE A 
NDEREN OPTIONEN": :"ERKLAERE 
N SICH SELBST." 

580 DISPLAY AT(24,1):"WEITER 
DRUECKE TASTE !" :: FOR P=1 
TO 1500 :: CALL KEY(0,K,S): 

.' IF SO0 THEN 600 
590 NEXT P 

600 DISPLAY AT(1,1 JERASE ALL 
:"DAS SPIEL IST BEENDET, WEN 
N": :"EIN BUCHSTABE AUF EINS 
DER": :"ZAHLENFELDER GESETZ 
T WIRD" 

610 DISPLAY AT(10,1):"SOLL I 
CH DAS SPIEL NOCHMALS".' :".. 

.ERKLAEREN ?": : .' :"D 

ANN DRUECKE TASTEJ""" 

620 DISPLAY AT(24,1):"WEITER 
DRUECKE TASTE !" :: FOR P=1 
TO 1500 :: CALL KEY(0,K,S): 

: IF K=74 OR K=106 THEN 140 
ELSE IF S< >0 THEN 640 
630 NEXT P 

640 DISPLAY AT(5,8)ERASE ALL 
BEEP:"BITTE WARTEN." :: DIS 
PLAY AT(8,8):"ICH ARBEITE . u 
650 DISPLAY AT(13,3):"GLEICH 
BEGINNT DAS SPIEL": : :"> > 
> >LINGUA< < <•<" 

660 CALL CHAR(37,"0000000F0F 
0F0F0F0F0F0F0F0F000000000000 
F0F0F0F0F0F0F0F0F0F"):: CALL 
CHAR(41,"FF818181818181FF") 
670 CALL CHAR(33,"FFFFFFFFFF 
000000F0F0F0F0F0F0F0F00F0F0F 
0F0F0F0F0F000000FFFFFFFFFF"J 
680 CALL CHAR(140,"007754172 
1457700007714171115170000774 
5751555770000775577115577") 
690 CALL CHAR<137,"FFFFFF818 
1FFFFFFFFE7E7E7E7E7E7FF"): : 
CALL CHAR(42,"FFFFFFFFFFFFFF 
FF" ) 

700 CALL CHARPAT(48,A$):: CA 
LL CHAR(79,A$) 

710 FOR P=65 TO 87 :: CALL C 


22 



TIPS & TRICKS 


HARPAT(P,P$):: CALL CHAR(P+3 

2,p$>:: next p :: call char< 

101,"007C407840407C7C",108,“ 
0040404040407C7C") 


720 CALL C0L0R<9,2,6,10,2,6, 
11,2,6,12,2,11,13,2,11,14,2, 
16) 

730 RUN "DSK1.LINGUA!" 


Inverser 


100 ! INVERSER ZEICHENSATZ 
110 ! 

120 1 (TI EXTENDED BAISC) 

130 ' 

140 CALL INVERS 

150 ! REM WEITERES PROGRAMM 

160 END 

5000 SUB INVERS 
5010 CALL CHAR(96,"")!LEERZE 
ICHEN MIT FCTN C 
5020 FOR 1=96 TO 126 :: CALL 
CHARPAT(I,1$):: CALL CHAR(I 
,SEG$(1$,3,14)):: NEXT I 
5030 CALL CGL0RC9,16,5,10,16 
,5,11,16,5,12,16,5):: SUBEND 

100 ! BALKENDIAGRAMM STUFENL 
OS 

110 ! 

120 ! 

130 CALL CHAR(143,"FFFFFFFFF 
FFFFFFFF") 

140 ! 

150 ! DEMONSTRATIONSPROGRAMM 
160 CALL CLEAR :: FOR 1=0 TO 
15 :: CALL BALKEN<I,RND*21) 

:: NEXT I 

170 CALL KEY(0,K,S)s: IF NOT 
S THEN 170 ELSE 180 
180 f 
190 END 

8000 SUB BALKEN(X,P) 

8010 Pi=INT(P):: P2*INT(<P-P 
i)*S) 

8020 IF P2 THEN B$=SEG$<"000 
0000000000000FFFFFFFFFFFFFFF { 
F",2#P2+1,16)ELSE B$="" 

8030 CALL CHAR(127+X,B$):: I 
F Pi=0 THEN 8050 
8040 FOR K=22 TO 22-Pl+i STE 
P -1 :: CALL VCHAR(K,2+2*X,1 

43):: NEXT K 

8050 CALL VCHAR(22-P1,2+2*X, 

12 7 + X ) 

8060 SUBEND 


1 (TI EXTENDED BAI SC) 

i 

CALL INVERS 

! REM WEITERES PROGRAMM 


Das erste invertiert alle 
Kleinbuchstaben und 
setzt sie gleichzeitig eine 
Pixelzeile nach oben, so 
daß die Zeichen auch 
wirklich im Inneren des 
invertierten Feldes er¬ 
scheinen: 

* 

Wenn die deutschen Son¬ 
derzeichen gebraucht wer¬ 
den, ist Zeile 5010 zu er¬ 
weitern: 


5010 CALL CHAR(96, 

“ “,123,“00004438447C 
4440000443844444438 
00004400444444380000 
38447844784“) 

BALKENDIAGRAMM 

STUFENLOS 

Die zweite Routine er¬ 
zeugt mit wenigen Anwei¬ 
sungen ein schnelles Bal¬ 
kendiagramm mit Pixel¬ 
weise variierten Balken¬ 
höhe: 


Bfll- UEHP T fiGPfiMME '• 


BflLKEHDIflGRflmiE 


23 







10 

i 

********************** 

11 

i 

* 

LINGUA1 

* 

12 

i 

* 

(Teil 2) 

* 

13 

i 

* 


* 

14 

i 

* 

Copyright by 

* 

15 

i 

* 


* 

16 

i 

* 

Roger Hueser 

* 

17 

i 

* 


* 

19 

; 

* 

Benoetigte Geraete 

* 

20 

i 

* 

TI99/4A Konsole 

* 

21 

; 

* 

Ext. Basic 

* 

22 

; 

* 

32K-Erw. 

* 

23 

j 

* 

Joystick 

* 

24 

i 

* 


* 

26 

i 

* 

Speicherbelegung 

* 

27 

i 

* 

15943 Bytes 

* 

28 

i 

* 


* 

29 

| 

********************** 

100 

ON 

BREAK NEXT :: CALL 

I 


IT :: CALL LOAD(-31806,16):: 

ON WARNING NEXT :: OPTION B 
ASE i :: RANDOMIZE :: CALL c 
LEAR 

110 DIM SPIELERS(6),F(17,17) 

,ASSE(6) ,ERG ( 6) ,BU(336) , A<12 
),W(12),XA(150),YA(150),XB(1 
2),YB(12),BSET(12):: GOTO 33 
0 

120 Q=Q +1 :: IF ALAS=0 THEN 
RETURN ELSE IF ALAS=1 THEN 1 
40 ELSE IF Q>ALAS THEN Q=i 
130 CALL SPRITE(#10,42,2,3*Y 
A<Q)-7,8*XA(Q)-7):: RETURN 
140 Q=1 :: t=t +1 :: IF T>1 T 
HEN T=0 :: CALL DELSPRITE(#1 
0):: RETURN ELSE 130 
150 H=HILF :: T=F(XXX-13,YYY 
-1) 

160 IF H>51 AND H<72 AND T=4 
1 THEN 170 ELSE IF H>72 AND 
H<96 AND T=72 THEN 170 ELSE 
IF H>96 AND H<120 AND T=96 T 
HEN 170 ELSE IF H>120 AND H< 
136 AND T=120 THEN 170 ELSE 
IF H=HILF THEN H=HIL :: GOTO 
160 :: ELSE RETURN 
170 IF H=HIL THEN ALAS=ALAS+ 
1 :: YA<ALAS)=YYY :: XA < ALAS 
)=XXX :: RETURN 
180 FOR T=1 TO ALAS :: IF YA 
(T)OYYY OR XA<T)OXXX THEN 
190 ELSE IF T=1 THEN 200 ELS 
E YA < T)=YA(1):: XA(T)=XA(1): 
: RETURN 
190 NEXT T 

200 IF YA(1)=YA(ALAS)AND XA( 
i)=XA(ALAS)THEN ALAS=ALAS-1 
:: GOTO 200 

210 FOR T=ALAS TO 1 STEP -1 
:: IF YA(1)=YA(T)AND XA(1)=X 


A(T)THEN YA(T)=YA(ALAS):: XA 
(T)=XA(ALAS) 

220 NEXT T :: RETURN 
230 YY=Y :: IF U<2 THEN DISP 
LAY AT(9,3)BEEP SI2E(5):"A89 
" :: DISPLAY AT(10,3)SI2E(6) 

:"F8G=8A " 

240 IF U=1 THEN DISPLAY AT(1 
4,3)SIZE(8):"G49F6J8A" ' 

250 DISPLAY AT(12,3)SIZE(5): 

"3A78" :: DISPLAY AT(17,3)SI 
ZE(5):"D8EG" :: Y=12 
260 CALL HCHAR(Y,4,137):: H= 
6 

270 FOR P=1 TO 3 + H :: CALL J 
OYST(1,K,ST):: IF ST=0 OR U> 
1 THEN CALL KEY(1,K,ST): : GO 
TO 300 ELSE CALL HCHAR(Y,4,3 
2):: Y=Y-ST/2 :: IF Y=16 THE 
N Y=9 :I GOTO 290 
280 IF U=1 AND Y=7 THEN Y=14 
.* : GOTO 290 ELSE IF U=0 AND 
Y=7 THEN Y=12 :: GOTO 290 E 
LSE IF Y=10 THEN Y=9 :: GOTO 
290 ELSE IF Y=11 THEN Y=12 
:: GOTO 290 ELSE IF U=0 AND 
Y=14 THEN Y=9 

290 CALL JOYST(l,K,ST):: IF 
ST=0 THEN 260 ELSE 290 
300 IF K=18 THEN 320 
310 NEXT P : : IF H=6‘ THEN H= 
0 :: CALL HCHAR(Y,4,32):: GO 
TO 270 ELSE 260 
320 CALL KEY(1,K,ST):: IF K= 
18 THEN 320 ELSE IF Y<13 THE 
N 1960 ELSE U=2 Y=YY :: G 
OTO 1260 

330 F(l,1),F(l,17), F(17,1),F 
(8,3),F(8,15),F(10,3),F(10,1 
5)=96 :: FOR P=l TO 5 :: F(P 
,6-P),F(P,12 + P),F(P+2,9-P),F 
(P + 2,P + 9)=96 

340 F(P+10,P+3),F(P+10,15-P) 
,F(P+12,P),F(P+12,18-P)=96 : 

: NEXT P :: F(9,9)=96 
350 FOR P=1 TO 3 I: F(P,4-P) 
,F(P,14+P),F(P+5,9-P),F(P+5, 
9+P),F(P+9,5+P),F(P+9,13-P), 
F(P+14,P),F(P+14,18-P)=72 :: 
NEXT P 

360 FOR P=1 TO 8 :: F(P,9-P) 

,F(P,9+P),F(P+9,P),F(P+9,18- 
P)=72 :: NEXT P 
370 FOR P=1 TO 7 :: F(P,8-P) 
,F(P,10+P),F(P+10,P),F(P+10, 
18-P) =120 F(P+l f 9-P),,F(P + 

1,9+P),F(P+9,1+P),F(P+9,17-P 
)=4l :: NEXT P 

380 FOR P=i TO 4 :: F(P,5-P) 
,F(P,13+P),F(P+13,P),F(P+13, 



ie-p)«=4i :: f <p+4,9-p) , f <p+4 
,9+P),F(P + 9,4 + P),F(P+9,14-P) 
=120 :: NEXT P 

390 F(1,2),F<2,1),F<1,16),F< 
2,17), F < 16, 1),F(17,2),F<8,9) 

,F(9,8),F(10,9),F<9,10)=120 
400 F(7,8),F(8,7),F(7,10),F( 
10,7),F<8,11),F(11,8),F(10,1 
1),F<11,10)=41 :: F(16,16)=4 
2 

410 DISPLAY AT(13,1)BEEP ERA 
SE ALL:"WIEVIELE MITSPIELER 
?" :: ACCEPT AT<13,24)VALIDA 
TE("123456")SIZE(1)I SPIELER 
:: FÜR P=i TO SPIELER 
420 DISPLAY AT(10,1)BEEP ERA 
SE ALL:"NAME DES ";STR$(P);" 

. MITSPIELERS" :: ACCEPT AT( 
12,1)VALIDATE(UALPHA)SIZE(15 
) : SPIELER* <P) : IF SPIELER** 

P)="R" THEN 2130 
430 NEXT P :: CALL CLEAR :: 
CALL CHAR<90,"007C040810207C 
7C " ) 

440 FOR P=6 TO 8 : : CALL COL 
or <p,2,9):: NEXT P :: call c 
HARPAT <83,A$,89,B*,90,C$) 

450 FOR P=49 TO 57 :: CALL C 
HARPAT(P,P$):: CALL CHAR(P-6 
,P$):: NEXT P :: FOR P=97 TO 
116 :: CALL CHARPAT <P,P$):: 
CALL CHAR(P-45,PS,P-24,P*): 

: NEXT P 

460 FOR P=97 TO 111 :: CALL 

CHARPAT<P,P$):: CALL CHAR(P+ 
24,p*):: NEXT p :: call char 
PAT<41,P$):: CALL CHAR(72,P* 

,96,P*,120,P$,136,P$) 

470 CALL CHAR <106,A*,113,B*, 
102,C*,61,C*) I: CALL CHAR < 93 
,A*,94,B$,95,C*):: CALL CHAR 
PAT(119,P*,117,A*)!: CALL CH 
AR <68,P*,57,A*) 

480 CALL HCHAR<1,13,37):: CA 
LL HCHAR<1,14,36,17):: CALL 
HCHAR <1,31,39):: CALL VCHAR < 
2,31,34,17):: CALL HCHAR<19, 
31,40) 

490 CALL HCHAR<19,14,33, 17) : 

: CALL HCHAR<19,13,38)i: CAL 
L VCHAR<2,13,35,17)I: CALL H 
CHAR <3,13,137):: FOR Y=i TO 
17 :: FOR X=1 TO 17 
500 IF X>15 AND Y>15 THEN F< 
Y,X)=42 :: GOTO 510 ELSE IF 
F <Y,X)=0 THEN F <Y,X)=136 
510 CALL HCHAR(Y+1,X+13,F(Y, 
X)):: NEXT x :: NEXT Y :: Dl 
SPLAY AT <1,1)SIZE(8) :"FC<8?8 
E" :: DISPLAY AT<3,1)SIZE(8) 
: "4FF8" :: DISPLAY AT < 5,1)SI 


ze <8):"C9A>G8" :: begin=i :: 
GOSUB 2060 

520 FOR S=1 TO SPIELER :: XX 
,YY=0 :: DISPLAY AT<1,9)BEEP 
SIZE <1):CHR* <S + 42):: FOR P= 

1 TO LEN<STR$<ASSE<S))):: A* 
=CHR* < 42 + VAL < SEG* < STR* < ASSE < 
S)),P,1))):: IF A$="*" THEN 
A*="B" 

530 DISPLAY AT <3,5 + P)SIZE(3) 

: A* :: NEXT P 

540 FOR P=1 TO LEN<STRS<ERG< 
S) ) ) : : A*=CHR*(42+VAL(SEG*(S 
TR*(ERG(S)),P,1))):: IF A*=" 
*" THEN A*="B" 

550 DISPLAY AT(6,P)SIZE(4):A 
* :: NEXT P 

560 NS=0 :: FOR P=1 TO 12 
570 B=1+INT<RND*336):: IF BU 
(B)=1 THEN 570 ELSE BH=5i+IN 
T <(3 + B)/4): : IF BH = 72 OR BH= 
96 OR BH=120 THEN BU<B)=i :: 

GOTO 570 ELSE A(P)=BH :: W( 
p)=B :: BU < B)=1 
580 NEXT P :: FOR P=i TO 12 
:: BU < W < P ))=0 :: NEXT P 
590 FOR H= 1 TO 11 :: FOR P=H 
+1 TO 12 :: IF A( H )>A( P ) THEN 
HI=A(H):: A<H)=A(P):: A<P)= 
Hi :: hil=w<H):: w<H)=w<P):: 
W(P)=HIL 

600 NEXT P :: NEXT H 
610 GOSUB 2070 :: CALL HCHAR 
<7,3,37):: CALL HCHAR<7,4,36 
,3):: CALL HCHAR <7,7,39) : : C 
ALL VCHAR(8,7,34,12):: CALL 
HCHAR <20,7,40):: CALL HCHAR< 
20,4,33,3) 

620 CALL HCHAR<20,3,38):: CA 
LL VCHAR<8,3,35,12)::.CALL V 
CHAR<8,4,139,12):: CALL VCHA 
R<8,5,139,12):: CALL VCHAR<8 
,6,139,12):: GOSUB 2050 
630 FOR P=1 TO 12 :: CALL HC 
HAR (7 + P,5,A <P)):: NEXT P 
640 Y=19 :: AG=0 :: CALL VCH 
AR(21,4,32,4) 

650 IF BU(W(Y-7))=0 THEN 660 
ELSE Y=Y-1 :: IF Y<8 THEN Y 
=21 ELSE 650 

660 CALL HCHAR<Y,4,137):: H= 
6 

670 FOR P=1 TO H+3 :: GOSUB 
120 :: CALL JOYST(1,K,ST):: 
IF ST=0 THEN 710 ELSE IF Y>1 
9 THEN CALL HCHAR<Y,4,32)ELS 
E CALL HCHAR(Y,4,139) 

680 Y=Y-ST/4 :: IF Y=20 THEN 
680 ELSE IF Y=25 THEN Y=8 : 
: GOTO 690 ELSE IF Y=7 THEN 




25 


Y=24 :: GOTO 700 ELSE IF Y>1 
9 THEN 700 

690 IF BU(W(Y-7))=1 THEN 680 
700 CALL JOYST(l,K,ST):: IF 
ST=0 THEN 660 ELSE Z=Z + i :: 
IF Z>10 THEN 660 ELSE 700 
710 Z=0 :: CALL KEY(1,K,ST): 

: IF K-6 THEN 2130 ELSE IF K 
=18 THEN 730 

720 NEXT P :: IF H=0 THEN 66 
0 ELSE H=0 :: IF Y>19 THEN C 
ALL HCHAR(Y,4,32):: GOTO 670 
ELSE CALL HCHAR(Y, 4,139):: 
GOTO 670 

730 CALL KEY(1,K,ST):: IF K= 
13 THEN 730 ELSE CALL HCHAR( 
Y,4,137):: IF Y<20 THEN HI=Y 
-7 ELSE IF Y=21 THEN 920 ELS 
E IF Y=23 AND ASSE(S)>9 AND 
SET >1 THEN U=1 :: GOTO 1020 
ELSE IF Y=23 THEN 640 ELSE I 
F Y=22 THEN U=0 :: GOTO 1020 
ELSE 1990 

740 SET=SET +1 :: IF BEGIN=1 
THEN YY=3 :: GOTO 810 ELSE Y 
Y= 10 

750 H=6 CALL HCHAR (YY, 13, 
137):: CALL HCHAR(YY,31,137) 

:: GOTO 760 

760 FOR P=1 TO 3+H :: GOSUB 
120 :: CALL JOYST(1,K,ST):: 
IF ST=0 THEN 780 ELSE CALL H 
CHAR(YY,13,35):: CALL HCHAR( 
YY,3i,34):: YY=YY-ST/4 :: IF 
YY=19 THEN YY=2 ELSE IF YY= 

1 THEN YY=18 

770 CALL JOYST<1,K,ST):: IF 
ST=0 THEN 750 ELSE Z=Z + 1 :: 
IF Z>10 THEN 750 ELSE 770 
780 Z=0 :: CALL KEY(1,K,ST): 

: IF K=18 THEN 800 
790 NEXT P :: IF H=0 THEN 75 
0 ELSE H=0 :: CALL HCHAR(YY, 
13,35):: CALL HCHAR(YY,31,34 
):: GOTO 760 

800 CALL KEY(1,K,ST):: IF K= 
18 THEN 800 

810 CALL HCHAR<YY,13,137):: 
CALL HCHAR(YY,31,137):: XX=2 

2 

820 CALL HCHAR(1,XX,138):: C 
ALL HCHAR(19,XX,138):: H=6 
830 FOR P=1 TO 3+H :: GOSUB 
120 :: CALL JOYST <1,K,ST):: 
IF K=0 THEN 850 ELSE CALL HC 
HAR(1,XX,36):: CALL .HCHAR(19 
,xx,33):: xx=xx+K/4 :: if xx 
=13 THEN XX=30 ELSE IF XX=31 
THEN XX=1 4 

840 CALL JOYST<1,K,ST):: IF 
K=0 THEN 820 ELSE Z=Z+1 :: I 


F Z>10 THEN 820 ELSE 840 
850 Z=0 :: CALL KEY(1,K,ST): 
: IF K=18 THEN 870 
860 NEXT P :: IF H=0 THEN 82 
0 ELSE H=0 :: CALL HCHAR(1,X 
X,36):: CALL HCHAR(19,XX,33) 
:: GOTO 830 

870 CALL KEY(1,K,ST):: IF K= 
18 THEN 870 ELSE CALL HCHAR( 
1,XX,133):: CALL HCHAR(19,XX 
,138):: CALL GCHAR(YY,XX,K) 
880 IF K<52 OR K=72 OR K=96 
OR K=120 OR K >135 THEN YB(HI 
)=YY-l :: XB(HI)=XX~13 :: BS 
ET(SET)=hi :: bu( w(Hl))=1 :: 
CALL HCHAR(YY,XX,A(HI))ELSE 
set=set- l :: ns= l :: goto 9 
10 

890 IF YY=17 AND XX=29 THEN 
CALL DELSPRITE(#1)ELSE IF YY 
=13 AND XX=29 THEN CALL DELS 
PRITE(#2)ELSE IF YY=17 AND X 
X=30 THEN CALL DELSPRITE(#3) 
ELSE IF YY=18 AND XX=30 THEN 
CALL DELSPRITE(«4) 

900 CALL HCHAR(HI+7,5,139) 
910 CALL HCHAR(YY,13,35):: C 
ALL HCHAR(YV,3i,34) : CALL H 
CHAR(1,XX,36):: CALL HCHAR(1 
9,XX,33):: CALL HCHAR(HI+7,4 
, 139) : GOTO 640 
920 IF SET< 1 -THEN CALL VCHAR 
(21,4,32,4):: GOTO 640 
930 IF NS=1 THEN 1010 ELSE C 
ALL DELSPRITE(#10):: CALL HC 
HAR(21,1,32,128):: Y=21 :: D 
ISPLAY AT(21,3)BEEP:"?8G=G8A 
8<AGE4:": :"..'4??8F A89" 

940 CALL HCHAR(Y,4,137):: H= 
6 

950 FOR P=1 TO 3+H :: CALL J 
OYST(1,K,ST):: IF ST=0 THEN 
970 ELSE CALL HCHAR(Y,4,32): 

: IF Y=2i THEN Y=23 ELSE Y=2 
1 

960 CALL JOYST(1,K,ST):: IF 
ST=0 THEN 940 ELSE 960 
970 CALL KEY(1,K,ST):: IF K= 
18 THEN 990 

980 NEXT P :: IF H=0 THEN 94 
0 ELSE H-0 :: CALL HCHAR(Y,4 
,32):: GOTO 950 
990 CALL KEY(1,K,ST):: IF K= 
18 THEN 990 ELSE IF Y<>21 TH 
EN 1010 ELSE IF HI=0 THEN GO 
SUB 2050 :1 GOTO 640 
1000 IF YY>16 AND XX>28 THEN 
1010 ELSE SET = SET-i :: CALL 
HCHAR < YY,XX,F(XB(HI),YB(HI) 

)):: bu( w( hi))=0 :: call hch 


oc 




AR(HI+7,5,A(HI)):: HI=0 :: G 
OSUB 2050 :: GOTO 640 
1010 NS=0 :: FOR P=1 TO SET 
:: hi=bset(P):: call hchar(Y 
B(HI)+1,XB(HI)+13,F(XB(HI),Y 
B(Hi))):: bu( w(Hi))=0 :: gos 
ub 2060 :: next P :: set=0 : 

: GOTO 610 

1020 X,Y=0 :: IF SET=0 THEN 
CALL VCHAR(21,4,32,4):: GOTO 
640 ELSE IF BEGIN=1 AND SET 
<4 THEN 1010 ELSE IF SET=1 T 
HEN 1120 

1030 FOR P=2 TO SET :: IF XB 
(BSET(l))<>XB(BSET(P))THEN X 
= X +1 

1040 IF YB(BSET(1) )< >YB(BSET 
(P))THEN Y=Y + 1 

1050 NEXT P :: IF BEGIN=2 AN 
D X>0 THEN 1010 ELSE IF X>0 
AND Y >0 THEN 1010 
1060 FOR H~1 TO SET-1 :: FOR 
P=H +1 TO SET 

1070 IF (Y=0 AND XB(BSET(H)) 
>XB(BSET(P)))OR(X=0 AND YB(B 
SET(H))>YB(BSET(P)))THEN HI= 
XB(BSET(H)):: XBIBSET(H))=XB 
(BSET(P)):: XB(BSET(P))=HI : 

: HI-YB(BSET(H))ELSE 1090 
1080 YB(BSET(H))=YB(BSET(P)) 
:: YB(BSET(P))=HI :: goto 10 
70 

1090 NEXT P :: NEXT H :: FOR 
H=1 TO SET-l-S: IF Y=0 AND 
XB(BSET(H) )+1=XB(BSET (H+l))T 
HEN 1100 ELSE IF X=0 AND YB( 
BSET(H))+ i = YB(BSET(H+l))THEN 
1100 ELSE IF BEGIN=1 THEN 1 
010 ELSE 1200 

1100 NEXT H :: IF BEGIN=i AN 
D XB(BSET(SET))=SET THEN 154' 
0 ELSE IF BEGIN=1 THEN 1010 
ELSE IF X=0 THEN CALL GCHAR < 
YB(BSET(1)),XB(BSET(1))+13,H 
)ELSE 1180 

1110 IF H>51 AND H< >72 AND H 
096 AND H< >120 AND H<136 TH 
EN 1540 ELSE CALL GCHAR(YB(B 
SET(SET))+2,XB(BSET(1))+13,H 
):: IF H<52 OR H=72 OR H=96 
OR H=120 OR H>135 THEN 1010 
ELSE 1540 

1120 IF BEGIN=2 AND YB(BSET( 
1)X>1 AND YB (BSET (1) ) < >3 TH 
EN 1010 ELSE CALL GCHAR(YB(B 
SET (1) ) , XB (BSET (1) )+13,H)-S : 
IF H>51 AND H< >72 AND H<>96 
AND H< >120 AND H<136 THEN Y= 
1 

1130 CALL GCHAR(YB(BSET(1))+ 
2,XB(BSET(1))+13,H):: IF H>5 


1 AND H< >72 AND H<>96 AND H< 
>120 AND H<136 THEN Y=1 
1140 CALL GCHAR(YB(BSET<1))+ 

1,XB(BSET(1))+12,H) 

1150 IF H>51 AND H<>72 AND H 
096 AND HO120 AND HC136 TH 
EN X= 1 

1160 CALL GCHAR(YB(BSET(1))+ 
1,XB(BSET(1))+14,H):I IF H>5 
1 AND H< >72 AND H<>96 AND H< 
>120 AND H<136 THEN X=1 
1170 IF X=0 AND Y=0 THEN 101 
0 ELSE 1540 

1180 CALL GCHAR(YB(BSET(1))+ 
1,XB(BSET(1))+12,H):I IF H>5 
1 AND H< >72 AND H<>96 AND H< 
>120 AND H<136 THEN 1540 ELS 
E CALL GCHAR(YB(BSET(1))+1 ,X 
B (BSET(SET) )+14,H> 

1190 IF H< 52 OR H=72 OR H = 96 
OR H=120 OR H>135 THEN 1010 
ELSE 1540 

1200 Q=100 :: FOR P=1 TO SET 
-1 :: IF Y=0 AND XB(BSET(P)) 
+1=XB(BSET(P+i))OR X=0 AND Y 
B (BSET(P) )+1=YB(BSET(P+i))TH 
EN 1250 

1210 IF Y=0 THEN XX=XB(BSET( 
P))+i :: YY=XB (BSET (F' + l ) )-1 
ELSE XX=YB(BSET(P))+1 :: YY= 
YB(BSET(P+1))-l 
1220 FOR H=XX TO YY :: IF Y= 
0 THEN CALL GCHAR(YB(BSET(1) 

)+1,H+13,K)ELSE CALL GCHAR(H 
+1,XB(BSET(1))+13,K) 

1230 IF K<52 OR K=72 OR K=96 
OR K=120 OR K >135 THEN GOTO 
1010 

1240 NEXT H 

1250 NEXT P :: GOTO 1540 

1260 z=i :: gosub 120 :: IF 
YO0 THEN XX=YB (BSET (1) ) +1 : 

: GOTO 1310 ELSE XX=XB(BSET( 
1) ) +13 

1270 GOSUB 120 :: xx=xx-l :: 
CALL GCHAR(YB < BSET(1))+1,XX 
,H):: IF H<52 OR H=72 OR H=9 
6 OR H=120 OR H>135 THEN YY= 
XB(BSET(SET))+13 ELSE 1270 
1280 GOSUB 120 :: YY=YY +1 :: 
CALL GCHAR(YB(BSET<1))+l,YY 
,H):: IF H>51 AND H<>72 AND 
H< >96 AND HO120 AND H<136 T 
HEN 1280 

1290 CALL GCHAR(YB(BSET(1))+ 
l,xx+z,H):: GOSUB 120 :: gos 
UB 2080 :: ST=0 :: FOR P=xx + 
1 TO YY-1 :: CALL GCHAR(YB(B 
SET(l))+1,P,K):: IF K<H OR K 
>HI THEN ST = ST +1 :: HIL=K :: 


» 


27 


HILF=P 

1300 NEXT P :: IF ST=i THEN 
M=xx :: n=yy :: YY=YB(BSET(i 
))+i :: xx=hilf :: goto 

1350 ELSE IF YY-20XX + ST THE 
N 1010 ELSE Z=Z + 1 :: IF Z<3 
THEN 1290 ELSE 1010 
1310 GOSUB 120 :: XX=XX-i :: 

CALL GCHAR(XX,XB < BSET <1))+1 
3,H) :: IF H<52 OR H = 72 OR H= 
96 OR H=120 OR H>135 THEN YY 
=YB(BSET(SET))+1 ELSE 1310 
1320 GOSUB 120 :: YY = YY +1 II 
CALL GCHAR(YY,XB(BSET(1)) +1 
3,H) :: IF H>51 AND H<>72 AND 
H< >96 AND H< >120 AND H<136 
THEN 1320 

1330 CALL GCHAR(XX+Z,XB(BSET 
(i))+13,H):: GOSUB 120 :: GO 
sub 2030 :: st =0 :: for P=xx 
+1 TO YY- 1 :: CALL GCHAR(P, X 
B(BSET(1))+13,K):: IF K<H OR 
K >HI THEN ST = ST + 1 :: HI L=K 
:: HILF=P 

1340 NEXT P :: IF ST=1 THEN 
M=XX :: N=YY :: yy=HILF :: X 
X=XB(BSET(1))+13 :: GOTO 135 
0 ELSE IF YY-20XX + ST THEN 1 
010 ELSE Z = Z + i :: IF Z< 3 THE 
N 1330 ELSE 1010 
1350 FOR P=1 TO SET :: IF YY 
-1=YB(BSET(P))AND XX-13=XB(B 
SET(P > )THEN 1370 
1360 NEXT P :: GOTO 1010 
1370 GOSUB 2070 :: DISPLAY A 
T(23,3)BEEP:":8:8A D876J8A 5 
96} FG458A49FG49F6 i 8A " : 

: YYY=10 

1380 CALL HCHAR(YYY,13,137): 

: CALL HCHAR(YYY,31,137):: H 
I LF=6 

1390 FOR P=1 TO 3+HILF :: GO 
SUB 120 :: CALL JOYST(1,K,ST 
):: IF st= 0 THEN z=0 :: call 
KEY< i,K,ST)ELSE CALL HCHAR( 
YYY,13,35):i CALL HCHAR(YYY, 
31,34):: GOTO 1420 
1400 IF K=18 THEN 1440 
1410 NEXT P :: IF HILF=6 THE 
N HILF=0 :: CALL HCHAR(YYY,1 
3,35):: CALL HCHAR(YYY,31,34 
):: GOTO 1390 ELSE 1380 
1420 YYY=YYY-ST/4 :: IF YYY= 
19 THEN YYY=2 ELSE IF YYY=i 
THEN YYY=18 

1430 CALL JOYST(1,K,ST):: IF 
ST=0 THEN 1380 ELSE Z=Z + i : 
: IF Z>10 THEN 1380 ELSE 143 
0 

1440 CALL KEY(1,K,ST):: IF K 
=18 THEN 1440 ELSE CALL HCHA 


R(YYY,13,137):: CALL HCHAR <Y 

YY,31,137):: XXX=22 

1450 CALL HCHAR(1,XXX,138) : : 

CALL HCHAR(19,XXX,138):: HI 
LF=6 

1460 FOR P=i TO 3+HILF :: GO 
SUB 120 :: CALL JOYST(1,K,ST 
):: IF KO0 THEN 1480 ELSE Z 
=0 :: CALL KEY(1,K,ST):: IF 
K=18 THEN 1500 
1470 NEXT P :: IF HILF=6 THE 
N HILF=0 :: CALL HCHAR(1,XXX 
,36):: CALL HCHAR(19,XXX,33) 

I: GOTO 1460 ELSE 1450 
1480 CALL HCHAR(1,XXX,36) : : 
CALL HCHAR(19,XXX,33):: XXX= 
XXX+K/4 :: IF XXX=13 THEN XX 
X=30 ELSE IF XXX=31 THEN XXX 
= 14 

1490 CALL JOYST(1,K,ST):: IF 
K=0 THEN 1450 ELSE Z=Z+1 :: 
IF Z>10 THEN 1450 ELSE 1490 
1500 CALL KEY(i,K,ST):: IF K 
=18 THEN 1500 ELSE CALL GCHA 
R(YYY,XXX,HILF):: CALL HCHAR 
(1,XXX,36):: XALL HCHAR(19,X 
XX,33):: CALL HCHAR(YYY,13,3 
5):: CALL HCHAR(YYY,31,34) 

1510 IF HILF<H OR HILF>HI TH 
EN 1010 ELSE IF Y=0 AND YYY= 
YB(BSET(1))+1 AND XXX>M AND 
XXX< N THEN 1010 ELSE IF X=0 
AND XXX=XB(BSET(1))+13 AND Y 
YY>M AND YYY<N THEN 1010 
1520 CALL CHARPAT(HIL,A$,HIL 
F,B*):: IF A$OB$ THEN 1010 
ELSE GOSUB 150 :: CALL HCHAR 
(YY,XX,HILF):: CALL HCHAR(YY 
Y,XXX,HIL) 

1530 H=HIL :: HIL=HILF :: HI 
LF=H :: yyy=yy :: xxx=xx :: 
GOSUB 150 

1540 CALL DELSPRITE(#10):: H 
ILF,ASS,ER=0 :: GOSUB 2070 : 

: IF Y>0 THEN 1730 

1550 XX=XB(BSET(1))+13 :: C= 

YB(BSET(1))+1 

1560 XX=XX-1 :: CALL GCHAR<C 
,XX,H):: IF H<52 OR H=72 OR 
H=96 OR H=120 OR H>135 THEN 
YY=XB(BSET(SET))+13 ELSE 156 
0 

1570 YY=YY+1 :: CALL GCHAR(C 
,YY,H):: IF H<52 OR H=72 OR 
H=96 OR H=120 OR H>135 THEN 
CALL GCHAR < C,XX +1,H):: GOSUB 
2080 :: AA-3 ELSE 1570 
1580 FOR P=XX+1 TO YY-1 :: C 
ALL GCHAR(C,P,K):: CALL HCHA 
R(20,AA,K):: AA=AA+1 :: IF K 


<H OR K>HI THEN HILF=HILF+1 
1590 B=F(C-l,P-13):: 60SUB 2 
100 :: IF DOl THEN 1620 
1600 FÜR ST=1 TO SET :S IF P 
-13=XB(BSET(ST))THEN ALAS=AL 
AS+i :: AG-AG+l :: YA(ALAS)= 

c :: xa(alas)=P :: goto 1620 

1610 NEXT ST 

1620 NEXT P :: IF HILF=0 THE 
N ER=ER+25#(YY-XX-1)ELSE HIL 
F=0 

1630 3=0 :: AA=2 :: AB=2i :: 

for p=xx+i to yy-1 :: for z 

=1 TO SET :: IF P-13=XB(BSET 
(Z))THEN 1650 

1640 next z :: J=J + i :: goto 

1720 

1650 CALL HCHAR(AB,AA,32):: 

AA = AA +1 :: IF AA >23 THEN AA = 
3 :: AB=AB+1 

1660 XXX=YB(BSET(P-XX-J))+1 
1670 XXX=XXX-1 :: CALL GCHAR 
(XXX,P,H) : : IF H< 52 OR H = 72 
OR H=96 OR H=120 OR H>135 TH 
EN YYY=YB(BSET (P-XX-J) )+l EL 
SE 1670 

1680 YYY=YYY +1 : : CALL GCHAR 
(YYY, P, H) I : IF H>51 AND H< >7 
2 AND H< >96 AND HO120 AND H 
<136 THEN 1680 ELSE IF XXX+1 
=YYY-1 THEN AA=AA-1 :: GOTO 
1720 

1690 CALL GCHAR(XXX+1,P,H):: 
GOSUB 2080 :: FOR HIL=XXX+i 
TO YYY-1 :: CALL GCHAR(HIL, 
P,K):: CALL HCHAR(AB,AA,K)I: 

AA=AA+1 :: IF AA>31 THEN AA 
=3 :: AB=AB+1 

1700 IF K<H OR K>HI THEN HIL 
F=HILF +1 

1710 B=F(HIL-l,P-13):: GOSUB 
2100 :: NEXT HIL :: IF HILF 
=0 THEN ER=ER+25*(YYY-XXX-1) 
ELSE HILF=0 

1720 NEXT P :: GOTO 1910 
1730 XX=YB(BSET(1))+1 :: C = X 
B(BSET(1))+13 

1740 xx=xx-i :: call gchar(X 

X, C,H):: IF H<42 OR H=72 OR 
H=96 OR H=120 OR H>135 THEN 
YY=YB(BSET(1))+1 ELSE 1740 
1750 YY=YY+1 :: CALL GCHAR(Y 

Y, C,H) :: IF H<52 OR H=72 OR 
H=96 OR H=120 OR H>135 THEN 
CALL GCHAR(XX+1,C,H):: AA=3 
:: GOSUB 2080 ELSE 1750 
1760 FOR P=XX+i TO YY-i :: C 
ALL GCHAR(P,C,K):: CALL HCHA 
R(20,AA,K):: AA=AA+1 :: IF K 
<H OR K >HI THEN HILF=HILF+i 
1770 B=F(P-l,C-13):: GOSUB 2 


100 :: IF DOl THEN 1800 
1780 FOR ST=1 TO SET N IF P 
-i=YB(BSET(ST))THEN ALAS=ALA 

s+i :: ag=ag+i :: ya<alas)=p 
:: xa(alas)= c :: goto 1800 

1790 NEXT ST 

1800 NEXT P :: IF HILF=0 THE 
N ER=ER+25*(YY-XX-i)ELSE HIL 
F=0 

1810 J=0 :: AA=2 :: AB=2l :: 

FOR P=XX+1 TO YY-1 :: FOR Z 
=1 TO SET :: IF P-1 =YB(BSET( 
Z))THEN 1830 

1820 NEXT z :: J=J+1 :: goto 
1900 

1830 CALL HCHAR(AB,AA,32) : : 
AA=AA+1 :: IF AA >23 THEN AA = 
3 :: AB=AB+1 

1840 XXX=XB(BSET(P-XX-J))+13 
1850 XXX=XXX-1 :: CALL GCHAR 
(P , XXX , H) : : IF H< 52 OR H=72 
OR H=96 OR H=120 OR H>135 TH 
EN YYY=XB(BSET(P-XX-J))+13 E 
LSE 1850 

1860 YYY=YYY+1 :: CALL GCHAR 
(P,YYY,H): : IF H >51 AND H<>7 
2 AND H< >96 AND HO120 AND H 
<136 THEN 1860 ELSE IF XXX+1 
= YYY -1 THEN AA=AA-1 :: GOTO 
1900 

1870 CALL GCHAR(P,XXX + 1,H) I : 
GOSUB 2080 :: FOR HIL=XXX+1 
TO YYY-1 :: CALL GCHAR(P,HI 
L,K)I : CALL HCHAR(AB,AA,K) : ! 

AA=AA +1 :: IF AA>31 THEN AA 
=3 :: AB=AB+1 

1880 IF K<H OR K>HI THEN HIL 
F=HILF+1 

1890 B=F(P-1,HIL-13):: GOSUB 
2100 :: NEXT HIL :: IF hilf 
=0 THEN ER=ER+25*(YYY-XXX-1) 
ELSE HILF=0 
1900 NEXT P 

1910 FOR P=1 TO SET :: IF YB 
(BSET(P))=16 AND XB(BSET(P)) 
=16 THEN ER=ER+25 ELSE IF YB 
(BSET(P))=17 AND XB(BSET(P)) 
=16 THEN ER=ER+75 ELSE IF YB 
(BSET(P))=16 AND XB(BSET(P)) 
=17 THEN ER=ER+50 
1920 IF YB(BSET < P) )=17 AND X 
B(BSET(P))=17 THEN ER=ER+100 
1930 NEXT P :: ER=ER+ASS*10 
:: c=ASSE (S)+ASS :: IF 019 
THEN ER=ER*4 ELSE IF 014 TH 
EN ER=ER*3 ELSE IF 09 THEN 
ER=ER*2 

1940 FOR P=1 TO LEN(STR$(ER) 
):: A$=CHR$(42+VAL(SEG$(STR$ 
(ER),P,1>)):: IF A$="*" THEN 




29 


r 




EMMA 


A$= "B" 

1950 DISPLAY AT(18,2+P)SI2E( 
l):A$ :: next p :: goto 230 
1960 IF Y=9 THEN ALAS=ALAS-A 
G :: gosub 2070 :: goto 1010 

ELSE ERG(S)=ERG(S)+ER :: AS 
SE(S)=ASSE(S)+ASS 
1970 IF XB(BSET(SET))>15 AND 
YB(BSET(SET))>15 THEN 2000 
ELSE SET=0 :: IF BEGIN>0 THE 
N BEGIN=BEGIN+1 :: IF BEGIN= 
3 THEN BEGIN=0 
1980 GOSUB 2070 :: NEXT S :: 
GOTO 520 

1990 CALL DELSPRITE<#10):: I 
F SET=0 THEN 1980 ELSE 1010 
2000 CALL CLEAR :: CALL DELS 
PRITE(ALL):: CALL CHARSET :: 
FOR P=i TO SPIELER-1 :: FOR 
H=P+1 TO SPIELER 
2010 IF ERG(P)<ERG(H)THEN B= 
ERG(P):: ERG(P)=ERG(H):: ERG 
(H)=B :: A$=SPIELER$(P):: SP 
IELER$(P)=SPIELER$(H):: SPIE 
LER$(H)=A$ 

2020 NEXT H :: NEXT P :: FOR 
P=1 TO SPIELER :: CALL HCHA 
R(2*P,5,P+48):: DISPLAY AT<2 

*p,4):". " 5 spieler$(P):: dis 

PLAY AT(2*P,22):USING "##### 
":ERG(P):: next p 
2030 DISPLAY AT<24,1)BEEP:"N 
OCH EIN SPIEL? (J/N)" :.: FOR 
P=1 TO 1500 :: CALL KEY(0,K 
,S)2: CALL KEY(1,X,Y)N IF X 
=18 OR K=74 OR K=107 THEN RU 
N "DSKl.LINGUA" ELSE IF X=6 
OR K=78 OR K=110 THEN 2130 
2040 NEXT P :: GOTO 2130 
2050 CALL VCHAR(21,4,32,4):: 

DISPLAY AT(21,3)BEEP:"A89 F 
8G=8A": . 4A=8C8A": ". .49FG4 

9F6J8A 45 +B 4FF8":"..>4AA A 
< 6 J G F8G=8A" :: RETURN 
2060 CALL SPRITE(#1,140,16,1 
29,224,#2,141,16,137,224,#3, 
142,16,129,232,#4,143, 16,137 
,232):: RETURN 

2070 FOR P=3 TO 12 :: CALL V 
CHAR(7,P,32,14):: NEXT P :: 
CALL HCHAR(20,1,32,160):: RE 
TURN 

2080 IF H>51 AND H<72 THEN H 
=51 :: HI=72 ELSE IF H>72 AN 
D H< 96 THEN H=72 :: HI = 96 EL 
SE IF H>96 AND H<120 THEN H= 
96 :: HI=120 ELSE H=120 :: H 
1 = 136 

2090 RETURN 

2100 IF K>51 AND K<72 THEN E 
=3 ELSE IF K>72 AND K<96 THE 


N E=2 ELSE IF K>96 AND K<120 
THEN E=4 ELSE E=1 
2110 ER=ER+E :: IF B=41 AND 
E=3 OR B=72 AND E=2 OR B=96 
AND E=4 OR B=120 AND E=1 THE 
N ASS=ASS+1 :: D=1 ELSE D=0 
2120 RETURN 

2130 CALL DELSPRITE(ALL):: C 
ALL CLEAR :: END 


10 

; 

********************** 

11 

; 

* 


* 

12 

1 

* 

KANALBAU 

* 

13 

| 

* 


* 

14 

1 

* 

Copyright by 

* 

15 

| 

* 


* 

16 

j 

*Dipl.-Ing. W. Zacher* 

17 

; 

* 


* 

19 

; 

* 

Benoetigte Geraete 

* 

20 

1 

* 

TI99/4A Konsole 

* 

21 

1 

* 

Ext. Basic 

* 

22 

; 

* 


* 

26 

; 

* 

Speicherbelegung 

* 

27 

; 

* 

3457 Bytes 

* 

28 

; 

* 


* 

29 

1 

********************** 


100 CALL CLEAR 

110 CALL SCREEN’(5):: FOR 1=0 
TO 14 :: CALL COLOR(1,16,5) 

:: NEXT I 
120 OPTION BASE 1 
130 ON WARNING NEXT 
140 CALL TITEL 

150 IMAGE Qvol1=#####.## (1/ 
s) . . .Vvol1=###.## (m/s) 

160 DATA 48,80,K,48,104,A,48 

,128,N,48,152,A 

170 DATA 80,80,P,80,104,R,80 

,128,0,80,152,G 

180 DATA Kreis... 1:1, 

3.141593.. 500 

190 DATA Ei-Normal ...... 1:1. 

5,4.594, .579,Ei-ueberhoeht.. 
1:1.75,5.492,.621,Ei-breit.. 

.l:1.25,3.823,0.544,Ei-g 

edrueckt...1:1,3.097,.493 
200 DATA Maul-normal.... 1:.7 

5.2.378.. 424,Maul-ueberhoeht 
1:1,3.378,.512,Maul-gedrueck 
t l:.625,1.937,.375 

210 DATA Au-ftr. einseit.i:l. 
3,3.929, .518, Au-ftr. bei dseitl 
:1,2.933,.447 

220 DIM PR$(10),F(10),R(10) 

230 FOR P=i TO 10 

240 READ PR$(P),F(P),R(P) 

250 NEXT P 


30 





NUTZEN SSE UNSEREN BEQUEMEN POSTSERVICE 



KOMMT REGELMÄSSIG 

TU IHMFM Finden sie lhre Ti REVUE nicht am Kiosk? 

Weil sie schon ausverkauft ist? Oder „Euer" 
■II* U AIIC Kiosk nicht beliefert wurde? Kein Problem! Für 
INv liMUJ ganze 60 DM liefern wir Euch per Post zwölf 

Hefte ins Haus (Ausland 80 DM). Einfach den 
Bestellschein auf der nächsten Seite ausschneiden 
- fotokopieren oder abschreiben, in einen Brief¬ 
umschlag und ab per Post (Achtung: Porto nicht 
vergessen). TI REVUE kommt dann pünktlich 
ins Haus. 


WICHTIGE RECHTLICHE Verlag widerrufen— Postkarte ge- 

GARANTIE! nügt. Ansonsten läuft dieser Auf¬ 

trag jeweils für zwölf Ausgaben, 
Sie können diesen Abo-Auftrag wenn ihm nicht vier Wochen 

binnen einer Woche nach Eingang vor Ablauf widersprochen wird, 

der Abo-Bestätigung durch den weiter. 


DAS SUPER-SONDER¬ 
ANGEBOT: 

PRIVATE 
KLEINANZEIGEN 
KOSTENLOS! 

Das bietet Ihnen ab sofort die TI-REVUE: KLEIN¬ 
ANZEIGEN SIND KOSTENLOS FÜR PRIVATAN¬ 
BIETER! Suchen Sie etwas, haben Sie etwas zu ver¬ 
kaufen, zu tauschen, wollen Sie einen Club gründen? 

Coupon ausfüllen, auf Postkarte kleben oder in Brief¬ 
umschlag stecken und abschicken. So einfach geht 
das. Wollen Sie das Heft nicht zerschneiden, können 
Sie den Coupon auch fotokopieren. Oder einfach den 
Anzeigentext uns so schicken, auf Postkarte oder im 
Brief. Aber bitte mit Druckbuchstaben oder in 
Schreibmaschinenschrift! 

Und: Einschließlich Ihrer Adresse und/oder Tele¬ 
fonnummer sollten acht Zeilen a 28 Anschläge nicht 
überschritten werden. 

- ACHTUNG: WICHTIGER HINWEIS! 

Wir veröffentlichen nur Kleinanzeigen privater In¬ 


serenten, keine gewerblichen Anzeigen. Die kosten 
pro Millimeter DM 3,50 plus Mehrwertsteuer! 

Wir versenden für Privat-Inserenten keine Beleg- 
Exemplare! 

Chiffre-Anzeigen sind nicht gestattet! Wir behalten 
juns vor, Anzeigen, die gegen rechtliche, sittliche oder 
sonstige Gebote verstoßen, abzulehnen! 

Anzeigenabdruck in der Reihenfolge ihres Eingangs, 
kein Rechtsanspruch auf den Abdruck in der nächsten 
Ausgabe! 

Die Insertion ist nicht vom Kauf des Heftes ab¬ 
hängig! 

Wir behalten uns vor, Anzeigen, die nicht zum The¬ 
menkreis des Heftes - Computer - gehören, nicht ab¬ 
zudrucken oder sie nur insoweit zu berücksichtigen, 
wie es der Umfang des kostenlosen Anzeitenteils zu¬ 
läßt. 


31 




I 



N 2 

O | 
3. 


n 


I 

n|I 

iS . 3 

• r* — 

3 3 

n> < a 
03 - o 

> • 3 
3 

s 

Jfj 

N 3 
3 5 

* I 

II 

9 7 



a o 


KASSETTEN¬ 

SERVICE 

. Wollt Ihr nicht mehr seitenlange Listings eintip¬ 
pen? Dann benutzt unseren Kassetten-Service: Für 
ganze zehn DM - nur Vorkasse, keine Rechnung - 
keine Nachnahme - erhalten Sie alle angebotenen 
Listings des jeweiligen Heftes auf Kassette per Post 
ins Haus. Achtung: Bestellungen ohne Geld werden 
nicht bearbeitet! Lieferzeit: In der Regel zwei bis drei 
Wochen! Wichtig: Unsere Kassetten werden digital in 
einem Profistudio von einem Masterband gezogen, 
nicht irgendwie per Recorder runtergenudelt. Selbst¬ 
verständlich volles Umtauschrecht bei Nichtfunktio- 
nieren. 



ABO SERVICE-KARTE 


K 



Ich n9hme zur Kenntnis, 
daß die Belieferung 
erst beginnt, wenn die Abo 
Gebühr dem Verlag 
zugegangen ist 


TI REVUE 

Abo-Service 2/86 
Postfach 1107 

8044 UNTERSCHLEISSHEIM 


Coupon 

Ja, ich möchte von Ihrem Angebot zwölf Ausgaben an untenstehende 
Gebrauch machen. Anschrift. Sollte ich nicht vier 

Wochen vor Ablauf schriftlich 
Bitte senden Sie mir bis auf Wider* kündigen, läuft diese Abmachung 
ruf ab sofort jeweils die nächsten automatisch weiter. 

Name_———- 

Vorname-—- 

Straße/Hausnr.------ 

Ptz/Ort__:_ 

Ich bezahle: 

□ per beiliegendem Verrechnungsscheck 

□ gegen Rechnung 

□ bargeldlos per Bankeinzug von meinem Konto 

bei (Bank) und Ort- 

Kontonummer___—- 

Bankleitzahl ---— 

(stehtauf jedem Kontoauszug) . 

Unterschrift ____:- T — 

Von meinem Widerspruchsrecht habe ich Kenntnis genommen. 
Unterschrift-- 


32 






RESERVIERUNGS- 

SERVICE 

Assembler bietet dem, der damit umgehen kann, viele 
Möglichkeiten. Andererseits aber sind Assembler-Pro¬ 
gramme beim Abdruck im Heft sehr platzraubend. Aus 
diesem Grund erarbeitet die Redaktion gerade ein As¬ 
sembler-Special für alle Freunde dieser Programmier¬ 
sprache. 

* 

Dieses Heft wird nur an ganz gezielt ausgewählten 
Verkaufsstellen angeboten — Bahnhofskiosken — 
Computershops usw. 

Damit Sie nicht auf die Suche gehen müssen, können 
Sie sich dieses Heft schon jetzt reservieren lassen. Ein¬ 
fach den Coupon ausfüllen und — im Briefumschlag als 
Drucksache oder auf eine Postkarte geklebt — absen¬ 
den. 

Als Gegenleistung für diese Ihre Mühe erhalten Sie 
das Heft als Subskriptionsangebot sogar noch zehn Pro¬ 
zent billiger — einschließlich unserer Versandspesen. 
Nämlich für DM 17,80 statt zum Ladenpreis von DM 
19,80. 

ACHTUNG! Bitte kein Geld mitsenden, wir melden 
uns, wenn das Heft versandbereit ist. 

LETZTER SUBSKRIPTIONSTAG: 

10.2.1986 

Auf besonderen Wunsch versenden wir auch über 
Nachnahme. Wir weisen aber ausdrücklich darauf hin, 
daß dadurch Mehrkosten von etwa DM 5,— Mark im In- 
und etwa DM 10,— im Ausland (Postgebühren!) entste¬ 
hen. 


I ui 



PROGRAMMSERVICE 


Hiermit bestelle ich in Kenntnis Ihrer Verkaufsbedingungen 
die Listings dieses Heftes auf 

□ Kassette (10 DM) 

□ Diskette (25 DM) 7 b 

Zutreffendes bitte ankreuzenl 

Ich zahle: 

per beigefügtem Scheck / Schein ( ) 

Gegen Bankabbuchung am Versandtag ( ) 

Meine Bank (mit Ortsname) ... 

Meine Kontonummer... 


Meine Bankleitzahl.(steht auf jedem Bankauszug) 

Vorname...Nachname. 

Str./Nr.PLZ/Ort . 


Hiermit bestätige ich mit meiner Unterschrift, Ihre Verkaufsbedingungen 
gelesen zu haben und zu akzeptieren. 

Unterschrift.. 

Bitte ausschneiden und einsenden an 
TI-REVUE 

KASSETTENSERVICE 2/86 
Postfach 1107 
8044 Unterschleißheim 


X 


33 














■ ■ ■ . v ' - . 


pecial ASSEMBLER 



|TI 99/4A| 

SPECIAL 


Über 90 Selten 
Alles über 
Assembler für 
den TI 99/4A 




MACHEN SIE MEHR AUS 
IHREM TI MIT ASSEMBLER 


Aus dem Inhalt: 

DELETE FASTCOPY 

BILDSCHIRM SPEICHERN BIT MAP MODE 
SCROLL IN AUSSCHNITTEN ASSEMBLER IN TI BASIC 
HILFE FÜR DAS MINI MEM ZEICHENDEFINITION 


Ein Muß für jeden 
Assembler- Anwender! 


NUR IM 

BAHNHOFSBUCH-HANDEL 
ODER BEIM VERLAG! 


Subskriptionsangebot für 
Schnellentschlossene! 

snecial Assembler snecfia 





LISTINGS 


260 CALL DELSPRITE(ALL) 
270 CALL CLEAR :: HL*=■ 


280 PRINT HL$:TAB(8)J"DRUCKE 
roption":hl$; : 

290 INPUT "Drucker <J/N):":D 
R$ 

300 IF DR$="N" THEN 330 
310 IF DR$<>"J" AND DR*<>"N" 
THEN 290 

320 INPUT "Drucker-Name : ": D 
RNA* 

330 CALL .CLEAR 

340 DISPLAY AT(i,i):HLS 

350 DISPLAY AT (2,-10) : "MENUE. 

„ ZUR" 

360 DISPLAY AT<3,8):"KANALBE 
RECHNUNG" 

370 DISPLAY AT(4, 1 ) :HL* 

380 DISPLAY AT(8,1):"1 -> Vo 
11-fuellung einze1ner...... Pr 

o-f i 1 e" 

390 DISPLAY AT(13,1)!"2 -> P 
rogrammende" 

400 DISPLAY AT(17,1):"* BITT 
E WAEHLEN SIE !" 

410 CALL KEY(0,TASTE,STA) 

420 IF STA=0 THEN 410 

430 IF TASTE-48<1 OR TASTE-4 

8 >2 THEN 410 

440 ON TASTE-48 GOTO 450,860 
450 CALL CLEAR :: DISPLAY AT 
<1,2) : "Vol 1-fuel lung von Pro-f 
i len" 

460 DISPLAY AT(2,i):HL* 

470 FOR 1=1 TO 10 
480 DISPLAY AT <I+2,1)SI»" -> 
" \ PR*(I) 

490 NEXT I 

500 DISPLAY AT < 14,1): "Pro-f i 1 
art ?" . 

510 DISPLAY AT(17,1):"Rauhig 
keit..(mm) kb=" 

520 DISPLAY AT (18, 1) : "Pro-f il 
breite(mm) b =" 

530 DISPLAY AT(19,1) : "Ge-fael 

le_ (--) 1 /" 

540 ACCEPT AT(14,13)SIZE(-2) 
BEEP;ART 

550 IF ART<1 OR ART>10 THEN 
540 

560 DISPLAY AT(15,8)IPR*(ART 
) 

570 ACCEPT AT(17,2i)SIZE<-5) 

beep:kbeinz 

580 ACCEPT AT(18,21)SIZE(-5) 
BEEPIDEINZ 


590 ACCEPT AT(19,21)SIZE(-5) • 

BEEP:IEINZ 

600 IF KBEINZ<=0 OR DEINZ<=0 
OR IEINZ< =0 THEN 570 
610 FK=F(ART)II FR=R(ART) 

620 CALL QV(KBEINZ,DEINZ,FR, 

FK,IEINZ,QEINZ,VEINZ) 

630 DISPLAY AT(21,1):"Q="JQE 
INZ;"(1/S)" :: DISPLAY AT(22 
, 1): "v=" JVEINZJ"(m/s)" 

640 DISPLAY AT(23,1):HL* 

650 DISPLAY AT(24,1):"D)ruck 
en..W)eit e r..E)nde" 

660 DISPLAY AT(24,28)SIZE(1) 

: 

670 CALL KEY(0,TASTE,STA) 

680 IF STA=0 THEN 670 
690 IF TASTE=68 THEN DISPLAY 
AT(24,1)SIZE(1)::: disp 
LAY AT(24,28)SIZE(1) : G 

OTO 730 .'DRUCKEN 

700 IF TASTE = 87 THEN DISPLAY 
AT(24,li)SiZE(i)::: dis 
PLAY AT(24,28)SIZE(1): "" :: 
GOTO 540 !WEITER 
710 IF TASTE=69 THEN 330 !EN 
DE 

720 GOTO 670 

730 REM DRUCK 

740 IF DR*<>"J" THEN 640 

750 OPEN #10:DRNA$ 

760 HL2*=RPT$("-“,80) 

770 PRINT #10:HL2* 

780 PRINT #10: "Pro-f ilart: "} 
PR*(ART) 

790 PRINT #10 

800 PRINT #10:TAB(12)i"Rauhi 
gkeit..(mm) kb=" i KBEINZ } TAB< 

12) f "Pro-f i lbrei te (mm) b ="fD 
EINZ( TAB (12) J "Ge-fael le. . . . <- 
-) 1 /"JIEINZ 
810 PRINT #10 

820 PRINT #10,USING 150:QEIN 
Z,VEINZ 

830 PRINT #10:HL2$ 

840 CLOSE #10 

850 GOTO 650 

860 CALL CLEAR END 

870 SUB QV(KB,D,FHR,FFK,I,Q, 

V) 

880 DEF LG(X)=LOG(X)/LOG(10) 

890 HR=FHR*D/1000/2 

900 WUR=SQR(8*9.80665*HR/I) 

910 KL=(0.63*1.31E-6/HR/WUR+ 
KB/1000/HR/14.84) 

920 V=~2*LG<KL)*WUR 
930 F=FFK*(D/1000/2)^2 





LISTINGS 

940 Q=F*V 

AMM..ZUR" 

950 Q=1000*Q 

1060 DISPLAY AT<18,7):"KANAL 

960 SUBEND 

BERECHNUNG" 

970 SUB TITEL 

1070 DISPLAY AT(20,3):"<C> D 

980 CALL CHAR(128,"FFFFFFFFF 

ipl.Ing. W.Zacher" 

FFFFFFF") 

1080 CALL HCHAR<2,2,128,28) 

990 CALL MAGNIFY(2) 

1090 CALL HCHAR<23,2,128,28) 

1000 FOR 1=1 TO 8 

1100 CALL VCHAR(2,2,128,21> 

1010 READ A,B,Z$ 

1110 CALL VCHAR(2,30,128,22) 

1020 CALL SPRITE(#1,ASC < Z$), 

1120 DISPLAY AT(24,1):" * bi 

16,A,B) 

tte taste druecken *" 

1030 NEXT I 


1040 DISPLAY AT(14,12):"V 1. 

1130 CALL KEY(0,K,S)i: IF S= 

0" 

0 THEN 1130 

1050 DISPLAY AT(16,8):"PROGR 

1140 SUBEND 


Kassetten- 

Hilfen 

Ein ziemlich mißlicher 
Zustand am TI ist die Tat¬ 
sache, daß man weder ein 
Programm von der Cas- 
sette mit Namen aufru- 
fen, noch von einem zum 
anderen Programm ohne 
Memory-Expansion 
Variablen übergeben kann. 

Beides mpglich machen 
sollen die folgenden bei¬ 
den Miniroutinen. Sie ba¬ 
sieren auf der Tatsache, 
daß bei einem RUN 
“CS 1 “-Befehl zwar alle 
vom Anwender mühsam 
gesetzten Variablen ge¬ 
löscht werden, nicht aber 
die Zeichenmatrizen der 
selbstdefinierten Charak¬ 
ter mit einem ASO127! 

Also codiert die Laderou¬ 
tine einen String in einen 
maximal 1 östelligen Hex- 
Code, definiert damit das 
Zeichen 143 und ruft das 
nächstbeste Programm auf 
der Cassette mit RUN 
CS1“ auf. 

Die ersten Zeilen eines je¬ 
den auf der Cassette be¬ 
findlichen Programmes 
müssen nun wie folgt aus- 
sehen: 

1 b$=codierter Programm¬ 
name 

2 CALLCHARPAT 
(143,a$) 

3 IF a$Ob$ then RUN 
“CS1“ 


100 ! OLD MIT NAME 

110 ! <C> HANSI LANG 

120 ! 1000 BERLIN 

130 ! ********************* 

140 CALL CLEAR 

150 HEX*="01 234 56789 ABC DEF" 

160 PRINT "Name des Cassette 

nprocrsmE?" 

170 INPUT "":NAME$ 

180 NAME$=SEG$ <NAME$&RPT$(" 
", 8 >, 1 , 8 ) 

190 FÜR 1=0 TO 7 
200 C0DE=ASC(SEG$(NAME$,I+1, 
2 ) ) 

210 GOSUB 260 
220 NEXT I 

230 CALL CHAR(143,CGDE$) 

240 RUN "CS1" 

250 REM UMWANDLUNG IN HEX-WE 
RTE 

260 HINIBBLE=INT(CODE/16) 

270 CQDE$=CODE$&SEG$<HEX$,HI 
NIBBLE,1) 

280 LGNTBBLE=CCDE-HINIBELE*1 
6 

290 CODE$=CODE$-8cSEG$<HEX$,LO 
NIBBLE,1) 

300 RETURN 

Und hier das eigentliche Ladeprogramm: 


b$ in Zeile 1 muß genauso 
codiert sein wie der vom 
Ladeprogramm in Zeichen 
143 übergebene a$, also 
z.B. b$=“5445535421 
323232)“ wenn der Pro¬ 
grammname “TEST!“ 
sein soll. 

Die Variablenübergabe 
zwischen 2 Programmen 
kann prinzipiell auf die¬ 
selbe Art und Weise vor 
sich gehen, nur daß dabei 
natürlich keine Strings 
übergeben werden, son¬ 
dern entweder ein Zei¬ 
chen direkt aus einer In¬ 
tegerzahl definiert wird, 
oder nach weiß der Kuk- 
kuck welcher Art der 
Codierung. Der löstellige . 
String, mit dem ein Zei¬ 
chen definiert werden 
kann, langt zur Übergabe 
von insgesamt acht 8- 
Bit-Werten, und damit 
läßt sich ja wohl so eini¬ 
ges anstellen. 

Aufpassen muß man frei¬ 
lich beim Auslesen der 
Zeichenmatrix vom Ziel¬ 
programm. Übergibt man 
zum Beispiel den Wert 
Dezimal 2076 auf diese 
Art: CALL CH AR (143, 
“2076“), so sieht der 
vom Zielprogramm mittels 
CHARPAT ausgelesene 
String so aus: 
2076000000000000! 

Also tut man gut daran, 
die Zeichen mit Führungs¬ 
nullen zu definieren, 
etwa so: 

a$=RPT$(“0“, 16-LEN 

(STR$(wert)))&STR$ 

(wert). 

Hans-Jürgen Lang 


36 





LISTINGS 


10 REM******************** 


11 REM* KAMIKAZE III * 

12 REM* - * 

13 REM* Copyright by * 

14 REM* * 

15 REM* Thorsten Rauer * 

16 REM* * 

17 REM*Benoetigte Geraete* 

18 REM* TI99/4A Konsole * 

19 REM* * 

23 REM* Speicherbelegung * 

24 REM* 11892 Bytes * 


25 REM******************** 

26 REM 

100 RANDOMIZE 
110 CALL'CLEAR 
120 CALL SCREEN(9) 

130 RESTORE 3110 

140 READ D, F, J, K, N, 0, S, X 

150 RESTORE 3130 

160 FOR AA=1 TO 41 

170 READ II, 

180 CALL CHAR(II,B$) 

190 NEXT AA 

200 ON D GOTO 1420,980,1420, 

1020,1440,1060,1440,1100,146 

0,1140,1460,1180 

210 IF J=0 THEN 2450 

220 A=32 

230 T=C 

240 FOR U=3i TO 1 STEP -1 
250 CALL SOUND<-4250,-6,19) 
260 IF Y=0 THEN 280 
270 GOSUB 2010 
280 FOR AA=1 TO E 
290 CALL KEY(0,KK,SS) 

300 IF (KK=80)+(KK=112)THEN 

310 ELSE 330 

310 CALL KEY(0,JJ,LL) 

320 IF (JJ = 79) + <JJ = ill)THEN 
350 ELSE 310 

330 IF (KK>52) + (KK<49)THEN 3 
50 

340 ON KK-48 GOTO 2160,2180, 
2200,2220 
350 NEXT AA 

360 CALL HCHAR(T, U + l, 32,2) 
370 CALL HCHAR<T,U,35) 

380 CALL HCHAR(T,U+l,40) 

390 NEXT U 

400 CALL HCHAR(T,1,A,3) 

410 F=F+1 

420 IF F>3 THEN 2450 ELSE 24 
0 

430 X=X+1 
440 J=J-1 
450 W=950 
460 U=U+1 

470 CALL HCHAR(T,1,32,32) 

480 FOR AA=1 TO 20 


490 U=U-H 
500 T=T + G 

510 IF U<1 THEN 750 
520 IF T>23 THEN 780 
530 CALL GCHAR(T, U,I) 

540 IF (I>95)*(I<104)+(1=110 
)+<I*iii)+(I*153) THEN 1730 
550 IF (1=120)+(I=12i)THEN 1 
590 

560 IF (I>103)*(I<110)THEN 1 
620 

570 IF (I>144)*(I<149)THEN 1 
560 

580 IF D<6 THEN 600 
590 IF 1=64 THEN 1700 
600 IF 1091 THEN 680 
610 CALL HCHAR(T,U,92) 

620 FOR MM=0 TO 30 STEP 4 
630 CALL SOUND(-1600,110,MM, 

110,MM,-5,MM) 

640 NEXT MM 

650 CALL HCHAR(T,U,91) 

660 A=122 

670 GOTO 740 

680 CALL HCHAR(T,U,V) 

690 FOR MM=1 TO 3 
700 W=W-9 

710 CALL SOUND(-600,W,3) 

720 NEXT MM 

730 CALL HCHAR(T,U,A) 

740 NEXT AA 
750 GOSUB 2400 
760 GOSUB 820 
770 GOTO 210 
780 RESTORE 3330 
790 GOSUB 1790 
800 GOSUB 820 • 

810 GOTO 210 

820 CALL HCHAR(1,5,42,4) 

830 FOR AA=i TO LEN(STR$(J)) 

840 CALL HCHAR(1,4+AA,ASC(SE 
G$(STR$(J),AA,1))) 

850 NEXT AA 

860 CALL HCHAR(1,16,42,6) 

870 FOR AA=i TO LEN(STR*(S)) 

880 CALL HCHAR(1,15+AA,ASC(S 
EG$(STR$(S),AA,1))) 

890 NEXT AA 

900 CALL HCHAR(1,27,42,3) 

910 NN=INT(O/X*100) 

920 FOR AA=i TO LEN(STR$(NN) 

> 

930 CALL HCHAR(1,26+AA,ASC(S 
EG*(STR$(NN),AA,1))) 

940 NEXT AA 
950 RETURN 
960 RESTORE 2620 
970 GOTO 1190 
980 RESTORE 2630 

990 GOTO 1190 W 



1000 RESTORE 2650 

1010 GOTO 1190 

1020 RESTORE 2660 

1030 GOTO 1190 

1040 RESTORE 2670 

1050 GOTO 1190 

1060 RESTORE 2690 

1070 GOTO 1190 

1080 RESTORE 2710 

1090 GOTO 1190 

1100 RESTORE 2730 

1110 GOTO 1190 

1120 RESTORE 2750 

1130 GOTO 1190 

1140 RESTORE 2770 

1150 GOTO 1190 

1160 RESTORE 2790 

1170 GOTO 1190 

1180 RESTORE 2810 

1190 READ E,L,Y,Z,C 

1200 FOR AA=1 TO 2 

1210 READ AB,AC,AD 

1220 CALL HCHAR(AB,AC,AD) 

1230 NEXT AA 
1240 K=0 
1250 GOTO 210 
1260 RESTORE 2830 
1270 GG=4 
1280 HH=76 
1290 GOTO 1330 
1300 RESTORE 2950 
1310 GG=8 
1320 HH=73 
1330 FOR AA=1 TO GG 
1340 READ II,B$ 

1350 CALL CHAR(II,B$) 

1360 NEXT AA 

1370 FOR AA=1 TO HH 

1380 READ AB,AC,AD,AE 

1390 CALL HCHAR(AB,AC,AD,AE) 

1400 NEXT AA 

1410 ON D GOTO 960,980,1000, 

1020,1040,1060,1080,1100,112 

0,1140,1160,1180 

1420 RESTORE 3230 

1430 GOTO 1470 

1440 RESTORE 3240 

1450 GOTO 1470 

1460 RESTORE 3250 

1470 FOR AA=1 TO 16 

1480 READ AB,AC 

1490 CALL COLOR(AA,AB, AC) 

1500 NEXT AA 

1510 ON D GOTO 1260,1260,130 
0,1300,1260,1260,1300,1300,1 
260,1260,1300,1300 
1520 FOR AA=1 TO LEN(A$) 

1530 CALL HCHAR(Q,R-l+AA,ASC 
<SEG$(A$,AA,1))) 

1540 NEXT AA 
1550 RETURN 


1560 RESTORE 3270 
1570 GOSUB 1790 

1580 GOTO 1930 
1590 RESTORE 3280 

1600 GOSUB 1790 
1610 GOTO 1880 
1620 RESTORE 3290 
1630 GOSUB 1790 
1640 GOTO 1930 
1650 RESTORE 3340 
1660 U=U+1 
1670 GOSUB 1790 
1680 GOSUB 820 
1690 GOTO 210 
1700 RESTORE 3300 
1710 GOSUB 1790 
1720 GOTO 210 
1730 RESTORE 3310 
1740 GOSUB 1790 
1750 CALL HCHAR(T,U,I) 

1760 S=S-M-I 

1770 GOSUB 820 

1780 GOTO 210 

1790 READ DD,CC,BB,RR 

1800 IF T<24 THEN 1820 

1810 T=24 

1820 FOR AA=1 TO EB 

1830 READ EE 

1840 CALL HCHAR(T,U,EE) 

1850 CALL SOUND(-500,DD,CC+A 
A*RR) 

1860 NEXT AA 
1870 RETURN 

1880 CALL HCHAR<T,U-1,123,3) 

1890 GOSUB 2400 

1900 CALL HCHAR(T,U-i,122,3) 

1910 S=S+(M*2)+I 

1920 GOTO 1940 

1930 S=S+M+I 

1940 K=K+1 

1950 0=0+1 

1960 IF S<N THEN 1990 
1970 N=N+2000 
1980 J=J+(N/1000) 

1990 GOSUB 820 • 

2000 IF K=L THEN 2250 ELSE 2 
10 

2010 FF=INT(RND*31+1) 

2020 CALL GCHAR(T,FF,XX) 

2030 IF XX=35 THEN 2120 
2040 RESTORE 3320 
2050 READ DD,CC,BB,RR 
2060 FOR AA=1 TO BB 
2070 READ EE 
2080 CALL HCHAR(T,FF,EE) 

2090 CALL SOUND(-500,DD,CC+A 
A*RR) 

2100 NEXT AA 
2110 RETURN 

2120 CALL HCHAR(T,U+2,A) 


38 


2130 3 = 3-1 

2140 X=X + 1 

2150 GOTO 1650 

2160 RESTORE 3070 

2170 GOTO 2230 

2180 RESTORE 3080 

2190 GOTO 2230 

2200 RESTORE 3090 

2210 GOTO 2230 

2220 RESTORE 3100 

2230 READ G,H,M,V 

2240 GOTO 430 

2250 J = J +8 

2260 GOSUB 820 

2270 FOR AA=1 10 9 STER- 3 

2280 RESTORE* 3260 

2290 FOR'00=1 TO 4 

2300 READ AB,AC,AD,AE,AF 

2310 CALL SCREEN ( AB) 

2320 CALL SOUND(AD,AE,AF-AA, 
AE+110,AF+l-AA) 

2330 CALL SCREEN(AC) 

2340 NEXT 00 
2350 NEXT AA 
2360 D=D+1 

2370 IF D>12 THEN 2380 ELSE 
200 

2380 D=0 

2390 GOTO 2270 

2400 FOR AA=1 TO 30 STEP 2 

2410 CALL SOUND(-500,-7,AA) 

2420 CALL SOUND(-60,-6,AA-1) 

2430 NEXT AA 

2440 RETURN 

2450 GOSUB 820 

2460 FOR AA=3 TO 8 

2470 CALL COLOR(AA,2,8) 

2480 NEXT AA 
2490 RESTORE 3120 
2500 FOR 00=1 TO 2 
2510 READ A$,Q,R 
2520 GOSUB 1520 * 

2530 NEXT 00 
2540 RESTORE 3110 
2550 READ D, F, J , K, N, 0, S, X 
2560 CALL KEY(0,KK,SS) 

2570 IF SS=0 THEN 2560 
2580 IF KK=6 THEN 100 
2590 IF KK=15 THEN 2610 
2600 GOTO 2560 
2610 END 

2620 DATA 3,6,0,7,12,18,11,1 
07,18,12,108,18,13,109,18,18 
,105,18,19,106,21,3,120,21,4 
,121 

2630 DATA 2,9,1,10,12,18,4,1 

07,18,5,108,18,6,109,18,15,1 

07,18,16,108,18,17,109 

2640 DATA 18,23,105,18,24,10 

6,23,21,120,23,22,121 

2650 DATA 2,6,0,6,11,19,8,14 


7.18.17.145.19.18.146.19.20, 

148.21.2.105.21.3.106 

2660 DATA 3,7,1,8,13,19,11,1 

48.18.17.145.19.19.147.18.23 
,145,19,25,146,21,30,104,23, 

2.120.23.3.121 

2670 DATA 2,9,1,10,8,18,1,10 

7.18.2.108.18.3.109.18.8.105 
,18,9,106 

2680 DATA 18,14,104,18,19,10 
5,18,20,106,21,24,120,21,25, 
121 

2690 DATA 2,11,0,12,10,18,2, 
105,18,3,106,18,7,104,18,10, 
104,18,15, 107,18,16,108,18,1 
7, 109 

2700 DATA 18,21,104,18,23,10 
5,18,24,106,20,18,120,20,19, 
121 

2710 DATA 2,9,1,10,9,21,28,1 
43,19,25,147,19,19,146,19,20 
,148,19,10,146,19,8,147 
2720 DATA 21,1,105,21,2,106, 

23.29.120.23.30.121 

2730 DATA 1,8,1,10,9,19,20,1 
48,19,9,146,18,17,145,18,23, 

145.21.2.107.21.3.108.21.4.1 
09 

2740 DATA 23,30,120,23,31,12 
1 

2750 DATA 1,11,0,12,8,18,2,1 
07,18,3,108,18,4,109,18,8,10 

5.18.9.106.18.17.105 

2760 DATA 18,18,106,18,21,10 
7,18,22,108,18,23,109,22,14, 

120.22.15.121 

2770 DATA 1,11,1,13,8,18,23, 

104.18.20.104.18.17.109.18.1 

6.108.18.15.107.18.10.106 
2780 DATA 18,9,105,18,5,106, 

18.4.105.21.15.120.21.16.121 
,22,24,120,22,25,121 

2790 DATA 1,9,1,10,11,19,18, 

146.19.9.146.17.16.145.19.24 
,146,19,20,147,21,3,104,21,3 
0, 105 

2800 DATA 21,31,106,23,2,120 
,23,3,121 

2810 DATA 1,13,1,15,9,17,16, 

146.19.18.145.19.20.147.19.2 

4.145.19.8.147.19.10.148.21, 
29,107,21,30,108 

2820 DATA 21,31,109,23,30,12 
0,23,31,121,23,2,120,23,3,12 

1.21.2.105.21.3.106 

2830 DATA 98,01030F1F3F3FFFF 
F,96,010307070F1F3FFF,97,FFF 
FFFFFFFFFFFFF,99,01010404070 
F0F1F 

2840 DATA 1,1,42,64,3,1,32,5 


» 


12,19,1,122,192,1,3,33,1,1,9 

,60,1,1,10,83,1,1,11,78,1,1, 

12.73.1 

2850 DATA 1,13,84,1,1,14,69, 
1,1,24,84,1,1,25,81,1,4,7,11 
2,1,4,8,113,1,4,9,114,1,4,10 

2860 DATA 4,20,64,1,4,28,138 
,1,5,7,116,1,5,8,117,1,5,9,1 

18.1.5.10.119.1.5.14.64.1.5, 

22 . 112.1 

2870 DATA 5,23,113,1,5,24,11 
4,1,5,25,115,1,6,3,64,1,6,22 
,116,1,6,23,117,1,6,24,118,1 
2880 DATA 6,25,119,1,6,30,64 
,1,7,20,64,1,8,7,64,1,8,16,6 
4,1,8,26,64,1,13,28,64,1,13, 

32.98.1 

2890 DATA 14,2,64,1,14,16,64 
,1,14,22,64,1,14,31,98,1,14, 

32.97.1.15.5.64.1.15.12.64.1 
,15,30,96,1 

2900 DATA 15,31,97,2,16,26,6 

4.1.16.29.96.1.16.30.97.3.17 
,28,98,1,17,29,97,4,18,1,91, 

26.18.27.99.1 

2910 DATA 18,28,97,5,19,27,1 

31.1.19.28.97.5 

2920 DATA 17,28,98,1,17,29,9 

7.4.18.1.91.26.18.27.99.1.18 
,28,97,3,19,27,131,1,19,28,9 

7.5 

2930 DATA 20,27,130,1,20,28, 

97.5.21.27.130.1.21.28.97.5, 
22,27,131,1,22,28,97,5,23,27 
, 130, 1 

2940 DATA 23,28,97,5,24,1,12 

4.26.24.27.131.1.24.28.97.5 
2950 DATA 96,00000000C0E1F3F 
F,98,80C0C0E0F8FCFEFF,97,FFF 
FFFFFFFFFFFFF,99,0103030F1F1 
F3FFF 

2960 DATA 100,000000000D1F7F 
• FF,101,00000000B0F8FEFF,102, 
01030F1FFFFFFFFF,103,80C0F0F 
CFFFFFFFF 

2970 DATA 3,1,32,608,22,1,12 

2.96.3.24.64.1.4.3.138.1.4.7 
,64,1,4,14,64,1,5,17,64,1,5, 
20 , 112,1 

2980 DATA 5,21,113,1,5,22,11 

4.1.5.23.115.1.5.30.64.1.6.7 
,112,1,6,8,113,1,6,9,114,1,6 
,10,115,1 

2990 DATA 6,20,116,1,6,21,11 

7,1,6,22,118,1,6,23,119,1,6, 
30,64,1,7,7,116,1,7,8,117,1, 

7,9,118,1 

3000 DATA 7,10,119,1,7,15,64 
,1,8,4,64,1,8,30,112,1,8,31, 
113,1,8,32,114,1,9,19,64,1,9 


,30,116,1 

3010 DATA 9,31,117,1,9,32,11 
8,1,10,11,64,1,10,27,64,1,15 
,3,64,1,15,31,64,1,16,9,64,1 
,16,14,110,1 

3020 DATA 16,15,111,1,17,13, 
99,1,17,14,153,2,17,16,98,1, 

17.19.64.1.17.26.64.1 

3030 DATA 18,2,64,1,18,12,99 
,1,18,13,97,4,18,17,98,1,18, 
22,99,1,18,23,98,1,18,29,64, 

1.19.7.100.1 

3040 DATA 19,8,96,3, 19,.11, 10 . 

2.1.19.12.97.6.19.18.103.1.1 
9, 1*9,96,2, 19,21,102,1, 19,22, 

97.2 

3050 DATA 19,24,103,1,19,25, 

96.1.19.26.101.1.20.6.99.1.2 
0,7,97,20,20,27,98,1,21,1,91 
,4,21,5,99,1 

3060 DATA 21,6,97,22,21,28,9 

8,1,21,29,91,4,24,1,124,32 

3070 DATA 1,2,90,36 

3080 DATA 1,1,50,36 

3090 DATA 2,1,75,36 

3100 DATA 1,0,25,37 

3110 DATA 1,0,15,0,1000,0,0, 

0 

3120 DATA GAME OVER,10,12,PR 
ESS REDO OR BACK,12,8 
3130 DATA 35, 000331 7FDF7D 38, 
36,18040E3D785C788,37,7C581C 
1E3E361C08,38,240192442iaS28 
9 

3140 DATA 39,914A2D9C5AA549A 
4 , 40,0060707C7E786,41 , 81C3C3 
66663C7EFF,42,FFFFFFFFFFFFFF 

FF ’ 

3150 DATA 91,00000000060C183 
C,92,00814242243C7EFF,104,00 
10181F3C3C7EFF,105,02070F0F1 
F3FFFFF 

3160 DATA 106,0408D0E0F0F8FF 
FF,107,000000003F3FFFFF,108, 
103C7EFFFFFFFFFF*109,1020408 
0F0FCFFFF 

3170 DATA 112,000000010F1F3F 
7F,113,001C7EFFFFFFFFFF,114, 
000C3FFFFFFFFFFF,115,000000E 
0F0F8FCFE 

3180 DATA 116,7F7F3F0F03,117 
,FFFFFFFFFF7E18,118,FFFFFFFF 
FF71,119,FEFEFCF8F8F0E,64,00 
44AA1 

3190 DATA 120,0000077FFFFF7F 
1F,121,80E0FEFFFFFFFEFC,122, 
00,123,914A2D9C5AA549A4,34,0 
00024183814 

3200 DATA 130,0F1F3F7F7F7F3F 
0F,131,0F1F07030101070F,124, 



125C301418FFFFFF,145,028489D 
2E4E8F0F8 

3210 DATA 146,0001020408D0E0 
F8,147,0001323C7C7EFFB5,148, 
00081C3E7F557F55,138,387CFEF 
EFE7C38 

3220 DATA 110,0307070F3F7FFF 
FF,111,80C0E0E0F0F8FEFF,153, 
00000183C3E7FFFF 

3230 DATA 2,15,9,15,5,9,5,9, 
2,15,2,15,2,15,16,15,4,15,16 
,15,16,15,2,5,4,5,15,15,2,15 
,4,16 

3240 DATA 2,8,9,8,2,9,2,9,2, 
8,2,8,2,8,16,8,3,8,15,8,16,8 
,2,5,3,5,11,8,13,8,3,15 
3250 DATA 16,2,9,2,16,9,16,9 
,11,2,16,2,16,2,16,2,13,2,15 
,2,16,2,2,5,13,5,16,2,11,2,1 
3, 15 

3260 DATA 2,16,290,392,13,3, 
5,290,492,12,14,11,290,592,1 
0,13,9,740,563,9 
3270 DATA -7,5,8,2,38,38,39, 
39,41,41,41, 96 

3280 DATA -7,2,4,4,38,38,39, 
39 

3290 DATA -6,0,9,3,34,34,38, 

38,39,39,41,41,91 

3300 DATA -7,0,7,4,39,39,38, 

38,34,34,32 

3310 DATA -7,1,9,3,34,34,38, 

38,39,39,41,41,41 

3320 DATA -5,11,3,4,34,38,32 

3330 DATA -7,2,7,4,34,34,38, 

38,39,39,122 

3340 DATA -7,0,10,3,34,38,38 
,39,39,39,38,34,34,32 


UNSER 

LESER-SERVICE: 

LISTINGS 

Tel. 0 89/1 29 8013 
Jeden Dienstag, 15—19 Uhr 

TECHNIK 

Tel. 07 31 / 3 32 20 
Jeden Dienstag, 15—19 Uhr 

Abo- & Kassetten-Service: 
Tel. 0 89/1 29 8011 
— jeden Dienstag 
& Mittwoch, 15—18 Uhr! 


10 

i 

********************** 

11 

; 

* 

THOMAS-VERFAHREN 

* 

12 

i 

* 

(Graphik-Lernprog. 

)* 

13 

i 

* 


* 

14 

i 

* 

Copyright by 

* 

15 

i 

* 


* 

16 

i 

* 

Arnd Noack 

* 

17 

i 

* 


* 

19 

; 

* 

Benoetigte Geraete 

* 

20 

i 

* 

TI99/4A Konsole 

* 

21 

i 

* 

Ext. Basic 

* 

22 

; 

* 

Sprach-Synth. 

* 

23 

i 

* 


* 

26 

; 

* 

Speicherbelegung 

* 

27 

i 

* 

9049 Bytes 

* 

28 

i 

* 


* 

29 

I 

********************** 


100 CALL CLEAR :: CALL SCREE 
N(5):: FOR 1=0 TO 8 :: CALL 
COLORU, 16,9) : : NEXT I 
110 DISPLAY AT(4,1):..DAS 
THOMAS-VERFAHREN" 

120 DISPLAY AT(8,1) : ". 

...24.9.1985" 

130 DISPLAY AT(16, 1 ) : ". 

...BY A.NOACK" 

140 CALL SAY("YOUR «TEXAS IN 
STRUMENTS « IS «READY TO STA 
RT«" ) 

150 CALL SAY ("PLEASE PRESS E 
NTER FOR START") 

160 CALL KEY(0,K,S):: IF S=0 
THEN 160 ELSE 170 
170 CALL CHARSET :: CALL DEL 
SPRITE(ALL):: CALL CLEAR :: 
FOR C=0 TO 14 :: CALL COLOR( 
C,13,l):: NEXT c :: CALL SCR 
EEN < 2) 

180 CALL CHAR(59,"8040201008 
040201") 

190 GOSUB 550 :: GOSUB 1380 
:: GOSUB 230 

200 CALL SPRITE(«1,84,5,99,1 
20,«2,85,5, 99 ,128,«3,86,5,99 
,136,«4,87,5,99,144) 

210 CALL SPRITE(«5,88,5,107, 
121,«6,89,5,107,129,«7,90,5, 
107,137,«8,91,5,107,145) 

220 CALL SPRITE(«10,92,16,12 
0,126,-5,0,«11,92,16,124,132 
,-5,0,«12,92,16,120,140,-5,0 
) 

230 DISPLAY AT(1,1):"der tho 
mas-konverter" :: CALL WAIT 
:: CALL SPRITE(«15,59,16,80, 
120,«16,59,16,72,112) 

240 DISPLAY AT(7,5):" basisc 

he. ..ausmau 

erung" 

250 CALL SPRITE(«17,59,16,12 




M -4 







0,151,#18,59,16,128,159) 

260 DISPLAY AT <17,21):". 

.............windkasten" 

270 DISPLAY AT<10,14):". 

.< = >?. 

.@ABC. 

.DEFG. 

.HIJ K" 

280 DISPLAY AT(15,14):"LMNO" 
290 DISPLAY AT(1,1)BEEP\"der 
thomas-konverter.. 

-" ;: for i = 

l to 300 :: next i :: call c 

300 DISPLAY AT(1,1)BEEP:"1.d 
er konverter wird in.....-fue 
llstellung gebracht und..das 
-fluessige roheisen mit..kal 
kzusatz eingegossen." :: CAL 
L WAIT :: gosub 450 :: call 
waIt :: call c 

310 DISPLAY AT <1, 1)BEEP:"2.v 
om windkasten her wird...sau 

ersto-f-f oder lu-ft...ein 

geblasen." :: CALL WAIT :: 6 
OSUB 480 :: CALL C 
320 DISPLAY AT(1,1)BEEP:"3.d 
er durch das schme1zbad..str 
oemende wind verbrennt... den 
koh 1 ensto-f-f und die.....bei 
mengungen." :: CALL WAIT :: 
GOSUB 650 :: CALL WAIT :: CA 
LL C 

330 DISPLAY AT (1, 1)BEEP:"4.d 
er kalk verbindet sich...mit 
dem phosphor im roheisen" : 

: CALL WAIT :: gosub 670 :: 
CALL WAIT :: CALL C 
340 DISPLAY ATU, 1) BEEP! "5. d 
er Verbrennungsvorgang... dau 
ert 15-20 minuten. ......die 

temperatur wird bis au-f 160 
0 c gesteigert." SS CALL WAI 
T :: gosub 730 :: call wait 
•. CALL C 

350 DISPLAY ATU, 1) BEEP: "6.d 

ie au-f dem stahl...sch 

wimmende schlacke wird...abg 
eschoep-ft und das schmelzgut 
in die bereitgestellten gie 
sswagen ge-fuellt." :: GOSUB 
740 

360 CALL WAIT :: CALL C :: D 
ISPLAY ATU, 1)BEEP: "7.die we 
itere verarbeitung..des stah 
ls er-folgt im stahl-werk dur¬ 
ch giessen und..walzen." 

370 DISPLAY AT(24,1):"nochma 
1..j...weiter..m " :: CALL K 
EY <2,K,S) :: IF S=0 THEN 390 
380 IF K=2 THEN 170 ELSE 800 


390 FOR 1=1 TO 8 :: CALL COL 

OR(#1,7):: NEXT I 

400 FOR 1=1 TO 8 :: CALL COL 

OR(#I,ll):: NEXT I 

410 CALL POSITION(#10,XfY) : : 

IF X<112 THEN CALL DELSPRIT 
E(#10) 

420 CALL POSITION(#11,XI,Y1) 
:: IF XI<112 THEN CALL DELSP 
RITE(#11) 

430 CALL POSITION(#12,X2,Y2) 
:: IF X<112 THEN CALL DELSPR 
ITE(#12):: GOSUB 480 
440 GOTO 370 

450 CALL SPRITE(#1,84,5,99,1 
20,#2,85,5,99,128,#3,86,5,99 
,136,#4,87,5,99,144) 

460 CALL SPRITE(#5,88,5,107, 
121,#6,89,5,107,129,#7,90,5, 
107,137,#8,91,5,107,145) 

470 RETURN 

480 CALL SPRITE(#10,92,16,12 
0,126,-5,0,#11,92,16,124,132 
,-5,0,#12,92,16,120,140,-5,0 
) 

490 FOR 1=1 TO 8 :: CALL COL 

GR(#I,7):: NEXT I 

500 FOR 1=1 TO 8 :: CALL COL 

OR(#1,9)::'NEXT I 

510 CALL POSITION ( #10, X, Y ) *. : 

IF X<112 THEN CALL DELSPRIT 
E(#10) 

520 CALL POSITION(#11,XI,Y1) 
:: IF X<112 THEN CALL DELSPR 
ITE(#11) 

530 CALL POSITION(#12,X2,Y2) 
:: IF X<112 THEN CALL DELSPR 
ITE (#12):: RETURN 
540 RETURN 

550 RESTORE 560 I: FOR 1=1 T 
0 12 :: READ A,B$ :: DISPLAY 
AT(A, 1) *.B* :: NEXT I :: 

560 DATA 1,VERARBEITUNG DES 
ROHEISENS,3,ZU STAHL,6,ROHEI 
SEN HAT EINE HOHEN,8,KÖHLENS 
TOFFGEHALT (3-5 %•)., 10, ZUDEM 
ENTHAELT ROHEISEN 
570 DATA 12,UNERWUENSCHTE OD 
ER ZU HOHE,14,"BEIMENGUNGEN 
AN SILICIUM,",16,"MANGAN,SCH 
WEFEL UND",18,PHOSPHOR. 

580 DATA 20,BEI DER ROHEISEN 
UMWANDLUNG,22,WERDEN DIE BEI 
MENGUNGEN,24,FAST GANZ BESEI 
TIGT. (enter > 

590 CALL KEY(0,K,S):: IF S=0 
THEN 590 

600 CALL CLEAR :: RESTORE 61 
0 :: FOR 1=1 TO 7 :: READ A, 
B$ :: DISPLAY AT(A,l):B$ :: 
NEXT I 


42 




















610 DATA 1,DIESEN UMWANDLUNG 
SVORGANG,3,NENNT MAN FRISCHE 
N., 5, ES GIBT VERSCHIEDENE FR 
ISCH-,7,VERFAHREN:,10,ALS BE 
ISPIEL DIENT HIER DAS 

620 DATA 12,THOMAS-VERFAHREN 
.,16,bitte <enter> druecken 
630 CALL KEY(0,K,S):: IF S=0 
THEN 630 

640 RETURN 

650 FOR 1=1 TO 3 :: FOR A=1 
TO 8 :: CALL COLOR(#A,13):: 
CALL SOUND(-200,-5,10):: NEX 
TA:: NEXT I 

660 FOR 1 = 1 .TO 8 :: CALL COL 

QR<#I,10):: next i :: return 

670 ! 

680 CALL CHAR(40,"0F0D090B09 
0D0B0F",41,"FF99A44591111AFF 
",42,"14520941229055A6",43," 
3000209610C05080") 

690 FOR 1=1 TO 20 

700 CALL PATTERN(#1,40,#2,41 

,#3,42,#4,43) 

710 CALL PATTERN(#1,84,#2,85 
,#3,86,#4,87) 

720 CALL SOUND(-1,-6,10):: N- 
EXT I :: RETURN 
730 CALL SOUND(500,-5,5):: F 
OR 1=1 TO 8 :: FOR C=12 TO 1 
6 :: CALL COLOR(#I,C):: NEXT 
c :: NEXT I :: RETURN 
740 CALL WAIT :: FOR C=1 TO 

4 :: call color (#c, 5):: next 
c 

750 FOR 1=1 TO 10 :: FOR C=i 
TO 4 :: CALL COLOR(#C,11):: 
CALL COLOR(#C,5):: NEXT c : 

: NEXT I 

760 CALL CHAR(123,"00FFFFFFF 
FFFFFFF",124,"0000FFFFFFFFFF 
FF",125,"000000FFFFFFFFFF",1 
26,"00000000FFFFFFFF",127,"0 
000000000FFFFFF",128,"000000 
000000FFFF") 

770 CALL CHAR(129,"000000000 
00000FF",130,"") 

780 P=123 :: FOR Q=1 TO 8 !l 
for 1=1 to 4 :: :: call pat 
tern<#i,P):: NEXT I :: p=p+i 
:: next Q 

790 CALL WAIT :: CALL c :: R 
ETURN 

800 CALL CHARSET :: CALL SCR 
EEN(5):: for 1=1 to 14 :: ca 
ll COLOR<i,11,1):: NEXT i :: 

CALL DELSPRITE(ALL):: CALL 
CLEAR 

810 FOR 1=9 TO 12 :: CALL CO 
LOR(I,16,9):: NEXT I 


820 ! 

830 DISPLAY AT(2,l): n .** 

INFORMATION***" 

840 DISPLAY AT(6,1):"BEI DEM 
NUN FOLGENDEN TEST..HANDELi 
ES SICH UM EINEN....LUECKEN 
TEST. " 

850 DISPLAY AT(10,1):"SCHALT 
EN SIE BITTE DIE KLEINSCHRIF 
T EIN." 

860 DISPLAY AT(14,1):"AN JED 

ER LUECKE IM TEXT.ERSCHE 

INT DER CURSOR." 

870 DISPLAY AT(17,1):"ALS KL 
EINE HILFE WEISEN DIE LUECKE 

N DIE LAENGE DES.LOESUN 

GSWORTES AUF." 

880 DISPLAY AT(24,1):"BITTE 
<eriter> DRUECKEN." 

890 CALL KEY(0,K,S):: IF S=0 
THEN 890 

900 CALL CLEAR :: RESTORE 91 
0 

910 DATA i,*LUECKENTEST*,3,D 

ER KONVERTER WIRD IN,5, _ 

_ GEBRACHT UND,7,DAS 

FLUESSIGE ROHEISEN,9,MIT 
_ EINGEGOSSEN. 


920 DATA 11, VOM_H 

ER WIRD, 13,_ODER L 


UFT,15,EINGEBLASEN. 

930 DATA 17,DER DURCH DAS SC 
HMEL2BAD,19,STROEMENDE WIND 

_,21,DEN KOHLENSTOFF 

UND DIE,23,BEIMENGUNGEN. 

940 DATA 24,<enter> 

950 FOR 1 = 1 TO 13 :.* READ A, 
a$ :: DISPLAY AT(A,1):A$ :: 
NEXT I 

960 Z*="-fuel lstel lung" :: AC 
CEPT AT(5,1)SIZE(13)BEEP:Zl$ 
:: IF Zl$OZ$ THEN GOSUB 13 
60 :: GOTO 960 ELSE GOSUB 13 
70 :: GOTO 980 
970 ! 

980 Zl$="kalkZusatz" :: ACCE 
PT AT(9,5)SIZE(10)BEEP:Z2$ : 

: IF Z2$OZl$ THEN GOSUB 136 
0 :: GOTO 980 ELSE GOSUB 137 
0 :: GOTO 1000 
990 ! 

1000 Z3$="windkasten" :: ACC 
EPT AT(U,5)SIZE(10)BEEP:Z4$ 
:: IF Z4$OZ3$ THEN GOSUB 1 
360 :: GOTO 1000 ELSE GOSUB 
1370 :: GOTO 1020 
1010 ! 

1020 Z5$=" sauersto-f -f " :: ACC 
EPT AT(13,1)SIZE(10)BEEP: 76 % 
:: IF Z6$OZ5* THEN GOSUB 1 
360 :: GOTO 1020 ELSE GOSUB 











1370 :: GOTO 1040 
1030 ! 

1040 Z7$="verbrennt" :: ACCE 
PT AT(19,17)SIZE(9)BEEP:Z8$ 
:: IF Z8«OZ7« THEN GOSUB 13 
60 :: GOTO 1040 ELSE GOSUB 1 
370 :: GOTO 1060 

1050 ! 

1060 CALL KEY(0,K,S):: IF S = 
0 THEN 1060 

1070 CALL CLEAR :: RESTORE 1 


080 

1080 DATA 1,*LUECKENTEST*,3, 

DER _ VERBINDET SICH,5,MI 

T DEM_IM ROHEISEN,7 

,DER VERBRENNUNGSVORGANG,9,D 

AUERT_MINUTEN. 

1090 DATA 11,DIE TEMPERATUR 
WIRD BIS AUF,13,_ C GESTE 


IGERT.,15,DIE AUF DEM STAHL, 

17,SCHWIMMENDE _ WIRD 

1100 DATA 19,ABGESCHOEPFT.,2 

1, DIE WEITERE VERARBEITUNG,2 

2, ERFOLGT IM STAHLWERK DURCH 

,23,_UND_. 

1110 DATA 24,<enter> 

1120 FOR 1=1 TO 14 :: READ A 
,a$ :: DISPLAY AT<A,l>:A$ :: 
NEXT I 

1130 W$="kalk" :: ACCEPT AT( 
3,5)SiZE(4)BEEP:wi$ :: if wi 
*<>W$ THEN GOSUB 1360 :: GOT 
0 1130 ELSE GOSUB 1370 :: GO 
TO 1150 
1140 ! 

1150 W2$="phosphor" :: ACCEP 
T AT(5,9)SIZE(8)BEEP:W3$ :: 

IF W3$OW2* THEN GOSUB 1360 
:: GOTO 1150 ELSE GOSUB 1370 
:: goto 1170 
1160 ! 

1170 W4$="15-20" :: ACCEPT A 
T (9,8) SIZE (5) BEEP-I W5$ :: IF 
W5*OW4* THEN GOSUB 1360 :: 
GOTO 1170 ELSE GOSUB 1370 :: 
GOTO 1180 

1180 W6$="1600” :: ACCEPT AT 
<13, dsize(4)beep:W7$ :: if 
W7*OW6* THEN GOSUB 1360 :: 
GOTO 1180 ELSE GOSUB 1370 :: 

GOTO 1200 
1190 ! 

1200 W8$="schlacke" :: ACCEP 
T AT(17,13)SIZE(8)BEEP:W9$ : 

: IF W9*OW8$ THEN GOSUB 136 
0 :: GOTO 1200 ELSE GOSUB 13 
70 :: GOTO 1220 
1210 ! 

1220 W10$="giessen" :: ACCEP 
T AT(23, 1)SIZE(7)BEEP:Wi 1$ : 


: IF W11*OW10* THEN GOSUB 1 
360 :: GOTO 1220 ELSE GOSUB 
1370 :: GOTO 1240 
1230 ! 

1240 Wi2$="walzen" :: ACCEPT 
AT(23,13)SIZE(6)BEEP:W13$ : 

: IF W13*OW12* THEN GOSUB 1 
360 :: GOTO 1240 ELSE GOSUB 
1370 :: GOTO 1260 
1250 ! 

1260 CALL CLEAR 

1270 DISPLAY AT <4,2) : "DER TE 

ST IST BESTANDEN. 

.DAS TH 

OMA.S-VERFAHREN DUERFTE. 


1280 CALL SAY <"THE WORK IS C 
OMPLETED") 

1290 DISPLAY AT(9,1):"KEIN P 
ROBLEM MEHR SEIN." 

1300 CALL SAY("THERE IS NO # 
PROBLEM# ANY MORE") 

1310 DISPLAY AT(12,2):"WOLLE 

N SIE TROTZDEM. 

.WIEDE 


RHOLEN ?" 

1320 DISPLAY AT(16,2):"<1>=< 

J>. . . .. 

. ..< 2 > = < 


N >" 

1330 CALL SAY("FOR TO #TRY A 
GAIN# PRESS ONE"):: CALL SAY 
("FOR TO STOP PROGRAM PRESS 
TWO " ) 

1340 CALL KEY <1,K,S):: IF S= 
0 THEN CALL SOUND(1,440,10): 

: GOTO 1340 

1350 IF K=19 THEN RUN ELSE C 
ALL CLEAR :: CALL SAYCGOODB 
YE"):: END 

1360 CALL SAY("UHOH #THAT IS 
INCORRECT#")I: RETURN 
1370 CALL SAY("#THAT IS RIGH 
T#"):: RETURN 

1380 RESTORE 1390 :: CALL CL 
EAR :: DISPLAY AT < 122,9) : "bi t 
te warten" 

1390 DATA 0000000000000102,0 
00F10204F902040,00FF0000FE01 
,0000904020108844,0109122448 
909090,80,0000000000000000,2 
211090909090909 
1400 DATA 9090909090909090,0 
000000000000000,000000000000 
0000,0909090909090909,909090 
884423110A,0000000000FF,0000 
000000FF,0909090912E44828 
1410 DATA 0A0A0A0A0A0A0A1F,0 
0000000000000FF,000000000000 
00FF,28282828282828FC 
1420 FOR 1=60 TO 80 :: READ 















• • 


A$ :: CALL CHAR(I,A$):: NEXT 
I 

1430 !EISENBAD 

1440 DATA 0F0F0F0F0F0F0F0F,F 
FFFFFFFFFFFFFFF, FFFFFFFFFFFF 
FFFF,F0F0F0F0F0F0F0F0,070300 
,FFFF00,FFFF,E0C0 
1450 CALL CHAR(92,"00081C3E0 
80808") 


1460 RESTORE 1440 :: FOR 1=8 
4 TO 91 :: READ A$ :: CALL c 
HAR(I,A$):: NEXT I 
1470 CALL CLfAR :: RETURN 
1480 SUB -WAIT 

1490 FOR 1=0 TO 15 STEP 3 :: 
CALL SOUND<-10,110, 1,111,1, 

H2,i):: next i :: Display a 
T(24,i):"" :: Display at<24, 

1 ) : ".. 

nter" . . 

1500 CALL KEY(0,K,S):: CALL 
SOUND(-1,110,15) 

1510 IF S=0 THEN 1500 
1520 SUBEXIT 
1530 SUBEND 
1540 SUB C 

1550 FOR 1=6 TO 1 STEP -1 :: 

DISPLAY AT(1, 1) :"" :: NEXT 
I :: SUBEND 


10 

i 

********************** 

11 

; 

* 

STATIK 

* 

12 

; 

* 

Schwerpunkte und 

* 

13 

; 

* 

Traegheitsmomente 

* 

14 

j 

* 


* 

15 

i 

* 

Copyright by 

* 

16 

; 

* 


* 

17 

i 

* 

Rudolph Trumbach 

* 

18 

i 

* 


* 

19 

; 

* 

Benoetigte Geraete 

‘* 

20 

i 

* 

TI99/4A Konsole 

* 

21 

i 

* 

Ext. Basic 

* 

22 

i 

* 


* 

26 

i 

* 

Speicherbelegung 

* 

27 

; 

* 

1898 Bytes 

* 

28 

i 

* 


* 

29 

i 

********************** 


100 CALL CLEAR :: CALL SCREE 
N(4):: FOR 1=1 TO 12 :: CALL 
COLOR(1,2,4):: NEXT I 
110 CALL HCHAR(23,4,42,26):: 
PRINT :: PRINT ".S 

t a t i K": : :: Display bee 

<> 

p 


120 PRINT " BERECHNUNG VON S 

CHWERPUNKT.UND FLAECHEN 

MOMENTEN": : : :: CALL HCHAR 
(23,4,42,26) 

130 print drueck 

E IRGENDEINE TASTE >" 

140 CALL KEY(0,KK,S):: IF S= 
0 THEN 140 :: CALL CLEAR 
150 CALL CHAR(37,"E020E080E" 
,38,"2040F0202") 

160 GESA,YS,2S,GJY,GJZ,GJYZ= 
0 

170 INPUT "ANZAHL DER FLAECH 
EN:":anz :: call clear 
180 ! 

190 ! WENN ANZAHL >10 => DIM( 
ANZ) 

200 ! 

210 FOR 1=1 TO ANZ 
220 PRINT "ZUR"Jli". FLAECHE 
": :"*********************** 
*****'•: : : 

230 INPUT "FLAECHENGROESSE:" 


:A(i):: print 


240 INPUT 

"Y-KOORDINATE 

Ccm] 

:": Y (I):: 

PRINT 


250 INPUT 

"Z-KOORDINATE 

Ccm] 

:": z ( I):: 

PRINT 


260 INPUT 

"ly (EIGEN).. 

C cm&] 

:":JY(I):: 

PRINT 


270 INPUT 

" I z. 

C cmß<] 

:":JZ(I):: 

PRINT 


280 INPUT 

" Iyz. 

C cmßc] 

:":JYZ(l): 

: PRINT 



290 CALL CLEAR :: NEXT I :I 
PRINT "ERGEBNISSE:": .-"***** 

************************* : : 
FOR 1=1 TO 200 :: NEXT I 

300 ! 

310 ! GESAMTFLAECHE 
320 ! 

330 FOR 1=1 TO ANZ :: GESA=G 
ESA+A(I):: NEXT I 
340 ! 

350 ! SCHWERPUNKTKOORDINATEN 
360 ! 

370 FOR 1=1 TO ANZ :: YS=YS+ 
<Y(I)*A(I))/GESA :: ZS=ZS+(Z 
(I)*A(I))/GESA :: NEXT I 
380 ! 

390 ! TRAEGHEITSMOMENTE 
400 ! (SATZ VON STEINER) 

410 ! 

420 FOR 1=1 TO ANZ 

430 GJY=GJY+JY(I)+(Z(I)-ZS) A 

2*A(I) 

440 GJZ=GJZ+JZ(I)+(Y(I)- YS) A 
2*A(I) 












450 GJYZ=GJYZ+JYZ(I)+(Y(I)-Y 
S)*(Z(I)-ZS)*A(I) 

460 NEXT I 
470 ! 

480 ! HAUPTFLAECHENMOMENTE 

490 ! 

500 JMAX=(GJY+GJZ)/2 +(((GJY- 
GJZ)/2) A 2+GJYZ A 2) A .5 
510 JMIN=(GJY+GJZ)/2-<<(GJY- 
GJZ)/2) A 2+GJYZ A 2) A .5 

520 ! 

530 ! HAUPTACHSEN 

540 ! 

550 WI=-2*GJYZ/(GJY-GJZ):: W 
1= <ATN(WI)*57.295779513079)/ 
2 

560 CALL CLEAR :: FOR 1=1 TO 
30 STEP 3 :: CALL SOUND<-10 
0,1000,1,1010,1,990,1):: NEX 
T I 

570 PRINT "> GES.-FLAECHE =" 

;GESA;"Ccm%3": : 

580 PRINT "> SCHWERPUNKT (Y; 
Z) «: : : "..Y="j YS: : : "..Z=" 

5zs: : : 

590 PRINT "> ly...="5GJYJ"Cc 

mtcl”: : 

600 PRINT "> Iz...="JGJZS"Cc 
mßci": : 

610 PRINT "> lyz.. =";GJYZ 5"C 
cm&3": : : 

620 PRINT "> I-MAX. .="5 JMAX J 
"Ccm6<3": : 

630 PRINT "> I-MIN..="iJMIN; 

"c cm&3": : 

640 PRINT "> WINKEL ="iWIi"G 
RAD" 

650 CALL KEY(0,K,S):: IF S=0 
THEN 650 

660 CALL CLEAR :: END 


Haben Sie 
ein 
gutes 

Programm? 

Wir 

kaufen es! 



10 

! ********************** 

11 

! * 


* 

12 

! * 

SOUND-WRITER 

* 

13 

• * 

* 

* 

14 

! * 

Copyright by 

* 

15 

! * 


* 

16 

! * 

Georg Sommerau 

* 

17 

! * 


* 

19 

! * 

Benoetigte Geraete 

* 

20 

! * 

TI99/4A Konsole 

* 

21 

! * 

Ext. Basic 

* 

22 

! * 

Di sk-Lau-f w. 

* 

23 

! * 


* 

26 

! * 

Speicherbe 1egung 

* 

27 

! * 

3167 Bytes 

* 

28 

! * 


* 

29 

! ********************** 

100 CAL 

.L CLEAR :: CALL SCREE 

N < 

2) : : 

FOR w=0 TO 12 :: CALL 


COLOR(Wj16,2):; NEXT W 
110 CALL CHAR(45,"FF",35,"04 
0605041C3C3C18"): : .CALL MAGN 
IFY(2):; FOR L=1 TO 5 
120 CALL HCHAR<5+W,7,45,17): 

: NEXT W 

130 FOR W-l TO 5 :: CALL SPR 
ITE(#W,35,6+W,70-W*8,W*20+40 
):: CALL SOUND(400,W*10+110, 
3):: NEXT W 

140 DISPLAY AT (15, 1 ) : ,; ** S 0 
U N D W R I T E R **" 

150 DISPLAY AT(18,14):"EY": 

: : ».GEORG SOMMERAU " 

160 DISPLAY AT<23,10):"(c) 1 
935" 

170 FOR W=1 TO 1000 :: NEXT 
W 

180 CALL CLEAR : *. CALL DELSP 
RITE(ALL) 

190 DISPLAY AT'2,1):"** S 0 
UNDWRITER **" 

200 DISPLAY AT(5,5);"EIN SOU 
ND GENERATOR" 

210 DISPLAY AT(3,1):"Mit die 
sein Programm koenneri": : "Sie 
ein CALL SOUND Programm": : 
"im Merge Format generieren" 

: : : : :"Druecken Sie eine 

Taste" 

220 CALL KEY(0, W,S):: IF S=0 
THEN 220 

230 CALL HCHAR<7, 1,32,544) . 
240 DISPLAY AT<8,1):"TASTENF 
UNKTIONEN...:" 

250 DISPLAY AT<10,1):"Sie we 
rden mit Menus": :"durchs Pr 
ogramm ge-fuehrt .": :"Mit <S 
PACE> hoeren Sie das": :"ber 
eits geschriebene ." 

260 DISPLAY AT<18,1):"Mit <B 


AK 








ACK> koennen Sie neu": : "an-f 
angen : :"bitte Taste dr 

uecken" :: CALL k'EY(0,W,S):: 
IF S=0 THEN 260 

270 CALL HCHAR(7,1,32,544) 
280 DISPLAY AT(3,1):"Mit <PR 
GC’D> wird das": :"Programm 
auf DSK1. generiert": : :"Mi 
t <REDO> koennen Sie einen": 

:"Tan im Datenfeld zurueck_ 
": : "gehen. " 

290 DISPLAY AT(20,1):"Mit <A 
ID> koennen Sie": :"beliebig 
springen.": :"bitte taste d 
r-uecken" :: -CALL KEY(0,W,S): 

: IF S=0>HEN 290 
300 CALL HCHAR(7,1,32,576) 
310 DISPLAY AT(10,5):"ALLES 
KLAR ?...J" :: ACCEPT AT(10, 

20)VAL I DATE("JN")SIZE(-1):1$ 
320 IF IS="N" THEN 230 
330 CALL CLEAR 
340 DIM D(500),T(500) 

350 2=0 

360 CALL HCHAR(15,1,32,290)I 
: DISPLAY AT(1,5):"NR. " ; Z 
370 ON WARNING NEXT :: ON ER 
ROR 360 :: GOTO 390 
380 GOTO 360 

390 DISPLAY AT(5,5):"DAUER>. 
....400" :: ACCEPT AT(5,16)S 
IZE(-5)DEEP:D(Z) 

400 DISPLAY AT(8,5):"TON..>" 
:: ACCEPT AT(8,16)BEEP:T(2) 
410 CALL SOUND(D(Z),T(2),0) 
420 Z=Z+1 

430 DISPLAY AT(13,1):"<ENTER 

> WEITERE EINGABE" 

440 DISPLAY AT(15,1):"<SPACE 

> SPIELT MELODIE " \ 

450 DISPLAY AT(17,1):"<BACK> 
..NEUES LIED ANFÄNGEN" 

460 DISPLAY AT(19,1):"<PROC * 
D >GENERIERT PROGRAMM" 

470 DISPLAY AT(21,1):"<REDO> 
..KORREKTUR LETZTE NR." * 
480 DISPLAY AT(23,1):"<AID>. 

..ZU TON >...< ZURUECK" 

490 CALL KEY <0,K,S):: IF S=0 
THEN 490 

500 IF K=6 THEN Z=Z-1 :: GOT 
0 360 

510 IF K=1 THEN ACCEPT AT(23 
,17)SIZE(3)VALIDATE(DIGIT)BE 
EP:w :: z=w :: GOTO 360 
520 IF K=32 THEN 560 
530 IF K=15 THEN 580 
540 IF K=12 THEN 600 
550 GOTO 360 
560 ! SPIELEN 


570 FOR Zi=0 TO Z-l :: CALL 
SOUND(D(Zi),T(ZI),0):: DISPL 
AY AT(1,20):"SNR."J ZI :: NEX 
T 21 :: GOTO 440 
580 DISPLAY AT(20,1)ERASE AL 
L:"LIED WIRD GELOESCHT": :"M 
OMENT BITTE " 

590 FOR A=0 TO Z-l :: T(A),D 
(A)=0 :: NEXT A :: GOTO 350 
600 !**CALL SOUND GENERATOR 
610 CALL CLEAR 
620 DISPLAY AT(15,3):"BITTE 
GEBEN SIE PROGRAMMNAME": :"E 
IN >> " 

630 ACCEPT AT(18,10):W$ 

640 ON ERROR 760 

650 OPEN #1:"DSK1."&WS,VARIA 

ELE 163 

660 DEF ZEIS(X)=CHR$(INT(X/2 
56))kCHRS(X-INT(X/256)*256) 
670 ZN=10 :: NULS=CHRS(0) 

680 PRINT #1 :2EIS(ZN)ScCHRS(l 
3i)k”*MIT SOUNDWRITER ERST.* 
"kNULS 

690 FOR V=0 TO Z-2 
700 ZN=2N+1 

710 PRINT #i:ZEIS(ZN) ßcCHRS (1 
57 ) kCHRS ( 200) &CHR* (5 ) &" SOUND 
" &CHRS (183) &CHRS ( 200) kCHRS (L 
EN (STRS (D (V) ) ) ) 

720 PRINT #l:STR$(D(V))&CHR$ 
(179) &CHRS ( 200) (kCHRS (LEN (STR 
S(T(V) ) ) ) &STRS ( T ( V) ) ßcCHRS (17 
9) ftcCHRS (200) &CHRS (1) lc " 5" 8<CHR 
$(182)&NULS 
730 NEXT V 

740 PRINT # 1: CHRS (255) ßcCHRS ( 
255):: CLOSE #1 
750 CALL CLEAR :: DISPLAY AT 
(10,1):"PROGRAMM WURDE IM ME 

RGE.FORMAT AUF DSK1."8<W$ 

:"ABGEPEICHSRT." :: END 
760 DISPLAY AT(15,2)I"ES IST 
EIN FEHLER ENTSTANDEN":. : "B 
ITTE KORRIGIEREN !!": I I"WE 
ITER MIT ENTER " 

770 CALL KEY(0,ß,R):: IF R=0 
OR 0013 THEN 770 
780 GOTO 610 


Die nächste 

TI REVUE 

am 

28 . 2.1986 


A~r 





10 REM******************** 


11 REM* DIVISION * 

12 REM* * 

13 REM* Copyright by * 

14 REM* * 

13 REM* Jan Kuenen * 

16 REM* * 

17 REM*Benoetigte Geraete* 

18 REM* TI99/4A Konsole * 

19 REM* * 

23 REM* Speicherbelegung * 

24 REM* 2565 Bytes * 


25 REM******************** 

26 REM 

100 CALL CLEAR 
110 CALL SCREEN(15) 

120 PRINT "***************** 
***********": : 

130 PRINT TABUl) i "DIVISION" 

140 PRINT "***************** 

***********": : 

150 PRINT "MIT DIESEM PROGRA 
MM KANN MAN":"EINE DIVISION 
AUF DEM BILD-":"SCHIRM SICHT 
BAR MACHEN.": : 

160 PRINT "AUCH DEZIMALE ZAH 
LEN WERDEN AKZEPTIERT.": :"G 
EBEN SIE ZUERST DEN DIVISOR" 
170 PRINT "UND DANN DIE TEIL 

UNGSZAHI_ein.": : 

180 PRINT "DRUECKEN SIE BITT 
E EINE":"BELIEBIGE TASTE.": 

190 PRINT -- 

_ _ II • • 

— — — — — — — — | t 

200 CALL KEY(0, K, S) 

210 IF S=0 THEN 200 

220 CALL CHAR(128,"000000FF" 

) 

230 CALL CLEAR 
240 INPUT "DIVISOR: ":A 
• 250 IF A=0 THEN 230 
260 PRINT 
270 Ai$=STR$(A) 

280 IF LEN(Al$)>10 THEN 230 
290 IF SEG$(A1$,1,1)<>"." TH 
EN 310 

300 A1$="0"&A1* 

310 PRINT 

320 INPUT "TEILUNGSZAHL: ":B 
330 GD$=STR*(B/A) 

340 FOR 1 = 1 TO LEN <GD$) 

350 IF SEG$(GD$,I,1)="E" THE 

N 230 

360 NEXT I 

370 B1$=STR$ i B) 

380 IF LEN(B1$)>10 THEN 230 
390 IF LEN < Al$8cBl$) >11 THEN 
230 



400 IF SEG$(Bl$,1,1)<>". " TH 
EN 420 

410 Bl$="0"&c:Bl$ 

420 CALL CLEAR 

430 IF A=INT < A)THEN 470 

440 L=LEN(STR$ <A-INT(A)))-1 

450 A=A*10"L 

460 B=B*10^L 

470 IF A>B THEN 700 

480 GOSUB 510 

490 IF B< >INT(B)THEN 650 

500 IF A$=A1$ THEN 970 ELSE 

870 

510 C$=STR$(INT(B/A)) 

520 A$=STR$(A) 

530 B$=STR$(B) 

540 RETURN 

550 C$=STR$(B/A) 

560 P=i 
570 P=P+1 

580 IF SEG$(C$,P,1)="0" THEN 
570 

590 C*="0"&SEG$<C*,1,P+1> 

600 A$=STR$(A) 

610 B$=STR$(B) 

620 Q$=STR$(10^P) 

630 Q$=SEG$(Q$,2,P) 

640 RETURN 

650 L=LEN(STR$(B-INT(B))) 

660 P=LEN(C$) 

670 Q$=STR$(B/A) 

680 C$=SEG$<Q$,1,P+L) 

690 IF A$=Ai$ THEN 970 ELSE 

870 

700 GOSUB 550 

710 IF <B<>INT(B))+(B<1)THEN 
740 

720 B$=B$&" . 

730 GOTO 870 

740 IF B<1 THEN 850 

750 B$=B$&<Q$ 

760 M=LEN(STR$(B-INT(B)))-1 
770 L=LEN(STR$(INT(B)))+i 
780 IF M<P THEN 830 
790 P=M 

800 C$=STR$<B/A) 

810 C$=SEG$(C$,1, P + l) 

820 C$="0"&C$ 

830 B4=SEG$(B$, 1,P+L) 

840 GOTO 870 
850 B$="0"&B$&Q$ 

860 B$=SEG$(B$,1,P+2> 

870 PRINT TAB(6)J Al$j"/"J Bl$ 

. " \ " 

880 L=LEN(A$kB$kC*)+2 
890 P=LEN(A1$&B1$&C$)+2 
900 IF P<=L THEN 920 
910 L=P 

920 PRINT TAB(6); 

930 FOR P=1 TO L 


48 




940 PRINT ""j 
950 NEXT P 
960 PRINT 

970 PRINT TAB (6) i A$i B$J " 
\ " f C$ 

980 AL=LEN(A$)+7 

990 CL=LEN(C$) 

1000 P=1 

1010 IF SEG$(C$,1,1)<>"0" TH 
EN 1060 
1020 P=P+1 
1030 P = P + 1 

1040 IF SEG$(C$,P,1)<>"0" TH 

EN 1060 

1050 GOTO 1030 

1060 Q$=SEG$(C$,P, 1) 

1070 G=VAL(Q$) 

1080 G=Q*A 
1090 L=1 

1100 Bi$=SEG$(B$,L,1) 

1110 B1=VAL(B1$) 

1120 IF Q< =B1 THEN 1190 
1130 L=L+1 

1140 B2$=SEG$(B$,L,1) 

1150 IF 32$="." THEN 1130 
1160 Bi$=Bi$&B2$ 

1170 Bl=VAL(Bi$) 

1180 IF Q>B1 THEN 1130 
1190 Q$=STR$(Q) 

1200 PRINT TAB(AL+L-LEN<Q$)) 

; Q$ 

1210 PRINT TAB(AL+L-LEN(Bi$) 
) J 

1220 FOR 1=1 TO LEN(Bi$) 

1230 PRINT ""J 
1240 NEXT I 
1250 PRINT 
1260 AF=B1 -*Q 
1270 AF$=STR$(AF) 

1280 IF CL>P THEN 1310 
1290 PRINT TAB(AL+L-LEN(AF$) 
) ? AF$ 

1300 GOTO 1430 
1310 L=L+1 

1320 B2$=SEG$(B$,L,1) 

1330 IF B2$="." THEN 1310 
1340 B1$=AF$8«B2$ 

1350 B1=VAL(B1$) 

1360 PRINT TAB(AL+L-LEN(Bl$) 
) ;Bi$ 

1370 P=P + i 

1380 Q$=SEG$(C$,P,1) 

1390 IF 0$="." THEN 1370 
1400 Q=VAL (Q$) 

1410 Q=Q*A 

1420 GOTO 1190 

1430 CALL KEY(0,K, S) 

1440 IF S=0 THEN 1430 
1450 GOTO 230 


10 REM******************** 


11 REH* MORSEPROGRAMM * 

12 REM* * 

13 REM* Copyright by * 

14 REM* * 

15 REM* Jan Kuenen * 

16 REM* * 

17 REM*Benoetigte Geraete* 

18 REM* TI99/4A Konsole * 

19 REM* * 

23 REM* Speicherbelegung * 

24 REM* 5508 Bytes * 


25 REM******************** 

26 REM 

100 DIM D (42,5),F(42) ,K$(10) 

,B$(43),Z$(43) 

110 G'OSUB 1960 

120 CALL CLEAR 

130 PRINT LN$: :"SOLLEN DIE 

ZEICHEN AUF DEM..BILDSCHIRM 

GEZEIGT WERDEN?": :"<J-N>": 

:LN$: : 

140 CALL KEY(0,KW,ST) 

150 IF (KW< >74)*(KW< >78)THEN 
140 

160 CALL CLEAR 

170 PRINT LN$: :TAB(7)5"GESC 
HWINDIGKEIT":TAB(7)]"- 

II • • 

• • 

lß0 PRINT "WAHL AUS 5 GESCHW 
IN'DIGKEITEN" : : " 1 . SCHNELL": 

:"5.LANGSAM": :LN$: : 

190 CALL HCHAR(23,1,32,32) 
200 PRINT "WAHL:" 

210 CALL KEY <0,KEY,ST) 

220 IF ST=0 THEN 210 
230 S=KEY-4S 

240 IF (S<1)+(S>5)THEN 190 . 

250 CALL CLEAR 

260 PRINT LN$: :TAB(13)i"MEN 
u": :LN$: : 

270 FOR 1=1 TO 7 
280 PRINT K$(I): : 

290. NEXT I 

300 PRINT LN$: :K$(0> 

310 CALL KEY(0,K,ST) 

320 IF 3T=0 THEN 310 

330 IF K=83 THEN 120 

340 IF (K<49)+(K>55)THEN 310 

350 K=K-48 

360 CK=KW 

370 SP=S*35+10 

380 IF (CK=78) + (K>4)THEN 400 

390 SP=S*35 

400 IF K<5 THEN 420 

410 CK=78 

420 CALL CLEAR 

430 PRINT LN$: : 

440 PRINT K$(K): : 

450 PRINT LN$: : 


» 


49 





460 ON K GOTO 800,1110,1630, 
1160,1610,1610,1700 

470 REM AUSFUEHRUNGSROUTINE 
480 IF A0-16 THEN 530 

490 CALL SOUND(3#$P,T2,30) 
500 IF CK=78-THEN ; 620 
510 PRINT : : 

520 GOTO 620 

530 FOR J=1 TO F(A) 

540 IF CK=78 THEN 560 
550 PRINT CHR$(D<A,J)+127)j 
560 CALL SOUND(D(A,J)*SP,T1, 
0 ) 

570 CALL SOUND(SP,T2,30) 

580 NEXT J 

590 IF CK=78 THEN 610 
600 PRINT " 

6i0 CALL SOUND<2*SP,T2,30) 
620 RETURN 

630 REM EINGABE TESTEN 
640 GD-0 

650 IF LEN(A$)<42 THEN 690 
660 PRINT "MEHR ALS 42 2EICH 
EN": : 

670 GD=1 

680 GOTO 790 

690 FOR 1 = 1 TO LEN < A$) 

700 B$(I)=SEG$(A$,1,1) 

710 AS=ASC(B$(I))-48 
720 IF AS=-16 THEN 780 
730 IF (AS<0)+(AS>42)THEN 75 
0 

740 IF <AS<10) + <AS>16)THEN 7 
80 

750 PRINT "NUR BUCHSTABEN OD 
ER ZIFFERN": : 

760 GD=i 
770 I=LEN(A$) 

780 NEXT I 

790 RETURN 

800 PRINT "SIE HoREN EIN ZEI 
CHEN.": :"GEBEN SIE DAS ZEIC 
HEN EIN. : 

810 PRINT "DAS PROGRAMM KANN 
GESTOPPT..WERDEN MIT <ENTER 
>.": : : 

820 PRINT "SIND SIE SOWEIT,D 
ANN DIE....LEERTASTE DRUCKEN 
,BITTE.": :ln$: : 

830 CALL KEY(0,KL,ST) 

840 IF KL<>32 THEN 830 

850 CALL CLEAR 

860 print ln$: :k*(10): : 

870 A=INT(RND*43> 

880 IF <A>9)*(A<17)THEN 870 

890 FOR W=1 TO 500 

900 NEXT W 

910 H=0 

920 GOSUB 480 


930 PRINT : :"WELCHES ZEICHE 
N? :"; 

940 CALL KEY(0,KK,ST) 

950 IF ST=0 THEN 940 
960 IF KK=13 THEN 250 
970 PRINT CHR$(KK) 

980 PRINT 

990 IF CHR$(A+48)= CHR$(KK)TH 
EN 1070 
1000 H=H+1 

1010 !*=■ H=3 THEN 1040 
1020 PRINT "FALSCH! NOCH EIN 
MAL, " : : 

1030 GOTO 920 

1040 PRINT "ES WAR EINE :";C 
HR$(A + 48): : 

1050 PRINT ln$: : 

1060 GOTO 870 

1070 PRINT "DAS WAR RICHTIG. 

n. • 

1080 PRINT lns: : 

1090 GOTO 870 

1100 CALL HCHAR(23,1,32,32) 
1110 INPUT "WIEVIELE ZEICHEN 
?: ".‘ZT 

1120 IF ZT>42 THEN 1100 
1130 CALL CLEAR 
1140 PRINT : ; 

1150 GOTO 1290 

1160 PRINT "WELCHE ZEICHEN M 
ACHEN MIT?:": : 

1170 INPUT "":A$ 

1180 PRINT 
1190 GOSUB 640 
1200 IF GB=1 T HEN 1170 
1210 PRINT 

1220 FOR 1=1 TO LEN(A$)• 

1230 B*(I)=SEG$(A$, I, 1) 

1240 NEXT I 

1250 CALL HCHAR(22,1,32,32) 
1260 INPUT "WIEVIELE ZEICHEN 
ZUGLEICH:":ZT 
1270 IF ZT>42 THEN 1250 
1280 PRINT 

1290 PRINT LN$: :K$<10): : 
1300 FOR W=i TO 800' 

1310 -NEXT W 
1320 H$="" 

1330 FOR 1=1 TO ZT 
1340 IF K< >4 THEN 1380 
1350 X=INT(RND*LEN(A$))+l 
1360 A=ASC(B*(X))-48 
1370 GOTO 1400 
1380 A=INT(RND*43) 

1390 IF (A>9>#(A<17)THEN 138 
0 

1400 GOSUB 480 

1410 IF INT <1/5)01/5 THEN 1 

440 

1420 IF CK=78 THEN 1440 
1430 PRINT : : 


50 


1440 Z*(I)=CHR$(A+4S) 

1450 H$=H$8<Z$(I) 

1460 NEXT I 

1470 PRINT : : 

1480 INPUT "WAS HABEN SIE GE 
HcRT?:": T $ 

1490 PRINT : : 

1500 IP T$=H$ THEN 1530 
1510 PRINT "FALSCH! ES WAR : 

"; : : 

1520 GOTO 1540 

1530 PRINT “DAS WAR RICHTIG. 

ii • • 

1540 PRINT :LN$: :"W=WIEDERH 
ÖLEN..M=MENu" 

1550 CALL' KEY (0, KEY, ST) 

1560 IF ST=0 THEN 1550 
1570 IF KEY=87 THEN 1590 
1580 IP KEY< >77 THEN 1550 EL 
3E 250 

1590 CALL HCHAR<23,1,32,32) 
1600 GN K GOTO 870,1300,1630 
,1300,1610,1610,1300 
1610 A$=K$(K + 3) 

1620 GOTO 1770 

1630 PRINT "WELCHEN SATZ NoC 
UTEN SIE....HüREN? <MAX. 42 
ZEICHEN >": : 

1640 INPUT "SATZ: " : A$ 

1650 PRINT 

1660 GOSUB 640 

1670 IF GD=1 THEN 1640 

1680 PRINT 

1690 GOTO 1770 

1700 INPUT "WELCHES RUFZEICH 
EN? : ":A$ 

1710 PRINT 

1720 GOSUB 640 

1730 IF GD=1 THEN 1700 

1740 INPUT "NACH WIEVIEL MIN 

UTEN SOLL ESWIEDERHOLT WERDE 

N?:":MIN 

1750 PRINT 

1760 PRINT LN$: :"LEERTASTE= 
ENDE" 

1770 FOR 1=1 TO LEN(A$) 

1780 A=ASC(SEG$(A$,I,1))-48 
1790 GOSUB 480 
1800 NEXT I 

1810 IF K< >3 THEN 1880 
1820 PRINT : :"NOCH EINMAL? 

< J - N > " 

1830 CALL KEY(0,KK,ST) 

1840 IF KK=78 THEN 1540 

1850 IF KK<>74 THEN 1830 

1860 CALL HCHAR(23,1,32,32) 

1870 GOTO 1770 

1880 IF K=7 THEN 1910 

1890 CALL CLEAR 

1900 GOTO 260 


1910 FOR W=1 TO 1120£MIN 
1920,CALL KEY(0,KJ,ST) 

1930 IF KJ=32 THEN 250 ' 

1940 NEXT W 
1950 GOTO 1770 
1960 CALL CLEAR 
1970 CALL SCREEN(15) 

1980 PRINT TAB(S)j"MÜRSEPROG 
RAMM".: 

1990 CALL CHAR(97,"002800384 
4704*344" ) 

2000 CALL CHAR(111,"002S007C 
44 44447C") 

2010 CALL CHAR(117,"00280044 
44444433") 

2020 CALL CHAR (1*20, "FF00FF00 
FF00FF") 

2030 CALL CHAR(128,"00000010 
1 " ) 

2040 CALL CHAR(130,"0000007C 
7C") 

2050 CALL COLOR(13,2,16) 

2060 RANDOMIZE 
2070 FOR 1=0 TO 42 
2080 READ F(I) 

2090 FOR J=i TO F(1) 

2100 READ D(I,J) 

2110 NEXT J 
2120 NEXT I 

2130 LN$="xxxxxxxxxxxxxxxxxx 
xxxxxxxxxx" 

2140 CALL COLOR(12,6,8) 

2150 K$(0)="3=GESCHWINDIGKEI 
T ÄNDERN" 

2160 K$(1)="1.EIN BELIEBIGES 
ZEICHEN" 

2170 K$(2)="2.MEHRERE BELIEB 
IGE ZEICHEN" 

2180 K*<3)="3.EINGEGEBENE Sa 
TZE MORSEN" 

2190 K$(4)="4.MORSELEHRGANG" 
2200 K$(5)="5.EIGENES RUFZEI 
CHEN" 

2210 K$(6) ="6.QTH-LOKATQR" 
2220 K$<7)="7.RUFZEICHENGENE 
RATOR" 

2230 (8)="PE1GNP" 

2240 K$(9)="J031IX" 

2250 K$<10)="PASSEN SIE AUF! 

ES FaNGT AN. " * 

2260 TI=1000 
2270 T2=20000 
2280 RETURN 

2290 DATA 5,3,3,3,3,3,5, 1,3, 

3,3,3,5, 1, 1,3,3,3 

2300 DATA 5,1,1,1,3,3,5,1,1, 

1.1.3.5.1.1.1.1.1.5.3.1.1.1, 
1 

2310 DATA 5,3,3, 1, 1, 1,5,3,3, 

3.1, 1,5,3,3,3,3, 1 

2320 DATA 1,1, 1,1,1,1,1,1,1, 


Sfr 


51 




SERIE 

1j1»1»1»1»2,1,3,4,3,1,1,1,4, 

2350 DATA 3,3,3,3,4,1,3,3,1, 

3, 1,3, 1 

4,3,3,1,3,3,1,3,1,3^1,1,1 

2330 DATA 3,3,1,1,1,1,4,1,i , 

2360 DATA 1,3,3,1,i,3,4,1,1, 

3,1,3,3,3,1,4,1,1,1,1,251,1 

1,3,3,1,3,3,4,3,1,1,3 


2370 DATA 4 ,3,1,3,3, 4 ,3,3,1, 

2340 DATA 4,1,3,3,3,3,3,1,3, 

1 

4,1,3,1,1,2,3,3,2,3,1 



Assembler leicht gemacht 

Im letzten Heft hatten wir uns mit einigen Hilfsroutinen, 
die jedes Modul zur Verfügung stellt, welches Maschinensprache auf dem 
TI 99/4A möglich macht, beschäftigt. Da sind noch einige übrig 
geblieben, so daß wir heute noch bei dieser Thematik bleiben. 


* 

L i s t i n 0 1 : 



PFF 

GPLLNK ■¥■ Fuer Assembler u. MM 

* 

Fuer X-Ba« 

ic muss GPLLNK engeh^ not 

* 

werden 


* 

Accept-Tnne: 


BL UP 

i?GPLLMK 


DATA 

"Ki 03 4 

* 

Bad-Tone: 



BLL'P 

PGPL1. NK 


DATA 

>0036 


Zuerst wollen wir uns mit GPLLNK 
und DSRLNK beschäftigen. Diese 
beiden Routinen fehlen beim Ex- 
tended Basic Modul. 

Mittlerweile gibt es aber einige Ver¬ 
öffentlichungen über diese Hilfen 
auch bei Extended Basic, so sind 
auch Beispiele dafür in unserem 
Assembler-Sonderheft enthalten. 
Wollen wir diese Routinen also in 
einem Assembler-Programm für Ex¬ 
tended Basic nutzen, so müssen wir 
diese einfach an den Schluß des 
Programms (oder Anfang) anhängen 
und können sie dann genauso wie 
beim Assembler-Modul oder beim 
Mini-Memory aufrufen. 

GPLLNK ist in seiner Wirkung und 
der Handhabung dem XMLLNK 
sehr ähnlich. Im Gegensatz zu 
XMLLNK, welches Routinen aus 
dem ROM aufruft, können mit 
GPLLNK Routinen, die in den 
GROM’s der Konsole bzw. des ein- 
gesteckten Moduls enthalten sind, 
abgearbeitet werden. Hier stehen in 
der Konsole diverse mathematische 
Funktionen für Fließkommazahlen 
und Routinen zum Laden der Zei¬ 
chensätze, sowie zur Ausgabe von 
Tönen zur Verfügung. Ein Beispiel 
für die Benutzung der Routinen zum 
Laden der Zeichensätze in den VDP 
hatten wir schon im Heft 9/85. Die 
Benutzung der im Betriebssystem 
vorhandenen Routinen für “Beep“ 
und “Onk“, die Töne für richtige 
und falsche Eingabe, finden Sie in 
Listing 1. 

Das geht doch wirklich einfach und 
kann in jedes Assembler-Programm 
eingebunden werden, ohne großes 
Programmieren von Soundlisten. 
Eigentlich ist es doch auch nicht 
einzusehen, warum nicht auch in 
Assembler-Programmen der Benut¬ 
zer akustisch auf richtige und fal¬ 
sche Eingaben oder das Ende des 


Programms u.ä. hingewiesen wird. 
Bei den Ton-Routinen muß hier 
noch angemerkt werden, daß es 
einige Vorschläge für GPLLNK un¬ 
ter Extended Basic gibt, die hier nur 
einmal richtig funktionieren.Dazu 
gehört auch das Listing, welches 
TI/USA auf Anforderung verschick¬ 
te. Die in unserem Assembler-Son¬ 
derheft ab ged ruckte Version arbei¬ 
tet einwandfrei. 

Kommen wir nun zum DSRLNK, 
und hier wird es etwas komplizier¬ 
ter. DSRLNK in seiner ursprüng¬ 
lichen Form, wie es im Betriebs¬ 
system des TI 99/4A enthalten ist,, 
ist wohl der eigentliche Schlüssel 
des gesamten Betriebssystems. 
Darüber werden alle Haupt-Pro¬ 
gramme, Unterprogramme (auch 
die Basic-CALL’s) und die Be¬ 
triebssysteme der Peripheriegeräte 
wie z.B. Disk-Controller aufgeru- 
fen. Das DSRLNK für Assembler 
ist dagegen etwas ab gemagert. Es er¬ 
laubt nur den Zugriff auf die Peri¬ 
pheriegeräte. Damit kann über die¬ 


se Routine nicht auf den Kassetten¬ 
rekorder zugegriffen werden. Das 
muß über GPLLNK erfolgen, wie 
es im Editor-Assembler-Handbuch 
und auch schon in der TI-REVUE 
kurz beschrieben wurde. 

Um nun ein DSRLNK ausführen zu 
können, benötigen wir zuerst ein 
sogenannten PAB (Peripheral 
Access Block, was soviel heißt wie 
Zugriffs-Block für die Peripherie¬ 
geräte). Dieser muß wie folgt auf¬ 
gebaut werden: 

1. Byte: I/O Opcode (legt die Funk¬ 
tion fest) im Einzelnen: 

> 01 OPEN 

> 02 CLOSE 

> 03 READ 

> 04 WRITE 

> 04 RESTORE 

> 05 LOAD 

> 06 SAVE 

> 07 DELETE 

> 08 SCRATCH RECORD 

> 09 STATUS 

OPEN, CLOSE, RESTORE, SAVE 

Fortsetzung auf Seite 54 


52 





SERIE 


* Listing 2: 

* PAB fuer Display-Variable 80 Datei 


PABVAP BYTE 
BYTE 
DATA 
BYTE 
BYTE 
DATA 
BYTE 
BYTE 
TEXT 


>00 * OPEN 

>14 DISPLAY-VARIABLE, INPUT 

>1000 * ADRESSE BUFFER 

>50 * MAX. S0 

>50 * MAX CHARACTER COUNT 

>0000 * l. DATENSATZ 

>00 * SCRFEN-OFFSET 0 

>09 • 

V DSK1.TFST’ * Immer diese intelligenten Namen 


EVEN 


RAMBUF PSS S0 Buffer fuer den Datensatz 


* Hier vorher eigenes Programm 


-* PAB in das VDP-RAM legen: 



LI 

R0,>0900 

* 

Wi 11kuer1iche Adresse 


LI 

R1,PABVAR 




LI 

R2, 19 

* 

Komplette Lsenge 


BLWP 

OVMRW 




MOV 

R0, R3 

* 

Siehern 


AI 

R3,>0009 

* 

Zeigt nun auf Laengenbyte 


BL 

ODSRAUF 




JEQ 

ERROR 



* Nun 

ersten Datensatz 

1 esen 


LI 

R0,>0900 




LI 

PI,>0200 

* 

OPCODE fuer READ 


BLWP 

OVSBW 

* 

In PAB schreiben 


BL 

ODSRAUF 

* 

Datensatz lesen 


JEQ 

FRROR 


• 


LI 

R0,>0905 

* 

Zeigt auf CHARACTER COUNT 


BLWP 

OVSBR 

* 

Byte lesen 


MOVB 

R1, R2 




SRL 

R2,8 

* 

Laenge nun in R2 


JEQ 

HILF 

* 

Bei 0 Fehlfunktion VMBR 


LI 

R0,>1000 

* 

Buffer im VBP 


LI 

RI,RAMBUF 

* 

Buffer im CPU-RAM 


BLWP 

OVMBR 

* 

Datensatz nun im Buffer CPU 

* Nun 

Datei 

sch 1iessen 



HILF 

LI 

RI,>0100 

* 

OPCODE fuer CLOSE 


LI 

R0,>0900 




BLWP 

OVSBW 

* 

In den PAB schreiben 


BL 

ODSRAUF 

* 

Datei sch 1iessen 


a» 


c o 




SERIE 


* Das wars, das eigene Programm kann weitergehen 

* Hier Er ror hand 1 i ng ein.-fuegen, Tn R0 Errorbyte 
bei 0 DSR nicht ge-funden 

ERROR B 8BEGINN 


* Unterprogramm Au-fru-f DSR 

DSRAUF MOV R3,P>8356 
BLWP PDSRLNK 
DATA >0008 
RT 


Fortsetzung von Seite 52 

und DELETE haben die gleichen 
Bedeutungen wie in der Dateibe¬ 
handlung im Basic, READ heißt 
Lesen eines Datensatzes, WRITE 
schreiben eines Datensatzes, LOAD 
ist gleichbedeutend mit OLD im 
Basic, SCRATCH RECORD bedeu¬ 
tet, daß der letzte Datensatz ge¬ 
löscht werden soll und STATUS gibt 
Auskunft über die Form der Datei 
und ob irgendein Ende erreicht ist. 
Dies wird im Basic z.B. für die EOF- 
Funktion verwendet. 

2. Byte: Flagbyte, enthält die wich¬ 
tigen Informationen über den Typ 
der Datei. 

Bit 0 (niedrigwertigstes Bit): Datei¬ 
typ (l=Sequentiell, 0=Fixed) 

Bit 1 und 2: Art der Eröffnung 
(OOOpdate, 01 Output, 10=Input 
und ll=Append) 

Bit 3: Art der Daten (0=Display, 
l=Internal) 

Bit 4: Art des Datensatzes (=Fixed, 
l=Variable) 

Bit 5 bis 7: Errorcode, werden von 
der DSR entsprechend gesetzt, 
wenn ein Fehler bei der Dateibehand¬ 
lung auftrat. 

Byte 3 und 4: Zeiger zur Adresse 
des Puffers im VDP-RAM für den 
Datensatz. 

Byte 5: Länge des Datensatzes. Bei 
Fixed-Dateien steht hier die Länge, 
bei Variable-Dateien die maximale 
Länge. 

Byte 6: Länge des aktuellen Daten¬ 
satzes, d.h. die Länge des gerade zu 
schreibenden oder gelesenen Daten¬ 
satzes. 

Byte 7 und 8: Nummer des Daten¬ 
satzes. Bei SAVE steht hier die Län¬ 
ge des zu speichernden Programms, 
bei LOAD die max. Länge des Ein¬ 
gabebuffers, in den das Programm 
im VDP-RÄM geladen werden soll. 
Ist das Programm länger, erfolgt 
eine Fehlermeldung. 

Byte 9: Screen Offset: Wird wie im 
Basic für die Bildschirmdarstellung 


* Versendert nicht Statue 


* I. i s t i n g 3: 

* Grom-Ad resse sichern vor DSRLNK und 

* anschliessend wieder schreiben 

SAVEGR DATA >0000 

MOVB 0>Q802,PSAVFGR 
MOVB 0 >9802,PSAVEGR+1 

DEC 0SAVEGR Muss erniedrieat werden 


BLWP PDSRLNK 
DATA >0008 


MOVB 0SAVGP, l?>9C02 
MOVB 0SAVFGR+J,0>9C02 


Ui 

)uuuuuuuuuu 


54 











Bit im Statusregister der CPU ge¬ 
setzt, d.h. durch einen einfachen 
Sprung, wenn gleich (JEQ), kann zu 
einer Routine gesprungen werden, 
die dann den Fehler entsprechend 
dem Programm behandelt. 

Der letzte Hinweis für heute gilt der 
Eigentümlichkeit mancher Periphe¬ 
riegeräte: Sie verändern die GROM- 
Adresse. Deshalb sollte vor dem Aus¬ 
führen von DSRLNK die GROM- 
Adresse gelesen und danach wieder 
geschrieben werden. Wie das geht, 
zeigt das Listing 3. Heiner Martin 


DATA das Betriebssystem eines Pe¬ 
ripheriegerätes aufgerufen werden. 
Das folgende Listing 2 zeigt ein Bei¬ 
spiel dafür. Bitte beachten Sie, daß 
hier willkürlich in die Belegung des 
VDP-RAM’s eingegriffen wird. 
Wenn Basic-Programme vorhanden 
sind, muß erst der entsprechende 
Speicherplatz für PAB und Daten¬ 
buffer reserviert werden. Dazu 
kommen wir ein anderes Mal. 

Wenn nun ein Fehler auftritt, so ist 
bei der Rückkehr aus DSRLNK 
zum rufenden Programm das Equal 


ein Screen-Offset verwendet, muß 
hier der Wert stehen. 

Byte 10: Länge des Dateinamens. 
Dabei ist die gesamte Länge ge¬ 
meint, also nicht nur die Länge des 
Namens des Peripheriegerätes. 

Byte 11 folgende: Name 
Diesen PAB müssen wir nun in das 
VDP-RAM bringen, und dann muß 
noch ein Zeiger auf >8356 (ganzes 
Wort) gelegt werden, der auf das 
Längenbyte des Namens im VDP- 
RAM zeigt. Danach kann mit dem 
üblichen BLWP mit nachtolgendem 


auch die Grundversion ei¬ 
nes Spieles bei. Dieses ver¬ 
liert jedoch seine entspan¬ 
nende Wirkung sehr 
schnell, da sich weder der 
Schwierigkeitsgrad, noch 
der Bildaufbau ändert. 

Will man das Spiel kom¬ 
plett besitzen, so muß man 
es sich entweder selbst er¬ 
weitern oder es sich von 
dem Herausgeberverlag be¬ 
stellen. Betrachtet man 
sich jedoch den Kurs im 
gesamten, so ist er doch, 
trotz seines hohen Preises, 
eine sehr nützliche Ein¬ 
stiegsmöglichkeit für ei¬ 
nen Anfänger in die Welt 
des TMS9900 Assemblers. 

Oliver Huber 


ches bilden die Erklärun¬ 
gen aller dem TMS9900 
bekannten Assemblerbe¬ 
fehle. Diese Erklärungen 
wurden sehr gut aus dem 
Englischen ins Deutsche 
übersetzt und sind nach 
ihrer Arbeitsweise am 
Ende des Buches sortiert. 
Diese Erklärungen ermög¬ 
lichen einen weitergehen¬ 
den Einstieg in die Ma¬ 
schinensprache des TI 
99/4A., als ihn der Kurs 
vermittelt. 

Um sich von den Strapa¬ 
zen, die das Lernen einer 
neuen und sehr anwender¬ 
freundlichen Computer¬ 
sprache mitsichbringt, zu 
erholen, liegt dem Kurs 


ASSEMBLERKURb kette als Quellcode und « 

VON HAGERA Assemblerfile gespeichert, ; 

Eine große Erleichterung so daß man sie sich jeder- 
für alle die, denen das zeit anhand des Editor/ 
Editor/Assembler Hand- Assembler-Moduls ablau- 
buch in seiner englischen fen lassen und nach der ei- 
Sprache zu schwer zu ver- genen Phantasie und des 
stehen ist, bildet der eigenen Wissenstandes ver- 

Assemblerkurs 2 von ändern kann. Diese Dis- 

Hagera. In diesem Kurs kette hat nur einen klei¬ 
werden die Befehle er- nen Fehler. Sie wurde 
klärt, die es dem Anfänger beim Verpacken, anstatt 
ermöglichen, seine ersten dem Buch beigelegt, in die- 
Erfolge in der neuen Pro- ses wie ein Lesezeichen 
grammiersprache auf dem hineingesteckt. Durch die- 
Bildschirm darzustellen sen Druck läuft sie sehr 
und diese mit Ton und schwer im Laufwerk, und 
Farbe hervorzuheben oder es ist ratsam, sich eine Ar- 
zu untermalen. Der Kurs beitskopie anzufertigen, 
ist in drei große Themen- Doch hierbei stößt man 
bereiche aufgeteilt. Der auf ein unerwartetes Hin- 
Kurs als solcher, die do- dernis; die im Buch angege- 
kumentierten Lösungen benen Urheberrechte. Die¬ 
der einzelnen Übungsauf- se untersagen jegliches Ko- 
eaben und eine deutsche pieren der Kursdiskette, 
Erklärung aller TMS9900 obwohl grundsätzlich jedes 
Assemblerbefehle. Der Anfertigen von privaten 

Kurs selbst ist in einzelne Arbeitskopien immer er- 
Kapitel aufgeteilt, von laubt ist. Sieht man von 
denen jedes einen be- dieser Unkenntnis des Her¬ 

stimmten Themenbereich ausgebers ab so lallt ei- 
umfaßt Am Ende eines nem während des Lesens 
jeden Kapitels stellt der des Kurses ein unange- 
Autor Fragen, die sich auf brachter und meiner Mei- 
die bis zu diesem Kapitel nung nach negativ auttal- 
einschließlich gelernten liger Punkt ins Auge 

Assemblerbefehle bezie^ Ohne besondere Unter- 

hen. Die Lösungen dieser Scheidung vom lautenden 
Aufgaben sind im zweiten Text taucht plötzlich 
Teil des Buches aufgelistet Werbung für Software von 
und vollständig kommen- dem Herausgeberverlag aut. 

tiert. Dies hat den Vorteü, S 9 wird einem auf eine ge- 

daß dem Anfänger durch wisse Art diese Werbung 
die Kommentierung eben- indoktriniert, da man sie 
falls die Arbeitsweise des automatisch mitliest, oh- 
Computers klargemacht ne vorerst die Unterbre- 
wird Die meisten Lösun- chung des laufenden 1 ex- 
gen sind ebenfalls auf der tes zu bemerken, 
dem Kurs beigelegten Dis- Den Abschluß des Kursbu- 



TIPS & TRICKS 


Ein Kobold 
wird geboren 


Märchengestalten, Opfern 
und Helden.* 

Zumal ein Zeichen beacht¬ 
liche 65536 Möglichkeiten 
bietet, ein Sprite aus 4 
Zeichen bestehend gar 
18 000 000 000 000 000 000 
Richard Cloots 


Sicherlich gibt es schon 
einige Programme (Routi¬ 
nen), die dem User das 
Entwickeln und Katalogi¬ 
sieren von selbstdefinier¬ 
ten Zeichen erleichtern 
soll. Aber wie sieht oft¬ 
mals die Praxis aus? 
Inmitten des Schaffens¬ 
drangs am Rechner, muß 
plötzlich ein selbstdefinier¬ 
tes Zeichen her. Suche ich 
jetzt das dafür angelegte 
Programm? Wohin dann 
mit meiner in Arbeit be¬ 
findlichen Creation? Hier 
lag doch eben noch Milli¬ 
meterpapier. Nun, karier¬ 
tes Papier erfüllt auch den 
Zweck. Flugs werden 8 
mal 8 Kästchen abgezählt 
und eingerahmt. Wirkt 
das Monster oder der Ein¬ 
zelkämpfer nicht furcht¬ 
erregender bzw. energi¬ 
scher, wenn er in der Grö¬ 
ße von 16 mal 16 Pixel 
über den Monitor stürmt? 
Also nochmal 1,2, 3...8 
abgezählt und eingerahmt. 
Jetzt erst kann der neue 
Sprite geboren werden. 

Mit „computerhafter“ 
Sicherheit wird der erste 
Sprite nicht gleich gelin¬ 
gen, so daß ich noch öfter 
1 ,2,3...8 zählen, einrah¬ 
men und vergleichen wer¬ 
de. Jetzt ist Schluß mit 
alledem. 

Einmal konzentriert und 
sauber ein Formblatt ge¬ 
schaffen und in ausrei¬ 
chender Stückzahl kopiert, 
und man ist in der Lage, 
unzählige Kobolde zu kre¬ 
ieren und sie gegebenen¬ 
falls geordnet abzulegen. 
Deshalb möchte ich den 
Lesern mein Formblatt 
zwecks Kopierung zum ei¬ 
genen Gebrauch vorstellen, 
und wünsche Ihnen allen, 
die Schaffung von vielen, 
zweckmäßigen, interessan¬ 
ten, furchterregenden, raf¬ 
finierten und lustigen Ko¬ 
bolden, Raumschiffen, 


Muster-Formblatt 


sprite-forhI 


Datum 


Blatt 


1. S PR I 


Code:. 

2 .SPRIT 


Code: 


c m 


mi m 


3.SPRITE 


Code 

4.SPR 


Code 


5.SPRITE 


Code: 


6.SPR 


TE 


Code: 


7.SPRITE 


INHALTSVERZEICHNIS 


Code:_ 

8.SPRITE 


Code: 


1.SPRITE 

2.SPRITE 

3.SPRITE 

4.SPRITE. 

5.SPRITE 

6.SPRITE. 

7.SPRITE 

8.SPRITE 


Anforderung: 

R. Cloots 
r GlroA Kiincnen 
BLZ 70010030 
Kto 176762-808 
Kennw.:TI — KOHM 


l‘> Stk 
SO StK 
iOO Stk 
300 Stk 


3.50 DK 
9,00 DM 
16,00 DM 
40,00 DM 


inel.Porto ♦ Vera 






LISTINGS 


Fortsetzung von Seite 16 

Thomas* 
Verfahren. 

Lehrstoff von Ihrem Sohn oder Ihrer-Tochter mit 
etwas mehr Begeisterung angegangen und auch viel¬ 
leicht dauerhaft behalten wird. 

(zu Seite 41) Ihre TI-Redaktion 


Soundwriter 


Ein Programm schreibt ein neues Programm. Diese 
Fähigkeit unseres TI wird bei dem vorliegenden Pro¬ 
gramm genutzt. 

Möglich wird dies durch die MERGE-Format-Ab- 
speicherung von Daten und Tokens (s. TI-REVUE 
9/85 und 1/86 ). Ab Zeile 660 kann man sehen.wie 
es geht. Zwar kann das vorliegende Programm bis¬ 
her nur einstimmige Melodien erstellen, aber sicher 
wird bald ein programmierfreudiger „Melodien¬ 
bastler“ diesen Mangel behoben haben und ein 
Programm einsenden, das auch mehrstimmige Mu¬ 
sikprogramme schreibt. Übrigens: das auf DSK1 
gespeicherte Musikprogramm muß (nach NEW!) 
mit MERGE DSK1 (Programmname) 
geladen werden. Die Zeilennumerierung beginnt ab 
10 in Einerschritten. Natürlich kann das Musikpro¬ 
gramm auch auf einfache Weise in andere Pro¬ 
gramme eingebunden werden. 


(zu Seite 46) 


Dr. H. Greiner 


Division 

Mit diesem Programm kann man eine Division auf 
dem Bildschirm sichtbar machen. 

Auch dezimale Zahlen sind erlaubt. 

Zahlen die größer sind als 10 Zeichen werden nicht 
akzeptiert und ebenso wird eine Division, bei der 
das Resultat zu klein würde, nicht ausgeführt. 

Ich habe mir viel Mühe gegeben, das Programm so zu 
schreiben, daß man allerhand Zahlen eingeben kann, 
ohne daß der Rechner gleich mit einer Fehlermel¬ 
dung kommt. Bei einer Division gibt es nämlich sehr 
viele Möglichkeiten, z.B.: 

— Beide Zahlen sind ganze Zahlen 

— Beide Zahlen sind dezimale Zahlen 

— Eine von beiden ist eine ganze Zahl 

— Der Divisor ist kleiner 

— Der Divisor ist größer 

— Diese Möglichkeiten kombiniert. 

(zu Seite 48) Jan Kuenen 


Mörse-Programm 

Da dieses Programm speziell für Anfänger gedacht 
und geschrieben wurde, habe ich darauf verzichtet, 
die Sonderzeichen einzuspeichem. Also: Nur 
Großbuchstaben und Ziffern machen mit. 

Zuerst wird gefragt, ob die Morsezeichen auf dem 
Bildschirm gezeigt werden sollen oder nicht. 

Danach kann man die Geschwindigkeit wählen. 

(1-5). 

Dann erscheint das Menü mit 7 Unterprogrammen. 


1. Ein beliebiges Zeichen wird hörbar gemacht und 
man wird aufgefordert, die dementsprechende 
Taste zu drücken. Falls Sie die richtige Taste nicht 
gedrückt haben sollten, gibt es noch zweimal die 
Möglichkeit, das zu korrigieren, sonst gibt der 
Rechner Ihnen das Zeichen. 

Dann fängt es wieder von vorne an, bis die Enter¬ 
taste gedrückt wird und man wieder ins Menü 
zurückkehrt. 

2. Mehrere Zeichen werden hörbar gemacht. 

Die Zahl der Zeichen können Sie zuerst selber 
bestimmen. Dann wird wieder überprüft, ob man 
richtig zugehört hat. Danach kann das gleiche 
Programm nochmal wiederholt oder zurück ins 
Menü gesprungen werden. 

3. Sätze morsen 

Sie geben einen Satz, bzw. ein Wort ein und der 
Rechner läßt es hören (sehen). 

Danach wird gefragt: j-n 

Bei nein kann man wieder zurück ins Menü 

kommen. 



1. EIH BELIEBIGES ZEICHEN 

2. MEHRERE BELIEBIGE ZEICHEN 

3. EINGEGEBENE SÄTZE NGRSEN 
4.11QRSELEHR6RNG 

5. EIGENES RUFZEICHEN 

6. QTH-LDKATGR 

7. RUFZEICHEN GE NERFlTDR 



S=6ESCHUINBI6KEIT ÄNDERN 

4. Morselehrgang 

Sie können selber bestimmen, welche von den ge¬ 
speicherten Zeichen mitmachen sollen und wie¬ 
viele davon hintereinander. 

Dieses Programm ist sehr geeignet für diejenigen, 
die gerade damit anfangen wollen, CW zu lernen. 
Der Rechner sagt Ihnen, ob Sie nach Ihrer Ein- 
Gabe ein Zeichen richtig aufgenommen haben 
oder nicht. 

5. Ihr Rufzeichen morsen (für Funkamateure) 

Wenn Sie die Taste 5 drücken, wird Ihr Rufzei¬ 
chen gemorst. Selbstverständlich muß zuerst das 
Rufzeichen in die bestimmte Programmzeile ein¬ 
gebracht worden sein. (Zeile: 2230) 

6 . Ihren QTH-Kenner morsen 

Wie oben (Zeile 2240 ist verantwortlich). 
Natürlich können die Programme 5 und 6 auch 
für andere Zwecke benutzt werden, z.B. für Na¬ 
me oder Wohnort oder einen beliebigen Satz. 

7. Rufzeichengenerator 

Ein Rufzeicnen kann nach einer x-beliebigen 
Zeit automatisch wiederholt werden, bis die 
Leertaste gedrückt wird. 

Vom Menü aus kann man auch wieder die Ge¬ 
schwindigkeit ändern. 

Bei den Programmen 5, 6 und 7 werden die Zeichen 
nicht auf dem Bildschirm gezeigt. Jan Kuenen 
(zu Seite 50) 


57 













BÖRSE 


TI 99/4A 

Wer hat noch Sportspiele? 
Bitte kurze Spielbeschrei¬ 
bung mit Liste der benö¬ 
tigten Geräte an 
K. Wolters, Corneliastr. 9, 
43 Essen 1, schicken!!!! 


Dt. Handbuch für E/A zu 
verkaufen. W. Götz, 
0711/864053 


Suche: externe ansteckbare 
32 k-RAM, Sprachsynthe¬ 
sizer und Buch Rogers 
Modul, K. Wolters' 0201/ 
772141 


Suche: 

ext. 32 K-RAM Erweiterung. 
Buck Rogers Modul und 
Ex.-Basic (Mechatronic) 

Zu melden bei K. Wolters, 
Tel. 0201/772141 


Verkaufe: Schachmodul und 
TI-Extendcd Basic. Zu 
melden bei 
K. Wolters, Telefon: 
0201/772141 


Suche dringend Kons, mit 
Rek. Kabel und Pal. Mod. bis 
DM 100. Tel. 3137650 
(089) ab 19 Uhr) 


Suche günst. Drucker mit 
V24-Anschl. incl. Kabel. 
Tel. 089/3137650 ab 
19.00 Uhr 


Günstig abzugeben!!! Ex-B. 
dt. Nachbau + 32 K + Cent. + 
Soft w. 500 DM. 

Tel. 02955/6546 


Zu verk. orig. Ti-Ext. Basic 
Modul u. Lit-, Spiele in Ext. 
Basic VB 190,- DM Tel. 
06441/52556 


Verkaufe Extended-Basic 
Modul mit deutschem Hand¬ 
buch. Preis: 145 DM 
(04554) 6396 


Biete: P-Box + Steuerkarte 
neu 370 DM. Minimem + 

2 Bücher + Prge. 200 DM. 
Adventuremodul +11 Cass. 
110 DM. Extern. MBI-Inter- 
face/Centronics + Drucker- 
Prgme. 150 DM. T: 05021/ 
13700. U. Hustedt, Schippen- 
b. Weg 5, 3070 Nienburg 2 


Verk. orig. X-Basic-Modul mit 
dt. Anletiung DM 200m—, 
Apesoft-Grafik DM 100,—, 

3D-World DM 70,- 
(089)1572559 


Verk. T199/4A orig. verp. 

+ Rec. Kabel + Recorder 
(m. Bandzählwcrk) sehr 
guter Zustand gegen Höchst¬ 
gebot (NP ca. 450,- DM) 


Suche original Tl-Joysticks 

bis 30 DM 

Tel. (030) 7865425 

Verkaufe Masch.Progr. (ED/ 
Ass) auf Kassette) nur EX- 
Basic und 32 K. nötig. — 
Infos gegen Rückporto — 

B. Dusny, Mülldorfer Str. 31, 
5205 St. Augsutin 1 


Verkaufe: 

Speech Synthesizer 120,— 

Speech Editor 30,— 

Terminal Emulator II 60,— 
Mini Memoriy 160,— 

Dateiverwaltung Modul 50,— 
Invaders 25,— 

Munchman 25,— 

Parsec 30,— 


Michael Strub, Hauptstraße 
8774 Leuggelbach (CH) 


* * * * ACHTUNG* * * * 

Suche Tl-User zwecks Spicle- 
Austausch (in Ex-Basci) 

Bitte melden bei: Olav Kcith, 
Tel. 0221/373530 *ab 19 h* 


Tausche Prg. in TI+Ext. 

Basci! Liste an: H.-J. Eckers, 
Hermann-Hesse-Str. 7, 4050 
Mönchengladb. 1, Interes¬ 
senten für Clubbeitritt 
(„TECHNOMANIA" aus MG) 
möglichst aus Raum D, MG, 
NE, KR; bitte ebenfalls bei 
mir schriftlich melden!!! 


Wer verkauft günstig Schach- 
Modul, Sprachsynthesizer od. 
32 k-Erweiterung? Angebote 
an: H.-J. Eckers, Hermann- 
Hesse-Str. 7, 4050 Mönchen¬ 
gladbach 1, Tel. 02161/52603 


Verkaufe: Komplettes TI-99 
System! Weitere Auskünfte: 
Oliver Siffrin, Tel. 06821/ 
7522 


Suche für TI-994A günstiges 
Extended Basic Modul. Oliver 
Jordan, Königsplatz 33, 

8540 Schwabach, Tel. 09122/ 
815271 


Wer verschenkt defekten 
Computer/Peripherie an 
Schüler? U. Wenzel, Over¬ 
feldweg 76, 5090 Leverkusen 
1 


Super!!! Klasse!!! Top!!! 
Biete Programmkassetten mit 
verschiedenen Programmen, 
wahlweise Ex. oder TI-Basic, 
für nur 8,— DM incl. Porto! 
Dirk Biehl, Hyazinthenweg 
15, 6680 Neunkirchen 7 


Verk. Schachm. 40 DM, 
Datenw. 50 DM, Minus, 
Plusm., Othello. Demon Att. 
Buck-R. 25 DM, Rec-K. 15 
DM ** Tel. 07621/84508 


Wer mir eine Kassette mit 
TI-Basic Programmen schickt, 
bekommt genauso viele 
andere Programme zurück. 
Jürgen Grüttner, Hospital- 
str. 36, 4000 Düsseldorf 13 

!!!ACHTUNG!!! Verkaufe 
Mini-Assembler von Radix 
VHB: 100 DM + Modul 
Attack (25 DM) Tel. 09973/ 
1517 


Tausche—Kaufe—und verkau¬ 
fe—Programme* Habe schon 
200*Also viel Auswahl!! 
Rüdiger Hussy, Edmund- 
Rumpler-Weg 13, 85 Nürn¬ 
berg 10, Tel. 091 1/523162 

TI 99/4A: Doppellaufwcrk 
extern im Gehäuse + Con¬ 
troller orig. TI zus. DM 800 
Kein VB 06182/26186 


TI 99/4A: Rec. Kabel + Da- 
tenrec. DM 50, Parsec DM 40. 
Bücher: Tips &: Tricks 25,— 
Spielen — Lernen — Arb. 

20,- 06182/26186 


TI 99/4A: Progr. buch von 
Chip DM 10,— 7 7 Basic- 
Progr. v. Lon Poolc DM 
20,— Ex-Basic-Buch engl. 10,— 
06182/26186 


TI 99/4A: ext. 32 K + 
Schnittst, (paral) Atronic 
DM 250,- V24 ext. Atronic 
(2 Ports) DM 240,- 
06182/26186 


TI 99 / 4A + Rec. + LIT 190 
X-Basic + Lit + 200 Prg 
170,— 32 K (Akkugepuffert) 
+ Lit + 50 Prg 250,— 

Tel. 02245/3983 


Suche Sprachsynthesizer 
für max. 80 DM. Tel. 06201/ 
53266 (nach 17 Uhr oder 
Wochenende) 


TI-99/4A (84) 190,- * Ex 
Bas. Mod. 100,— *Exp-Box 
(neu) 180,—* 

Vollaut. Fernschreib-Morse- 
Dekoder-Mod. (Send./Empf.) 
m. CENTRONICS Schnitt¬ 
st. seitl. steckb. 300,—* 

10TI Bücher a 25,— * Schach- 
mod. 50,—**Tel. 06851-2943 
O.3819 


Suche Tl-User im Raum 
Braunschweig. Evtl. Club¬ 
gründung. Günther Beveer. 
Tel. 0531/62736 


Verk. TI-Module: Parsec 
(= 50 + Schach = 60 + Earl. 
Learng. Fun 10 + Buch. 
Journ. 100 + Minus — Mi = 
10 DM. Schreiner. Tel. 
06103/81815 


Sehr günstig! Wegen Hobby¬ 
aufgabe TI99/4A mit Ex. 
Basic nur DM ^50,— ab 
19.00 Uhr. 04106/71120 


Homecomputer TI 99/4, 

Orig. Peri.-Box, 32 k Erwei¬ 
terung, RS 232, Centronics, 
Disk-Controller, 2 Disketten¬ 
laufwerke, Sprach-Syntesizer, 
Grafik-Tableau, 2 Joystick, 
Extended Basic, Mini-Memo¬ 
ry, Terminal Emulator II, 
Disketten-Manager und 
vieles mehr. 

Preis: Fr. 2.000,- M. Melelli, 
Luzornstr. 288, 5634 Meren- 
schwand (Schweiz) 

Tel. 057/44 47 63 (ab 19 h) 

TI 99/4A Ext. Achtung, nur 
f. Erwachs. Bitte Alt. angeb. 
Dieses Sp. wird Sie amüsie¬ 
ren. incl. Cass. + Porto + 
Info-Progr. Nur DM 10,— 
in Umschlag an: T. Karbach, 
Remscheider Str. 18, 

5650 Solingen 1 


Wollt ihr Masch-Progr. auf 
Cassette? Habt Ihr Ext. + 
32K? Dann fordert Info/ 
Rückporto D. Karbach- 
Remscheiderstr. 18-565 
Solingen 1 


Verkaufe folgende TI-Module 


Statistics DM 30 

Alpiner DM 30 

Tl-Invaders DM 25 

Indoor Soccer DM 25 

Tombstone City DM 25 

BASF-Laufwerk DM 190 


Telefon: 0212/43140 


Verk. 32K extern DM 180 
Tel. 07152/58689 


Verkaufe: Mash, Othello, 
orig. Tl-Adr.-Modul mit 
11 Kassetten. Postkarte mit 
Preisvorstellungen an: 

Dirk Kronshage, Akazien- 
str. 24, 4902 Bad Salzuflen 1 


Verkaufe: Original TI-Lauf- 
werk zum Einbau in P.-Box 
87 KB. Preis: DM 249. 

Tel. 02152/501 88 nach 17 h 


Original Dynamics-Software 
für TI: Zentoria, Monoko, 
Digger, Darts: je 20,— DM * 
Tel.: 0228/676804 


Verkaufe TI-Module: Video- 
Games I + Alligator-Mix + 
Englischkurs (je 15 DM) 

Tel. 07130/7165 


Verk. preisgünstig: TI 99/4A, 
Cass.-Rec., Joyst., Module: 
ExBasic, Tomb. City, Othello, 
Videogames 2, Parsec, TI- 
Invaders, Schach, Donkey 
Kong, Attak, Telefon: 
0234/382596 


58 















































BÖRSE 


Verkaufe kompl. für 
400 DM TI99/4A anschlu߬ 
fertig + 1 Modul Ex.-Ba. mit 
Handbuch + Cas.-Rec. M. 
Kabel, 3 Bücher, 6xTI-Jour- 
nal + 8xTI-Revue + 1 Moni¬ 
torkabel. Kl. Entinger, 

6650 Homburg, Westring 22, 
Tel. 06841/71693 nach 17 h 


Verkaufe 20 Tl-Progr. Stck./ 
8,— DM wie z.B. Flugsimula¬ 
tor, Star-Strike, Uambler etc. 
Ruft an: 06874/6705 


TI99/4A Speechsynt. 2 Joy- 
st. 12 Module (ext. Bas., 
Parsec, Schach ...) Kassetten - , 
viel Literatur 500,— DM 
Tel. 06834/41660 (Klose) 


Verkaufe Tl-Writer + Multi¬ 
plan zus. DM 250,—. 

Tel. 04262/1205 


T199/4A; neuwertig; Hand¬ 
buch, orig. Verp. + Recorder¬ 
kabel: 170 DM. 

B. Dobrick, Hohenstaufen- 
str. 1 7, 7340 Geislingen 


Wer im Raum Hi/H/BS hat 
CPS 99 Atronic. Bitte 
melden. Tel.: 05069/6538. 
Rufe zurück. JORK Warnecke 


Suche Bedienungsanleitung 
zur Diskvers. des X-Basic II. 
Wer kann helfen? Tel. 02051 
66950 ab 20 Uhr. 


TJ Expannsion Box 11er mit 
Netzteil DM 120 Diskge¬ 
häuse mit Kabel + Netzt. 

DM 50 zu verk. 08233/6653 


Verk. (orig-. TI) Diagnostic- 
Mod + RGB /Modulator 
(H4/85) Stulen Roerdomps 
7671WL Vriezenveen, 

Tel. 0933549962650 


Suche PBox + Disklw (ev. 
nicht Org. TI) + 32K + RS 
232 + evTI Writer + Speech- 
Synth + mit Handbüchern 
Tel. 0711 843775 


Verk. orig. Ex-Basic, unbe¬ 
nutzt. suche Speech-Synth. + 
TE 2, Frank Brengel, 
089/1231332 ab 18 Uhr 

Suche PAL Modulator PHA 
2036 for TI-99A Channel 36 
auch Spielprogramme. 

Suche TIBox mit Contr/Ext. 
DSKContr/Sprachsynthersi- 
zer/Avend u. ExModul. 
Dieter Wagner, 7750 
Konstanz, Leipzigerstr. 9 


Verkaufe Module: Speech 
Editor, Attack, Ext. Basic, 
etc. Tel. 04131-55457 nach 
19 Uhr 


Tippe Listings ab. 10 DM 
(inc. Postg.) in Umschlag mit 
Listing abschicken. Schicke 
alles + Kass. zurück an: 
Aronica Luigi, Deeler Weg 
14, 5000 Köln 71 


Verkaufe wegen Systemer¬ 
weiterung 3 original TI-Lauf 
werke, einen Diskcontroller 
und eine 32-KByte-Speicher- 
erweiterung. Liebald Heiko, 
Eichenweg 7, 7914 Pfaffen¬ 
hofen o.d. Roth 


Viel Zubehör für TI abzu¬ 
geben wegen Systemaufgabe. 
Z.B.: Printer/Plotter, ex¬ 
terne Cent. Schnittstelle (mit 
Kabel und durchge. Bus), 
original Joystick Ext. 

Basic, alle Adventure; Mini 
Assembler, Schachmeister; 
Moon Patrol und vieles mehr. 
Informationen bei Thorsten 
Rauer, Beetstr. 64, 

4902 Bad Salzuflen, 05222/ 
13182 


Assembler-Programme f. 
E/A, XB, MM + 32 K: GPL 
Disassembler; FAST-COPY 
(Sektorkopierer) kopiert 
jede Disk in drei Durch¬ 
gängen. Info gg. Rückum¬ 
schlag. Alles sofort liefer¬ 
bar! M. Eichhorn, Ziegel¬ 
heck 1, 6240 Königstein 4 


Verkaufe: TI99/4A Konsole + 
Extended-Basic II plus 2 
Module (Microsurgeon und 
Schachmeister) + Recorder¬ 
kabel + Joystickadapter + 

2 Joysticks + Prgm’s + Hefte 
VB: DM 500,- ÖS 3500 - 
T.: Österreich / 0662/26671 
(Salzburg) 


Suche ext. Laufwerk + Disc- 
Kontroller günstig. Tel. 

06805/8393 


Verk. Minimem m. dt. Hand¬ 
buch 190,— Pers. Rep. gen. 
Othello, Parsec, Stat., Ger., 
Householdbudg. Man. je 20,— 
J. Kupzig 02208/4165 


STOP! Habt ihr ein TI zu¬ 
hause stehen? Habt Ihr Lust, 
mit mir PGM’s zu tauschen? 
Oder wollte Ihr sie kaufen? 
Oder sucht Ihr andere TI- 
User? Dann schreibt mir! 

M. Kugelmann, Nassauerstr. 
4, 6272 Niederhausen! 


Einmalige Chance! Junger TI- 
Freak möchte mit dir PGM’s 
tauschen! Mords Software in 
TI, Ex-Basic oder Exbasic + 
RAM-Pack! Stelle auf Wunsch 
auch PGM’s her! Adr.: M. 
Kugelmann, Nassauerstr. 4, 
6272 Niederhausen! 


Verkaufe TI99/4A + P-Box + 
32K + Controller + Disklw. 

+ Ex. Centrois + Joystik + 
EIA + d.t. Handb. + Ex- 
Basic + dt. Hb. + 6 Sp. 
Module + dv. TI Spezialb. + 
Super Grafic + d.v. Program¬ 
me VB 1500,—.Jan Böhme, 
Röweland 16, 2000 HH 62 


Verk. TI99/4A, P-Box, 32 K 
Erw., RS 232, Disk-Contr., 
Disk-Laufwerk, Sprachsyn., 
Ex.-Basic, Editor/Assembler, 
Mini-Memory, div. Module, 
TOP-Software (M.-Code), 
Literatur usw. VB 2000,— 
DM. Tel. 07132/37608 


Verk. TI-99/4A + Joystick + 
Datasette + ca. 120 Program¬ 
me + 6 Module + Fach¬ 
literatur. YB 280,— DM. 

M. Schreiner. Tel. 06103/ 
81815 


Verk. Disk-Contr., Lauf¬ 
werk—orig. TI für P-Box. 
Suche Peri-Box orig. TL 
Angebote an: Richert, 

02921/2626 


Verkaufe TI 99/4A + X-Basic 
+ P-Box m. Laufwerk + 
Schnittstellenkarte + Daten- 
verw. + Statistik + Recorder 
m. Kabel + Literatur für 
DM 1500 VB. Telefon: 
06403/71104 


NEU: Editor / Assembler 
auf Kassette: Nur 70 DM! 
Super schnell und kom¬ 
fortabel! Tel. 0561/887129: 
Lothar Krauß 


Verkaufe TI/Ex-Basic für 
Anfänger und Fortgeschrit¬ 
tene. Tel. 0211/422216 


Verkaufe original TI-Ex- 
Basic Handbuch (in englisch) 
Tel. 0211/422216 


Achtung-TI-User. Verkaufe 
org. Ex Basic VB 165 DM. 
Angebote an Lukas Merten, 
Marktstr. 19, 5440 Mayen 


Suche Original E/A Hand¬ 
buch. Reimund Müller, 
Buchenstr. 20,4630 Bochum 
6, Tel. 02327/83764 


Suche Modulexpander u. 
ausführliche Bedienungsan- 
leit. für ext. 32K-Speicher- 
erwe. mit Centronic-Schnitt- 
stelle (auch Kopie) Angebote 
an: Berth. Fella Hardenberg- 
str. 28, 8500 Nbg 20, 

Tel. 0911/549804 (rufe 
zurück!) 


Verk. für TI/99 4A BASF 
Laufwerk 6106 VB 300 DM 
Tel. 0208/73042 


Verk. TI99/4A + Ext. Basd 
Modul, Preis VB. Tel.: 
02151/405869 


Verk. TI99/4A incl. Hand¬ 
buch für DM 120,-. 
Alexander Rupp, Kalmanstr. 
45, 6600 Saarbrücken. 

Tel.: 0681/45134 


Verkaufe TI-99 100 DM 
Exd. Basic + d. Handbuch 
150 DM 

Parsec (Mod.) 30 DM 
Tl-Schach (Mod.) 50 DM 
Blasto (Mod.) 8 DM 
Orig. TI-Recorder + Kabel 
60 DM 

Joysticks 1 0 DM 

Thomas Schmidt, Eiswiese 7, 

5160 Düren 

Tel. 02421/42488 


T199/4A (def) + Orig. XBasic 
+ deut. Handbuch + Rec. 
Kabel + Literatur. Preiswert! 
G. Schulte, 0421/71149 ab 
17 h 


Verk. TI-Konsole + XBasic + 
IMB-Interface + 64K-Dram- 
Karte + Zenith-Monitor 
VB 950 TI59+PC100C 
VB300 Tel. 0941/67884 


Suche Peribox f. TI99/ 

4A Diskettenlaufwerk 32K 
Erw. Artur Kasimir, Wes- 
larnerweg Nr. 7, 4770 Soest, 
Tel. 02921/8591 nach 18 h 


Drucke Listings kosten nur 
Rückporto beilegen. Ver¬ 
kaufe Spkel 1+2, Basic Inf. 
Marketing Plan Spiel 
10,- DM 


Suche ext.. Laufwerk + Disc- 
Kontroller günstig. Telefon 
06805/8393 


TI 99/4A * Verk. Super 
Sketch (Grafiktablett) 
Markus Schenk. Tel. 07136/ 
4116 ab 17 h 


!!!Extended Basic!!! Ver¬ 
kaufe TI99/4 + Extended 
Basic + Handbuch + Recorder- 
Kabel (340,- DM) 0711/ 
537789 


Extended Basic Modul 180,— 
Disc Manager II Modul 110,— 
Parsec 30,— 

Siegfried Frankl, 0941/96296 
ab 16.30 tägl. 


Wer hilft 99/4A-Fan i.d. 
DDR? Gesucht: billiges 
32K RAM, Konsole z. aus¬ 
schlachten, Schaltplan und 
Bauanltg. f. Hardware, def. 
Hardware jed. Art. 
Kontaktadresse: Otto 42 
OB 1, Feldmannstr. 54, 

Tel. (ab 19 h) 0208/860892 


59 















































I 


BÖRSE 


Sie ist da! Supersoftware zum 
Tausch oder Verkauf in TI, 
EX-Basic oder Ex-Basic + 
RAM-Pack! z.B. Boiler 
Shipp, Päc Man, Waling Bass 
u.v.a. Das ist doch was oder 
nicht? M. Kugelmann, 
Nassauerstr. 4, 6272 Nieder¬ 
hausen! Yeah! 


Verk. TI99/4A + Exbasic + 
Literatur nur kompl. 400 DM 
M. Koops, Froweinstr. 18, 

56 Wuppertal 1, Telefon: 
0202/443717 


DATA BECKER TI Tips & 
Tricks Heigenmoser Progr. f. 
d. TI (je DM 49,-) für je 
DM 23,- Pahlberg Farbe, 
Grafik, Ton, Spiele (DM 38,— ) 
für DM 18,—. Ahl Spiele Bd. 
2, engl. DM 15,-. 

Kaczmarek, Krummer Kamp 
12, 4406 Drensteinfurt 
02508/592 


Verkaufe TI-Anlage zu echten 
Weihnachtspreisen: 2 Konso¬ 
len mit Zubehör, Original TI- 
Recordcr mit Anschlußkabcl, 
Assembler Paket viele 
Module (30) und Kassetten 
mit Programmen. 

Rufen sie an: Es lohnt sich. 
Tel.: 06222-53407 ab 18 h 


Hallo, TI99/4A Anwender 
in Österreich. Verkaufe 
günstigst wegen System¬ 
wechsel folgende Posten: 
TI99/4A Konsole, Kassetten¬ 
rekorderkabel, Peripheriebox, 
RAM Erweiterungskarte, 

Disk Drive, Disk Manager, 

TI - LOGO - II Modul, 
Editor/Assembler: Handbuch 
dt. und Modul, TI Forth: 
Handbuch und Disk, Super — 
Duper — Kopiermodul, 
Extended Basic: Handbuch 
und Modul. Mag. Fuchs Karl, 
Maria Cebotaristraße 27, 
5020 Salzburg 


TI 99/4A + PHBox + 32 K + 
RS232 + Disk + ExB + E / 
Assembl. Orig. TI + Forth + 
8 kg Deutsch — 4 kg Engl. 
Lit. VP 2000 Telefon: 
0814194897 


Suche billigen Datenre¬ 
corder!!! (TI) 

Thomas Pfister 
Talstraße 49 
8770 Lohr /Main 


Verkaufe: TI99/4A + Recor¬ 
der + Joysticks + 3 Module 
200,-; X-Basic + 200 Pro¬ 
gramme + Buch 170,—; 

32K (gepuffert) + Buch + 

50 Prg. 250,— (1 Monat alt); 
Befehlserweiterung (EPROM- 
MODUL) 30,-. Telefon: 
02245/3983 Rainer 


Verk. 10 - TI - Module - 
u.a. — Parsec — TI — Invaders 
Hallenfußball - 150 DM 
H. Engel - Th.-Heuss-14 
3180 Wolfsburg, Telefon: 
05361/72429 


Zu Verkaufen: **TI-99/4A** 
Module: Ex.Basic + Donkey 
Kong + Pac Man Minus 
Mission 

Orig. TI Joystick + Kass. 
Kabel. Viele Spiele in Kas¬ 
setten + Bücher, 

VB 600,— , Kenan Piskin, 

Tel. = 08161/83587 ab 
19 h 


Sonderangebot 
TI-99/4A mit X-Basic, + 

PAC MAN + DONKEY 
KONG. orig. JOYST! Prog. 
auf Kass. + Bücher 
VB = 600,- KENAN PISKIN 
Tel. 08161/83587 


Verkaufe: TI Basic/Ex-Basic 
für Anfänger und Fortge¬ 
schrittene (Buch) 25,— 

(neu) Tel. 08851/5528 


Verkaufe TI 99/4A + Ex- 
Basic + Editor / Ass. + 32 K+ 
RS232 + P-Box m. Disk. 

+ Sprachsyn. + Software + 
GP100. Tel. 089/3132514 


Suche Logo II 

Eric Voigt, Breslauerstr. 20, 

4060 Viersen 11, 

Telefon: 02162/56520 


Verkaufe TI-99/4A + Joyst. + 
Recorder + Sprachsynthesizer 
+ XBasic + Spielkassetten + 
Module + Literatur (Neupreis 
ca. 1100,—) alles Top-Zu¬ 
stand!) Thomas Arend — Tel. 
06831/40472 


Verk. TI99/4A + Zubehör 

200 ,- 

Ex.Basic + Handbuch 160,— 

Adapter + 2 Joysticks 50,— 

Module Schach 50, 

Poker 40,- 

Minus-Plus Mission je 15,— 

150 Ti/Exb. Pgb. + Zeits. 

250,- 

Ti-99 Tips + Tricks 20,- 

zus. 700,— ab 19h 
T. 0201/358436 


++++++++ACHTUNG++++++ 
Entferne Listschutz! Nur 
1 DM pro Prog.a.Cas. + 2DM 
Porto 

Christian Sailer 
Glückaufstr. 9, 8450 Amberg 
****** ACHTUNG * ******* 


Suche für TI99/4A Funk¬ 
fernschreib Software 
(RTTY) RX + TX 
Bacher Werner, 7032 Sindel- 
fingen, Tel. 07031/803342 


Ich suche TI-Magazine aus 
BRD-Österreich und USA. 
Ebenso 99er-Programm- 
sammlung 1+3 sowie Exb 
in Deutsch usw. Angebote 
(Postkarte) an 
J. Schaller 
Glattalstraße 127 
CH-8052 Zürich 


TI99 Verk. Module Schach, 
Parsec, Munch, Invader, 
MGR2, Othello, Moons- 
weeper, Statistic, usw. 
040/6451816 


Hallo TI-E/Assembler User. 
Wer hat Lust &: Laune, mit 
mir Prgs zu tauschen!?! 

Habe allerdings nur ca. 

70 Prgs. Boffe aber, daß es 
bald mehr sind also meldet 
Euch bei: 

Markus Junghanns, Magde¬ 
burger Str.: 1,6054 Rodgau 3 
Tel.: 06106/74182. Verkaufe 
Invader Modul für DM 30,— 
u. Super Ski-Spiel in Ext/ 
Basic auf Disk für DM 25,— 

+ Porto 


HI-Res-Grafik+Sprites für 
TI99/4A + Minime m. 27 
neuen Basic-Bef. (Plot, Setto, 
Line, Sprite-Bef. etc.). Keine 
Einschr. d. TI-Basic! DM 
30,—. M. Kausch, Semmel- 
weisstr. 151,5 Köln 80 


Echt günstig ************* 
Peribox m. Controler int. 
Laufwerk (orig.) Module, 
Speech, Bücher 
06174/22759 Lauterbach 


**ACHTUNG** 

Schreibe Ihre Listings auf 
Cassette. Preis nach Länge. 
Tel. 02992/1219 18-20 h 


TI 99/4A + Ext. Basic + 
Minimen + Parsec + 
Munchman + Bücher + 
Joysticks + 2 REC-KABEL 
+ viel Software + Zeit¬ 
schriften + 2 Basic-Lehr- 
gänge VB 650,— 
040/7547576 


Suche Multi-Interface-Box 
f. Druckeranschluß 
(Olympia-Carrera) 

Tel. 02247 - 2611 Robert 
Lehmann 


Verkaufe: TI 99/4A + Ex- 
Basic + P-Box + Interface 
+ Disk + Dish-Contr. + 
Literatur. VB DM 1750,— 
Tel. 02151/774439 


Tippe Eure Listings ein 
Info g. fr. Rückumschlag; 
Schröter, Fraftz-Liszt-Str. 9, 
3180 Wolfburg/Fallersleben 


TI-99/4A komplett: Kons., 
Peribox, Speech, Exbas-Plus, 
P-Code, RS-232, 32K, ED/ 
Ass, Joy, Disk-Contr. (Cor- 
comp), 2 Laufw. DS/DD + 
viele Pr. auf Disk. Neupr. 

DM 5000,- zus. DM 2500,- 
Tel. 02136/38423 


Verkaufe V24- (RS232) 
Schnittstelle extern mit eig. 
Stromversorgung. Tel. 0231/ 
51 1437 werktags 1 7 — 21 Uhr 


Suche Karten für die P.-Box 
(RS 232, 32 K, Controller) 
oder komplette P-Box, 

Tel. 05032/4302 und E/A- 
Modul. 


Verkaufe F-Box inkl. Contr. 
und Disk intern, alle Teile 
kaum gebraucht (nur kom¬ 
plett). Orig. TI, mit Disk- 
Manager-2-Modul VB 1000 
DM. Holger Spielmann, Tel. 
0201/584680, nach 18 Uhr 


**** TI-99/4R-Ext *** 
Jetzt gibt es P.-Shooting 2. 
Nur für Erwachsene. Sie 
lachen sieb tot. Wie bisher 
nur DM 10,— incl. Porto 
und Info-Progr. in Umschi, 
an T. Karbach-Remscheidcr 
Str. 18 — 5650 Solingen 1 


Hallo TI-32K-Besitzer! 
Wollt Ihr ED/Ass-Masch- 
Progr. auf Cassette? Dann 
fordert Info an bei D’ 
Karbach * Remscheider 
Str. 18 * 5650 Solingen 1 


TI 99/4A mit PBox, Disk, 
RS232 32K, XB, E/A, TI- 
Writ, Jultiplan Util 2+3, 
Rechnst., Buchjourn., 
Statistik, Datei, Textdatei, 
Monitor, Literatur, sonst, 
orig. Tl-Progr. zu verkuafen 
Angebote an 06423—6229 


ALPHA-DATEK Vi.O 99’er 
Spitzen Software. Ihre profi 
Datenbank für Ihren TI 99/ 
4A. 468 Zeich. p. Satz 
40 Zeich. p. Zeile. Programm- 
große ca. 40k. Vorab Info bei 
U. Brüsseler ab 20 Uhr. 

4050 Mönchengladbach 3, 
Wetschewell 125 d 
Tel. 02166/53457 


Drucke Ihr Prg. für nur 5,— 
DM je Listing. Entferne Lisl- 
schutz für nur 3,— DM je 
CASSETTE!!! Info 50 Pfg. 
anfordern oder Geld an: 
Matthias Orf, Birkenallee 34, 
3507 Baunatal 1, Germany 


Verk. Box mit Laufw. + 

32 KRAM + RS 232, Assemb. 
+ Literatur, div. Prog. auf 
Disketten für 900 DM 
Tel. 04231-68094 


60 








































BÖRSE 


Graphik-Tabl. 150 DM, 
Flugsim (Cas) 35 DM, TI- 
Modul American Football 
Sup Graphik 65 DM Kopf 
095116846 


TI-Tunnel’s of Doon dt. 
Übersetzung für 15,— DM 
Vorkasse. M. Redlich, 
Eichenweg 3, 4620 Castrop- 
Rauxel 2 


Suche preisgünstig Tl-Writcr, 
Multiplan 

Dieter Redlich, Eichenweg 3, 
4620 Castrop-Rauxel 2 


Suche Anwenderprogramme'. 
Verkaufe etliche Module + 
Erweiterungen. Morst 
Nietowski, 02173/15395 
Langenfeld 


Verkaufe: original TI-EX- 
Basic. Tel. 040/3193417 
Anruf nach 1 8 h 


Ext.-Basic + XB-Lehrg. + 
50 XB-Prgrm. 250 DM, 

1 0 Module (Schach, M.- 
Maker usw.) ab 15 DM, 
TI-Bücher ab 9 DM, 
Telefon 02174/40654 


T1-99A, RS232 ext. 32k, 
P-Box incl. Disk, etl. Module, 
einzeln zu v. 

K. Berdon, Odenwaldstr. 12, 
6056 Heusenstamm 
Tel. 0610462185 


Verkaufe Ext.-Basic für 
VB 160,— DM + Daten¬ 
verwaltung & Analyse VB 
45,- DM + Othello VB 20,- 
+ Parsec VB 40,- DM + 
Konsole (etwas defekt) 

VB 60,- DM! 

Matthias Orf, Birkenallee 34, 
3507 Baunatal 1, 

Tel. 0561/497990 


TI-CLUB BAUNATAL bietet: 
Clubheft mit 25 Seiten, 
Prg.-Speicher (400 Program¬ 
me!), Entfernen von List¬ 
schützen, Drucker, toller Aus¬ 
weis für 2,— DM pro Monat!! 
Info gegen 50 Pf. oder ak¬ 
tuelles Clubheft gegen 3,— 

DM anfordern bei: TCB, 
Matthias Orf, Birkenallee 34, 
D-3507 Baunatal l.Tel. 
(0561) 497990 


TI-CLUB BAUNATAL sucht 
Kontakt zu anderen Ti-User- 
Clubs zwecks Info- und 
Gedankenaustausch. 
TI-CLUB BAUNATAL, 
Matthias Orf, Birkenallee 34, 
D-3507 Baunatal 1, 

Tel. 0561/497990 


TI-32K Speichererweiterung 
f. Modul Box zu verkaufen 
300 DM 06441/74830 


HALLO 99’ User! Wie, Sie 
sind noch nicht im MON¬ 
STERVISION Club! Dort 
gibt es monatlich ein 32sei- 
tiges Magazin mit vielen Vor¬ 
teilen für alle Mitglieder. Eine 
Clubgebühr ist nicht vorhan¬ 
den! Gratis-Infos bei: MV 
Club, Gratis-Info. Uesener 
Ring 30, 2807 Achim 


TI99/4A + Box + Disk + 

Ext Basic + Sp. Synth + 
Chess + Invaders + Joysticks 
+ Literatur DM 1 100. 

Tel. (SA, SO) 09621/85143 


Verk. TI+Rec Kabel + Re¬ 
korder + Joaystick + 5 Mo¬ 
dule + Basic Lehrgang + 
Literatur für 340 DM. 

Tel. 06721/43307 


Verkaufe: Ti + Ext. Basic + 
Parsec + Music-Maker + viel 
Software für nur 250,— DM 
Ideal für Einsteiger 
Markus Schröpfer, Schul- 
str. 22, 8567 Neunkirchen 


Suche Tl-User Club in Berlin 
(West) zwecks Informations- 
Austausch. 

Ab 19 h. Tel. 811 51 46 


6 Top-Hits direkt vom Autor. 
Z.B. Nanuk der Eskimo, 
Stardust, Alien-Landing. 
Senden Sie 30,— DM im 
Kuvert an: W. Döltsch 
A.D. Hinterstein 10 
6108 Weiterstadt 3 


Letzte Lösung! Brauche 
dringend Geld. Verk. TI99/ 
4A + TI XBasic + Bas. / 
XBas. Lehrpr. + Lehrbücher 
/ Lit. + Joy Adapter + 2fach 
Rec. Kabel + Chis. Trail + 
ca. 280 Progr. Alles gepfl. 
VB 450 DM. Tel. 0231/ 
875916 ab 18 h 


Wegen Syst.auflösung zu 
verk. Org. TI RS232/V 24 
100,—, Speechs. 70,—, 
Module von 20,— bis 50,—, 
Compiler 100,—, Atari 
Module Jungle, Dig, Kong 
je 40,- Tel. 09151-95153 


Suche Heft Computer Praxis 
12/84 in einigermaßen gutem 
Zustand. Tausche gegen 
100 EXB (Tib) Prg’s oder 
zahle bis zu 5 DM. Verkaufe 
engl. Handbuch für das 
EXBModul für 15 DM- 


Tausche Programme in TI 
und Ex-Basic. Habt Ihr 
Lust? Meldet Euch einfach 
bei mir: 07156/34 941 od. 
schriftl. Carlos Jarque, 
Ludwigsburger Str. 14 / 
7257 Ditzingen 1 


ZU VERSCHENKEN habe 

ich nichts ... aber da ich mir 
eine 32K Erweiterung kaufen 
möchte, bin ich gezwungen, 
etwas aus meiner Computer¬ 
sammlung zu verkaufen. Z.B. 

11 Adventure Cass. original 
TI Stück 15,- DM., 
M*A*S*H* 40 - DM, TI 
Bücher 20—30 DM, Computer 
hefte z.B. HC, Compu- 
tronic u.s.w. 2,— 50 — 3,— 
DM, Spielmodule für ATARI 
Compuer z.B. GYRUSS, 
STAR-TRECK, Popeye, 
O-BERT u.s.w. 30—50 i DM. 
Info gegen frankierten Rück¬ 
umschlag bei: Manfred 
Lipowski, In der Wanne 165, 
462 Castrop-Rauxel 4, 

Tel. 02305/72237 


Komplett TI99/4A Konsole 
+ PBox + RS232 + Ext. Basic 
+ Laufwerk + 32 Kram + 
Minimemory + Schach + 

Lit. + Softw. 

Tel. 07231/41436 


Hey TI-Freaks! Wer hat Lust 
mit Nappsoft Programme in 
TI + Ex. Basic zu tauschen? 
Liste an Martin Roth, Bruck¬ 
ner Str. 3, 6680 Neunkirchen 
7 


Verkaufe TI99/4A+dt.X- 
Basic+orig. TI-Box m. 
Controller+Laufwerk+Spiel- 
module+Jovstickadapter+ 
viel Software auf Disk, 
wegen Systemwechsel. 
Abgabe gegen Höchstgebot! 
C. Reusch, Tel. 0241/172129 


Hallo TI E/A User. Wer von 
Euch hat Lust, mit mir Prg’s 
zu tauschen. Markus Jung- 
hans. Tel. 06106/74182 


Verkaufe TI99/4A + EX + 
14 Module + Literatur + 
Zubehör. Alles-original ver¬ 
packt. Tel. 02174/40616 
nach 15 Uhr 


Schüler sucht für TI99/4A 
32 K Ext und Ext. Basic 
o. Exb. II + M. Stief/Sand- 
stücke 21/28 Bremen 61 


Achtung TI-Adv. Freunde!!! 
Jetzt gibt’s DAS Graphic- 
Adv., auf das Ihr schon 
lange gewartet habt. (ca. 16k) 
TI-Basic; kein Adv.-modul 
notwendig. Für DM 5 + Vers. 
Bei J. Laux, Schulgartenstr. 
20, 6638 Dillingen. Es lohnt 
sich 


Verk. Ex. Basic + Handbuch 
+ 100 Super Programmen für 
nur 200 DM. Ralf Ludwig, 
Am Mergelsberg 31,4000 
Düsseldorf 12, Tel. 0211/ 
297042 


994A+Ex.B. (engl. u. Deu.H. 
buch) + Kass. rec. + Kabel + 
Spech-Syn. + Munchman+ 
Engl. Grammatik+Literatur 
600,-. Tel. 069/554026 
T. Veith 


Tausch*Musik Maker* 
Datenverw. u. Analyse* 
Comp. Kurs Bis Nr. 56* 
U.A.M. * Su. Extern Erw. 

* Assembler * U.A.Ang.* 

Schnittstelle für Direktan¬ 
schluß eines Druckers sowie 
viele tolle Module-Preis 
VB Tel. 06103/72518 


Verkaufe meine Spielesamm¬ 
lung (ca. 300-350 Prg’s; 

70 % EXB, 30 % Tib)"an den 
am meist bietenden!!! Über¬ 
nehme Porto + Cassette N 
(15 x C 60)! Tel. 07156/ 
34941 oder Carlos Jarque, 
Ludwigsburgerstr. 14, 

725 7 Ditzingen 1 


Verkaufe 99/4A mit Box, 
Dsk, 32K, X-Basic, E/A, dt. 
E/A Kurs, Statistik, Modul¬ 
expander und viel Literatur. 
Nur komplett! Neu über 
3000,—jetzt 1600,— 
05300/485 Uli 


Verkaufe ExBasic + 
Adventure Modul + 12 
Cassetlen +Literatur für 
250 DM Tel. 08638/67495 
ab 19 h 


Verk. Assemblerkurs: Asem- 
4 Band 1 + 2 + Disk DM 50,- 
C. Kater 7, Rue de Schoen- 
fels, L-7432 Gosseldange 
Tel. 328060 


Suche HARDCOPY-Pro- 
gramm für EPSON-Drucker. 
Alexander Rupp, Kalman- 
str. 45, 6600 Saarbrücken-, 
Tel.: 0681/45134 


Suche Schaltungsunter¬ 
lagen für TI-Druckerinter- 
face sowie Schnittstelle 
RS232. R. Schinkel, 
Hamburger Str. 20717, 
2200 Elmshorn 


Verk. TI99/4a-Konsole + 
Netzteil + 32 K extern 
incl. durchgef. Bus u. 
Centronic + Ext-Basic Modul 
+ Rec. Kabel + Centronic- 
Kabel + Joyst.-Adapter + 
Literatur einzeln od. zusam¬ 
men, Preis: VHS 
Tel. 05283/1850 Mo-Mi 
18 h 


Verk. TI und Ex Basic 
Programme. Info gegen Rück¬ 
porto. B. Knedel, Tulpen¬ 
gasse 16, 3171 Weyhausen, 

T.05362/71187 


61 









































BÖRSE 


Vcrk. TI-99/4A 400 DM 
TX-Basic + Rec. Kabel + 
Rec. + Joyst. + Cass. + 
Munch Man + Literatur 
T. Krause, 0211/741914 


Tausche TI-J oysticks gegen 
Car-Wars oder Ähnliches 
Modul. Auch Programm¬ 
tausch. A. Scholz, Londoner 
Ring 6, 6700 Ludwigshafen 

Verkaufe Auswahl aus meiner 
Programmsamlg. eine C-60 
Kassette voll mit Programmen 
für 10,— DM. Andreas Scholz, 
Londoner Ring 6, 6700 
Ludwigshafen. Info-Gratis 


Verk. auch einzeln TI99/4A 
+ P.Box + 32K + V. 24 + 
Floppy + Ext. B+E/A + 
deut. Anl. + Literatur + 

7 Färb Drucker 

VB 4500 DM 

Tel. 0214/401384 ab 19 h 


Verkaufe: TI99/4A + X-Basic 
+ 32K+Joysticks+Rccorder+ 
3 Module+Viel Software 
650,-. Tel. 02245/3983 


Tausche TI-J oysticks gegen 
ein Modul oder 30,— 
0621/666424, A. Scholz, 
Londoner Ring 6, 6700 
Ludwigshafen. Auch Pro- 
grammtausch! 


+++ Super-Textadventure++ 
Wie Professionelles, aber ohne 
Modul. 2-teilige, TI-Basic: 
„Der Stein des Weisen“: 

10 DM + Kassette o. 15 DM 
(Schein und/oder Briefmar¬ 
ken) an: F. Zweers 
(Tel.: 0231/63116), Holte- 
str. 101a, 4600 Dortmund 
72 


Verk.: TI-Konsole mit Zube¬ 
hör (100,—) Ex Basic (130,—) 
20 PGM-Module (a 20-40,-) 
SprachSynth (80,—) Mini- 
Assembl. (90,—) Morse¬ 
decoderinterface (100,— 

8 Bücher (a 20,—) E/A- 
Manual (40,—) ca. 600 PGM’s 
auf Kass. (100,—) u.v.a.m. 
Liste gegen Rückporto an 
W. Hartleib, Hardenbergstr. 
16, 3500 Kassel, Telefon: 
0561/18967 od. 496351 


Verk. TI99/4A, Joyst., Ex. 
Basic, Edit. Assm. tdt. Handb. 
+ Assm. Kurs, Cass. Rek., 
Drucker, Div. Module, 
Bücher, Zeitschriften, preis¬ 
günstig auch einzeln. 

Telefon 0234/382596 


TI99/4A. Das Bücherpaket 
4 Bücher 100 DM, 6 Spiel- 
module VB 150-, 10 Dis¬ 
ketten mit Box 50 DM 
Tel. 02041/22661 


Suche Actiongasmes für Xbas. 
+ 32 Kram + Cassette 
(Basic-Loader) M. Nagler, 
Tradtstr. 14, 8492 Furth, 
099731517 


Suche Masch. Games für 
XBas + 32 Kram + Cas. (Bas. 
Loader) M. Nagler, Tradtstr. 
14, 8492 Furth, 09973/1517 


Extended Basic + Ex-Bas.- 
Lehrgang + 50 Ex.-Bas. 
Programme 250,— DM, 

10 TI-ModuIe (Schach, 
Musik-Maker, Munch Man 
usw.) ab 15 DM. Tl-Cassetten 
15,- DM, Tl-Bücher ab 9,- 
DM. Tel. 02174/40654 


Verk. TI99/4A+EX-BaSic+ 
Joyst-Adapter+Rec.Kabel+ 
Tombst. City + 4 Bücher 
ca. 70 Comp. Hefte + 9 
Kass. + Kass. Darts V. Dyna¬ 
mic VB: 550 DM (nicht 
einzeln). Tel. 06106/75427 
ab 14 h. Markus Wilsdorf, 
6054 Rodgau 3 

Verkaufe: TI99/4A Konsole + 
Extended-Basic II plus + 

2 Module (Microsurgeon und 
Schachmeister) + Recorder¬ 
kabel + Joysticksadapter + 

2 Joyst. + Prgm’s + Hefte 
VB: DM 500,- ÖS 3500,- 
Tel: österreich/0662/26671 
(Salzburg) 


Suche Actionspiele für TI + 
XBasic + 32KRAM + Casset- 
tenrec. (als Bas. Poker) 

Tel. 09973 1517 


Verk. Disklaufw. (orig. TI) 
für P-Box für nur 250,— 
DM. Tel. 07144/5227 nach 
18 Uhr 


Verk. PBox + Controller + 
Laufwerk + RS232 + 32 Kt 
80 Disketten + viel Litratur 
+ E/A für nur DM 1800,—!! 
Ingo Kuning, Oberhainer Weg 
1, 6380 Bad Homburg, 

Tel. 06172/33879 


Verk. Speech Synth. (100), 
Module Speech Editor (50), 
Music Maker (50), The 
Attack (30), Pers. Rec. 
Keep. (50) Video Games I 
(20). Zus. für 250.- 
Tel. 04841/4435 


Suche Tl-User Club in Berlin 
(West) zwecks Informations- 
Austausch. Ab 19 h. 

Tel. 811 51 46 


***Software***Ex-Bas - 
Writer-Diskette Statt Modul 
weiterhin gute Softw. 
(Assemb.) Anfragen 
0421-822423 


Verkaufe TI99/4A + X- 
Basic + Minimem + Rekorder 
+ Kabel + Joysticks + 5 Hand¬ 
bücher für 800 DM. 

C. Bobek, Tel. 06752/2752 
(ab 18 h) 


Wer hat CRAZY MAN und 
möchte mit mir Screens 
tauschen? Bitte melden bei: 
Selim özdogan, Wupper- 
talerstr. 265, Köln 80, 
0221/697254 


M.P.7 (Strategiespiel für 2 
Spiele) + 4 Games Ihrer Wahl, 
zum Superpreis!!! Nähere 
Info: Selim özdogan, 
Wuppertaler Str. 26, 5000 
Köln 80, T. 0221/697254 


Suche günstig: 32K-Erw. 
„Ext. Basic (plus II?), TI- 
Joysticks oder Adapter. 
Angebote bei: Selim özdogan, 
Wuppertaler Str. 26, 5000 
Köln 80 


Crazy Man, Devil Quest und 
andere Superlistings zu Spott¬ 
preisen. Für nähere Infor¬ 
mationen: 0221/697254 

Suche Spielmodul im Tausch 
gegen mein Tombstone Lizy 
Angebot unter: 0221/697254 


Biete Data Becker Bücher 
Stck. 20,— sowie viele Pro¬ 
gramme Listings usw. für TI 
99 u. 99/4 05554/8452 


Supersoftware für den TI. 
Made in Eigenbau. Liste 
1,50 DM b.P. Flick, Rosen¬ 
weg 33, 6057 Dietenbach 
(ca. 600 Pgr.) 


Tausche Zentrale für TI-99/ 
4A Pgr. vom Computerclub 
Dietzenbach, Rosenweg 33, 
6057 Dietzenbach, 06074/ 
31977 


Hier gibt es günstig Soft + 
Hardware. z.B. Resettaster. 

1,40 DM. An Peter Flick, 
Rosenweg 33,f>057 Dietzen¬ 
bach 


Neues Jahr, neue Tl-Software, 
Info b. Peter Flick, Rosen¬ 
weg 33, 6057 Dietzenbach. 
Neuer Katalog gegen 1,50 


Tauschpartner + Hardware 
gesucht. Angebote an Peter 
Flick, Rosenweg 33, 6057 
Dietzenbach, Tel. 06074/ 
31977* 


Suche dringend Schach- 
Modul/Verkaufe orig. Progr.- 
Cassetten aus TI-Revue 
5 Stk DM 30. 

Tel. 02271/65673 


Verkaufe: Module: X-Basic; 
TE II (neu) bd. M. org. TI 
m. Hd. Buch; 82k-Erw. f. 
P-Box gg. Gebot. 

Tel. 05621/4298 


32 KByte für die Tl-Peri- 
Box nur 199,-. 

Bei: R. Moor 
Tel. 02381/789030 


Suche Pal-Modulator für 
TI 99/4A. C. Hasselhuss, 
0234/311411 


Mini-Assembler mit Hand¬ 
buch & Software (90 DM) 
sowie 1 Org. TI E/A Hand¬ 
buch (englisch) für 50 DM 
zu verkaufen. 


Wer hat Platine für das 
Quick-Saue Modul aus dem 
Chip-Heft 8/85. Bitte 
melden bei: 02151/472541 


Verk. TI99/4A + Ext. Basic 
+ SW-Monitor + Cass.-Rec + 
Kabel + Basic-Ext. B. 
Lernkurs/Cass. + Handbücher 
Dittmar 0561-61238 


Verk. TI99/4A + Ex. Bas. 

Dt. Handb. + 32 K Erweiterg. 
Atronik, M. Centr. Schnitt¬ 
st. + Module Schach, Dat- 
Verwaltg. Statistik, viel 
Literat. Kompl. DM 650,— 
Tel. 0841/74205 ab 19 h. 
Otzko 


♦ACHTUNG!!! 
♦Suche TI-Besitzer 
*In 4432 Gronau 
*Meldet Euch bitte: 
♦Tel. 02562/1362 


Editor/Assembler VI.01-99/ 
4A. Nur XBasic, 32K (od. 
16K) und Cass. Rec. nötig! 
Mit vielen Util. (auch 
GPLLNK). Komfort. Editor. 
Wesentlich mehr Möglichk.' 
als beim Minimem. Für 
60 DM incl. Handb. Info 
80 Pf. T. Klein, Weißstr. 14, 
53 Borm 1 


VERKAUFE: TI-99/4A 150 
DM, TI-Revue 1—7 Special 
I+II für 25 DM, Data-Becker 
Buch, TI-Buch je 20 DM; 
rekorder + Kabel 45 DM; 
Tombs.—C. 10 DM 
Atari Jungle Hunt 35 DM 
Tel. 069/685142 


Verkaufe Programme in TI 
bzw. Ext. Basic! Andreas 
Kolibius, Breslauer Str. 1, 
7274 Haiterbach 


Suche P-Box u. Disklaufw. 
für ca. 40o—500 Mäuse, 
außerdem Kontakt zu TI- 
Usern in OBB. Carsten 
Kaufung. Tel. 08161/65549 


62 


















































Verkaufe original TI Lauf¬ 
werk für 299 DM + TI 
Invaders 10 DM 
Tel. 06184/51117 


Software jeglicher Art in 
Exbas-Assembler auf Kas¬ 
sette für Konfiguration XBas 
+ 32 K. Biete oder tausche 
Modul Statistik German 
30,— + Porto und original 
Kassette TI 6+7 zusammen 
10,- + Porto. 

Tel. 05143/5961 


Für TI 99/4A: Moduln Par- . 
sec, Soccer, TI-Basic Lernkurs 
(Cass.); Bücher, Bedienungs- 
anl., Basic, TI-99 Tips & 
Tricks, TI 199-Kochbuch, 
Preis VHB, Tel. 06196-28779 


Verk.: TI 99/4A, Ex-Basic 
Box, 32 K-Ram, RS 232, 
Disk-Contr. 1 Laufwerk, 
Dalenv. Textv. Literatur 

DM 1800,-. T. 0231/871581 


TI99/4A, Pal-Modulat., 
Netzger, Modul Datenverw-, 
Cas-Kabel, Lit. DM 250,-. 
VVeiss, 3380 Goslar, 
Franckestraße 14, Telefon: 
05321/80668 


An alle Modulbesitzer, die 
die öde Spielerei leid sind! 
Tausche meine Supersoftware 
auf MC (Flugsim., Q-Bert, 
Grafikadv.) in TI u. ExB. 
gegen eure Module gebe z.B. 
für Tombstone City 66 Supcr- 
spiele, f. Donkey Kong 133 
usw. Tel.: 02541/4153!! 


Software für den 99’er? Klar, 
Marin! TI-Futter zu verkau¬ 
fen, in TIB und ExB, für 
jeden was! Frogger, Kong, 
StarWars, Anwenderprogram¬ 
me usw. wegen Systemauf¬ 
gabe billig abzugeben, z.B. 

50 Pgms für 50 DM, 100 für 
90 DM, 150 für 130 Märker! 
02541/4153 


Verkaufe folgende Module! 
Parsec/Carwars/Munch Man/ 
Tombstone City/TI-Invaders 
je 30 DM. The attack/Chis- 
holm Trail je 15 DM. Suche 
Farbmonitor + Grafik-Tablet/ 
Angebote an Ch. Schroer, 
Klünmarkt 2, 4426 Vreden, 
02564/32599 


The Spiders DM 5,—, The 
Mission DM 5,— beide Spiele 
in TI-Basic, Leercas. + Geld + 
RP an M. Moeller, Eschen¬ 
weg 3, 2150 Buxtehude 


Tausch/Verkauf: Video Chess 
+ Othello. Suche: Burgertime, 
Buck Rogers, Invaders, Dig 
Dug = 16 Uhr: 0228/461787 


BÖRSE 


*Schaue* das Actionspiel in 
Maschinensprache für den 
TI99/4A + Mini-Memory 
15 DM für Kassette + bes. an: 
Valentin Schunack, 
Schwalbenweg 21, 3550 
Marburg 7 


*Mini-Assembler (Radix), 
komplett 90,— DM 
* TI Ext-Basic 150,- DM 
Kay 040/5254608 


Schüler sucht Tl-Peripherie 
(z.B. Disc, Box) auch defekt! 
Melden bei J. Müller, Espan- 
str. 84, 8510 Fürth. 

Tel. 0911/79 94 25 

Wer hat Lust, mit mir Pro¬ 
gramme in TI und Ex-Basic 
zu tauschen? Stefan Rossow, 
Winsener Str. 1, 2358 Katten¬ 
dorf 


Suche TI99/4A 32K Karte 

+ Disekttenlaufwerk + 
Controller + Diskmanager. 
Daniel Pylatiuk, Bessunger 
Str. 127, 6103 Griesheim, 
T.06155/4692 


Verk.: TI99/4A + RS232/PIO 
Karte + P-Box + S.Syn. + 
Joystick + E-Basic + Mini- 
Mem. + SW Monitor + TI 
Tisch + Bücher. VB 1500 DM 
Daniel Pylatiuk, 06155/4692 


ACHTUNG ASSEMBLER- 
FRAKS! Suche Kontakt 
zwecks Austausch von In¬ 
formationen und Assembler¬ 
software. Weitere Interessen. 
DFÜ und Hardwareselbstbau 
G. Morgenthaler, Angelstr. 24, 
7143 Vaihingen/Enz 

SUCHE - SUCHE - SUCHE 
P-Code Karte mit Manual und 
Software. 

Angebot an: 

G. Morgenthaler, Angel¬ 
str. 24, 7143 Vaihingen/Enz 
SUCHE - SUCHE - SUCHE 


TI99: Erweiterungsbox mit 
DSK-LW und jede Menge 
anderes Zubehör für TI zu 
verkaufen / T. 0209/610829 


Verkaufe Minimem (org. TI) 
incl. deutsche Einführung 
190,- Ex. Basic (Org. TI) 
incl. deutsches Handbuch 
190,— Drucker, Fabr. 
Centronics mit RS232 (V24) 
Schnittstelle 500,— 

Henrik Homann, Tel. 040/ 
678 37 15 ab 13 h 


TI-99/4A + X-Basic + Rec- 
Kabel + Tombstone + Lit + 
Joysts = 300 DM 
Disk-orig. TI—neu = 250 DM 
Peri-Box = 250 DM 
06132/5484 


!!! ACHTUNG !!!!!!! 

Wer tauscht mit mir??? 

Suche MOON PATROL 
Biete INDOOR SOCCDR 
Anfragen nur schriftlich an: 
Hendrik Meinl, Europaring 70 
6090 Rüsselsheim 7 


Verk.: TI-Konsole 170; 
Datenver. & Analyse 80; 
XBasic &: Lehrgang 220; 
Schach 60, Othello 35; 
Finanzber. 20;J-Adaptcr 15; 
div. Bücher zus. 75, Zubehör: 
Liste anfordern bei: H. 
Berneth; Bayreutherstr. 24; 
8581 Heinersreuth; Telefon 
0921/43462 


Verkaufe Texas Instrument 
TI-99/4A preiswert für 
400,- DM. Mit Basic Modul 
neuwertig. Tel. ab 18 h 
Appell 6922261 


Verkaufe TI 99/4A + 6 Modu¬ 
le + Cass. Kabel + 2 Joysticks 
+ 2 Bücher + Basic-Lchrgang 
DM600 VB.T. 02105-76131 


Wir, der Tl-Club Technoma- 
nia aus MG suchen noch Mit¬ 
glieder und Tauschpartner! 
Schreibt an: H.-J. Eckers, 
Hermann-Hesse-Str. 7, 

4050 MGI oder: Marco 
Scheloske, Von-Groote-Str. 
154, 4050 Mönchcnglad- 
bach 1, Tel. 02161/630614 


MSX 


Wenn Sie zu bequem sind, 
um Ihre MSX-Litings von 
Heften auf Cassette zu 
schreiben, dann senden Sie 
einen Brief mit Rückporto 
an Wolfgang Maier, Stein¬ 
feldsiedlung 208, A-4654 Bad 
Wimsbach und Sie bekommen 
gratis ein Info. 

Dringend gesucht! 
MSX-Anwendersoftware, 
Hausverwaltung f. kleine 
Wohneinheit, jedoch mit 
allen möglichen Abrechnungs- 
aten auf Diskette. 

T. 06128/43785 nach 19.30 


Suche MSX Logo-Programme, 
evtl. Tausch. T. 06109/61208 


Verkaufe: SVI-728+SVI707 
mit ed. 50 Programmen und 
Zub. für DM 1250,- 
Tel. 07222/47470 Samstag 

MSX Wer tauscht Programme 
nur Cassetten. Belgischer 
Tauschclub, Sacha Doise, 
DHF-BSD Natokaserne, 

5000 Köln 40 


Umfangreiche Software¬ 
bibliothek (Module) 

MCCB melden bei Sven 
Knüpling, 3800 Bremen 1, 
Utbremer Ring 193 


Zu verkaufen: VG8010 
DM 100. 05746.305 ab 
17.00 Uhr. 


MSX-Tabellenkalkul. T-Plan- 
Modul zum Einstecken mit 
dt. Handbuch 120 Seiten 
150,- DM. 0211/493038 


Suche MSX-User zwecks 
Info u. Programmtausch. 
Schreibt an: Frank Horn, 
Kutterweg 8, 2400 Lübeck 1 


MSX SOMMERSPIELE MSX 
lOOM-Lauf, Weitsprung und 
Speerwerfen 1 —4 Spieler 
SPITZEN GRAFIK / AUF 
K ASS ETI’E INFO mit Bild¬ 
schirmphotos bei Roland 
Tonnen, Postf. 31,4178 
Kevelaer 1 


Tausche CE-TEC Text 
(Cas) gegen Lode Runner 


Yamaha CX5 + Music-Key- 
board + FM-Voic.-Soft¬ 
ware DM 1 190,— 

Tel. 02421/84872 


Org. Maschinen-Code- 
Monitor f. SV-328 Cass. 
geg. Geb. Suche ROM- 
List., Sprachen und Literatur 
für MSX 06887/5909 oder 
G.W. Oppener Str. 42, 

6612 Schmelz 


Suche im Raum Allgäu 
MSX-Hacker, Zwecks Er¬ 
fahrungsaustausch. Tel.: 
07522/1432 v. 18-20 Uhr 
A. Stöhr, 7988 Wangen/Allgäu 
Leutkircherstr. 50 


Ich CX5M5 Besitzer suche 
Musikprogramme aller Art. 
Schreibt bitte Eure Angebote. 
Eryigit Kenan, Durrenhof- 
str. 51,8500 Nbg. 30 


Suche diverse MSX- 
Progtamme. 

Armin Wicki, Uberweidstr., 
CH-6034 Inwil 


Verkaufe Zaxxon, Buck 
Rogers und Grundkurs 
Basic (Cas.) für je 30 DM 
Michael Herrwerth, 
Bifangstr. 3, 7869 Schönau/ 
Schw. 


MSX MSX MSX MSX MSX 
Verkaufe Batlle-Cross (Mod.) 
für 20 DM. Suche Akustik- 
Koppler 

Stefan Thiel, Tunauerstr. 2, 
7869 Schönau/Schw. 

MSX MSX MSX MSX MSX 


63 















































m 


m 


Seifen 


für den 

99/4A 








SAMMLER 

MATHE-TABELLEN 

TORE 

DIE HANDWERKER 
KOMMEN 

FÜR JEDEN ETWAS 
WAS MAN SCHWARZ 
AUF WEISS BESITZT