Skip to main content

Full text of "TI Revue Special Collection"

See other formats


■v.r 



'■*. -V; . 


• - ,, j 




•.;",; 

*■ ;•* ••. 



IBSSESsE!!:' 



in^pi - 

_ «■ 



p* ..*-j 

JsJ|n[^^Bba»^ »v-.j' r ^S 






S» 






















Zeig beim Porto 
Herz & Verstand: 


SC 


Hilfe, die ihr Ziel erreicht 


Erhältlich Ois Ende Marz bei der Post, ganzjährig bei den Wohlfahrtsverbanden 


IMPRESSUM 


TI-REVUE, die Zeitschrift für 
den TI PC und TI 99/4A er¬ 
scheint monatlich in der 
AKTUELL-GRUPPE, Elisa¬ 
bethstraß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 Manuskripte 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 Pro¬ 
gramm-Service nach den 
Verlags-Sätzen! Alle in dieser 
Zeitschrift veröffentlichten 
Beiträge sind urheberrecht¬ 
lich geschützt. Jedwede 
Verwertung ist untersagt. 
Nachdruck nur mit aus¬ 
drücklicher schriftlicher 
Zustimmung des Verlages. 
Namentlich gezeichnete 
Artikel geben nicht un¬ 
bedingt 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 
©by TI/CBM Verlag 
SPS und Autoren. 


albs IMMER NEUESTE HARDWARE FÜR DEN TI-99/4A . DIREKT VOM HERSTELLER 


EXTENDED-BASIC (Mechatronic) 198,- 

mit deutschem Handbuch 

EXTENDED-BASIC II PLUS mit deutschem Handbuch 285,- 

= 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 Ex- 
tended-Basic-Moduls (elektrisch/mechanisch einwandfreier Zustand!!!) 

Sie zahlen nur noch 215,— 
Umbauaktion (gilt nur für deutschen Lizenznachbau „Mechatronic"). 
Wir machen aus Ihrem EXTENDED-BASIC ein EXTENDED-BASIC II 
PLUS mit deutschem Handbuch für nur 98,— 

32-k-RAM-ERWEITERUNG mit Centronic-Interface, Kunststoffge¬ 
hä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 5-V-Stek- 
kernetzteil 399,50 

Technische Änderungen Vorbehalten 
Versand gegen Nachnahme oder Vorauskasse 


4-FARBEN-PRINTER-PLOTTER-A 4, Centronic-Schnittstelle, 

DIN-A 4-Format, Direktanschluß an 32-k- oder 128-k-RAM- 
Erweiterung 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. TEAC FT 55 B) 399,90 

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

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

4 Laufwerke 635,— 

Die Weltneuheit: GRAM-Karte für die P-Box mit 128k eröffnet völlig 
neue Pespektiven; u.a. Entwicklungssystem für eigene „Module". 698,— 

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

EPROMMER — zum Brennen 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,95 

albs-Alltronic • B. Schmidt • Postfach 1130 

7136 ötisheim • T. 07041 /27 47 • Tx. 7 263 738 albs 


278,90 


Tl-User: Wir helfen Ihnen 


Peripherie 


CPS 99 1398- 

mit 1 Laufwerk DS DD 
(360 KB), Disk-Steuerkarte 
32 K-RAM, RS-232 und 
Centronics 

256 K-Byte RAM (ext.) 598,- 

32 K-Byte RAM (ext.) mit 
Centronics-Interface 268,- 

Graphic Tableau 148- 


Software 

Mini Memory 198,- 

Editor Assembler 165,- 

Assembler-Kurs II 79,90 

Tl-Writer (deutsch) 259,- 

Basic Compiler h 98,- 
ID-Data 69,- 

ID-Konto 69,- 

Term. Emulator II 85,- 

Spiele ab 20,- 


Preise zuzüglich 5,— DM Versandkosten. Lieferung per Nachnahme 
oder Vorkasse, ab 200,— DM versandkostenfrei. 

Fordern Sie unsere kostenlose Preisliste an. 


Programm-Service 


Hl 


D-5584 Bullay 
Bergstraße 80 
Telefon 06542/2715 


2 




INHALT 

Nr. 6/86/Juni 


DIALOG 


Zeichencodes 177 bis 185 
definieren? 

Formelsammlung — was ist das? 
Hardcopy für Seikosha 
Programmspeicherung 
Falsche Buchstaben auf 
dem Drucker 
Ratterndes Laufwerk 
Basicprogramme vernichtet 
Unschöne Bildschirmausgabe 
Ab Seite 4 


TEST & TECHNIK 


Diskinit und Diskedit — 

zwei Software-Programme 

für Eigenbau-Laufwerke 

Auf Seite 7 


Disketten unters Hemd 
geschaut 

Ab Seite 8 


Alte Centronics-Drucker an 
den PIO — Ein Vorschlag 
mit Schaltbild 

Auf Seite 10 


TI- mit TMS Assembler 
Erweiterung zur Eprommer- 
Platine 

AbSeite 11 


Tl-Forth — 

eine mächtige Programmiersprache 
Ab Seite 52 


Joystick ohne Adapter — 
einfach umbauen 

Ab Seite 56 


Call files aus Assembler 

Ab Seite ' 58 


listings _ 

Krieg der Sterne — 

Das Imperium schlägt zurück: 

Ab Seite 14 


Yathzee: 

Ein bekanntes Spiel — 
für den TI 

Ab Seite 24 


Hexer: 

Wandelt Zahlen um 

Ab Seite 

28 

Schulhaus: 

Ein Grafikadventure 

Ab Seite 

30 

Poker-Bandit: 

Zwei Spiele kombiniert 

Ab Seite 

40 

Surgeon: 

Entfernen Sie Fremdkörper 
aus der Blutbahn 

Ab Seite 

45 


Grüß Gott 

In dieser Ausgabe wollen wir uns 
wieder einmal stark mit dem „Einge¬ 
machten" am TI 99/4A beschäfti¬ 
gen. Dabei handelt es sich weniger 
um Assembler-Programme, sondern 
mehr um Erklärungen, wie was und 
warum es gemacht werden kann. 
Viele Anfragen erhielten wir auch 
nach dem Aufbau der Sektoren auf 
den Disketten. Auch dazu findet 
Ihr Erklärungen in diesem Heft. 
Etwas in Verzug geraten sind wir 
mit der versprochenen Bauanleitung 
für eine Centronics-Schnittste/Ie. 

Wir hatten ja noch im letzten Jahr 
einen engagierten Leser gesucht, 
der uns die Platine entwickelte. 

Aus den ganzen Angeboten wähl¬ 
ten wir damals jemanden, der einen 
zuverlässigen Eindruck machte. 
Leider hat er diese Erwartungen 
enttäuscht, denn außer Vertröstun¬ 
gen haben wir bisher nichts mehr 
gehört. Es sieht so aus, daß wir hier 
nochmal von vorne beginnen müs¬ 
sen, so daß sich die Veröffentli¬ 
chung noch weiter verzögert. 

Aus den USA kommen immer wie¬ 
der Meldungen über interessante 
Software-Neuentwicklungen. Wir 
versuchen dabei natürlich immer 
am Ball zu bleiben, aber solange 
diese Programme von keinem deut¬ 
schen Händler importiert werden, 
sieht das mit der kontinuierlichen 
Versorgung aller User hier nicht 
gut aus. Leider scheinen einige 
Händler etwas Angst vor neuen 
Investitionen in die TI-Produkt¬ 
palette zu haben. Wir können das 
eigentlich nicht ganz verstehen. 


SERVICE 


Grüß Gott 

Seite 

3 

Unsere Bestellcoupons 

Ab Seite 

31 

Club-Seite 

Auf Seite 

51 

Börse — 

Zum Suchen und Finden 

Ab Seite 

60 

Impressum 

Seite 

2 



denn gerade in letzter Zeit haben 
ein paar Beispiele gezeigt, daß für 
wirkliche Neuheiten durchaus ein 
Markt vorhanden ist, nur: Uralte 
Mod ule braucht heute wirklich 
fast (?) niemand mehr. 

Leider ist es nun schon üblich ge¬ 
worden, an dieser Stelle über 
Gerüchte zu sprechen. Hier also das 
neueste in Bezug auf den neuen 
Computer aus den USA: Er soll 
jetzt als Karte für die Peripherie- 
Box auf den Markt kommen. An 
diese Karte kommt dann eine ganz 
normale IBM-Tastatur. Ein An¬ 
schluß für den Monitor und der 
Disk-Controller sei ebenfalls 
auf dieser Karte vorhanden. 

Aber wie gesagt, gesehen hat auch 
diese Lösung bis jetzt noch niemand. 
Bis zum nächsten Monat wünschen 
wir Euch viel Spaß mit dem TI 99/ 
4A 

Ihr 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 Leser¬ 
telefone zur Verfügung. Für techni¬ 
sche und Assembler-Fragen Tel.- 
Nummer 0731/33220 und zu den 
Listings bzw. Fragen zu den Abonne¬ 
ments und dem Kassettenservice 
Tel.-Nummer 089/1298013. 

Das Telefon für technische Fragen 
ist wegen Urlaubs des zuständigen 
Redakteurs am 10.6, 17.6. und am 
24.6. nicht besetzt. Wir bitten um 
Verständnis dafür: 








DIALOG 


ZEICHENCODES 177 
BIS 185 DEFINIEREN? 


Wie kann ich die Zeichen¬ 
codes 177 bis 185 defi¬ 
nieren? Ist eine Lösung 
in Assembler denkbar? 
Und wie kann ich meinen 
Drucker dazu bewegen, 
nur 28 Zeichen breit zu 
drucken? Wie bewältigen 
Sie dieses Problem beim 
Ausdruck Ihrer Listings 
in der TI-REVUE? Oder 
benutzen Sie einen 28- 
Zeichen-Printer? 

Peter Kliem, 

Erftstadt 


Unter der Annahme, daß 
sich die Frage auf den 
Betrieb in Basic oder 
Extended Basic bezieht, 
können wir dazu leider 
nur antworten: Die Zei¬ 
chen 1 77 bis 185 können 
nicht definiert werden. 

Um Platz im VDP-RAM 
zu sparen, werden in 
Basic ja alle Zeichen mit 
einem Offset von 96 
auf dem Bildschirm dar¬ 
gestellt. Der VDP kann 
aber nur 255 Zeichen dar¬ 
stellen, also ergäbe 177+ 
96 mehr als 255 (genau 
273). Wir benutzen zum 
Ausdruck ein besonderes 
Basic-Programm, d.h. zu¬ 
erst wird das Listing mit 
LfST'DSKl. TEST “ auf 
die Diskette gelistet. 

Hier ist es nun mit 80 
Zeichen je Zeile vorhan¬ 
den. Dies wird nun über 
ein Basic-Programm zum 
Ausdrucken geändert. 
Dieses Programm ist, so¬ 
weit uns bekannt, bei der 
Fa. Hegasoft in München 
erhältlich. Mit einigen 
Druckern läßt sich aber 
auch ein anderes Verfah¬ 
ren anwenden: Diese 
Drucker müssen eine Ein¬ 
stellung des rechten und 
linken Randes besitzen, 
dann kann man diese auf 
z.B. linker Rand 10 und 
rechter Rand 38 einstel¬ 
len. Wird nun ein 
LIST‘RS232‘‘ durchge¬ 
führt, werden die Zeilen 
auf dem Papier nur 28 
Zeichen breit geschrieben 
Allerdings gibt es nach 
jeweils 80 Zeichen ein 
unschönes Weiterrücken 


in die nächste Zeile. Eine 
komplette Kopie der 
Bildschirmdarstellung 
wird damit also nicht 
erreicht. 


FORMELSAMMLUNG, 
WAS IST DAS? 


1. Beim Tl-Modul 
“Schachmeister“ er¬ 
scheint im Hauptmenü 
an zweiter Stelle der 
Punkt “Formelsamm¬ 
lung“. Wählt man jedoch 
Punkt 2 des Menüs an, 
gelangt man in das Pro¬ 
gramm “Schachmeister“. 
Was hat es mit dem 
Punkt “Formelsamm¬ 
lung“, der nicht ange¬ 
wählt werden kann, 
auf sich? 

2. Gibt es außer dem Tl- 
Modul noch weitere 
Schachprogramme, die 
„stärker“ sind? 

Stefan Lauterbach, 

Goslar 

Die “ Formelsammlung" 
ist ein Relikt aus alten 
Zeiten des TI 99/4 (nicht 
99/4A). Damals gab es 
wohl irgendwo eine ein¬ 
gebaute Software mit der 
Bezeichnung '‘Formel¬ 
rechn er". Nun baut ja 
das Schachmodul einen 
eigenen Bildschirm auf 
(zu sehen an den deut¬ 
schen Meldungen im 
Titelbildschirm), d.h., es 
wird nicht die normale 
Routine nach dem Ein¬ 
schalten des TI 99/4A be¬ 
nutzt. Hier scheint nun - 
im Schachmodul bzw. 
auch in einigen anderen 
Modulen, bei denen der 
Formelrechner im Haupt¬ 
menü erscheint, ein Feh¬ 
ler zu sein. “ Stärkere “ 
Schachprogramme für 
den TI 99/4A sind uns 
leider nicht bekannt. 


PROGRAMMSPEICHE¬ 
RUNG IN STATISCHER 
SPEICHERERWEITE¬ 
RUNG 


Ich habe eine Frage zu 
der Speichererweiterung 
aus Heft 9/85. Dank dem 
Tip der Redaktion 
(Invertieren) des DBIN- 
Signals brachte ich sie 


zum Laufen, ohne diese 
Änderung brachte die 
Speichererweiterung den 
Adressenhaushalt des TI 
etwas durcheinander. 

Jetzt zu meiner Frage: 

Ich kann meine Daten in 
der Erweiterung nicht 
halten, obwohl ich den er¬ 
wähnten Befehl benutzt 
habe (CALL LOAD, 

CALL PEEK). Auch die 
Spannung vom Akku 
ist hoch genug. Vielleicht 
können Sie mir helfen, 
wie nach dem Abschalten 
des Tis die Daten er¬ 
halten bleiben? 

V. Brose, 

Unna 

Daten können in der Spei¬ 
chererweiterung nicht ge¬ 
halten werden, jedoch 
Programme. Hier war un¬ 
ser Text in der TI- 
REVUE 9/85 wohl etwas 
unklar, denn wir erhielten 
ziemlich viele Anfragen. 
Deshalb hier nochmal die 
genaue Erklärung: Wenn 
ein Programm in der Er¬ 
weiterung ist, wird vor 
dem Abschalten folgen¬ 
des durchgeführt: 

CALL PEEK (-31952, 
A1,A2,B1,B2) 

PRINT Al ,A2,B1 ,B2 
Nun werden die auf dem 
Bildschirm stehenden 
Werte für Al, A2, Bl und 
B2 notiert (z.B. 254, 
60,254,80). Nach dem 
Wiedereinschalten wird 
dann ein CALL LOAD 
(—31952,A1 ,A2,B1 ,B2, 

“ ‘‘,-25,0) durchgeführt. 
Dabei sind für die Varia¬ 
blen Al, A2, Bl und B2 
die vorher notierten Werte 
einzusetzen, also z.B.: 
CALL LOAD (-31952, 
254,60,254,80, “ ‘‘,-25,0) 
Die hier genannten Zah¬ 
lenwerte sind aber nur ein 
Beispiel und bei jedem 
Programm anders! 

Übrigens ist der Tip der 
Redaktion offensichtlich 
heute nur noch bei einem 
IC-Fabrikat notwendig. 

Wie wir von den vielen 
Lesern gehört haben, die 
die Erweiterung nachge¬ 
baut haben, funktioniert 
sie in 99% aller Fälle wie 
im Schaltbild gezeichnet. 
Deshalb sollte zu diesem 
Kunstgriff nur in Ausnah¬ 
mefällen gegriffen werden. 


HARDCOPY JFÜR 
SEIKOSHA GP 700A 


Ich besitze einen Seikosha 
Printer GP 700A. Dieser 
ist mein Problem, ich 
besitze keine Hardcopy. 
Nun übersende ich Ihnen 
die Unterlagen für den 
GP 700A in der Hoff¬ 
nung, daß Sie mir helfen 
können. Hoffentlich in 
Assembler, ich benutze 
den PIO-Kanal. 

H.-J. Radiszewski, 
Bochum 

In letzter Zeit buben wir 
eine ganze Menge Anfra¬ 
gen nach Hardcopy-Rou¬ 
tinen für neuere Seikosha 
Drucker erhalten. Wie 
aus den uns überlassenen 
Unterlagen hervorgeht, 
ist dabei gegenüber dem 
allgemeinen Epson-Stan- 
dard die Wertigkeit der 
Nadeln genau vertauscht. 
Weiter wird die Anzahl 
der zu übermittelnden 
Grafikzeichen teilweise 
in dezimaler Form ange¬ 
geben. Uns in der Redak¬ 
tion liegt dazu leider kei¬ 
ne Hardcopy-Routine vor, 
so daß wir leider nicht 
weiterhelfen können. 
Vielleicht aber kann einer 
der Leser helfen. Gerne 
würden wir eine derartige 
Routine auch veröffent¬ 
lichen. 


FALSCHE BUCH¬ 
STABEN AUF DEM 
DRUCKER 


Ich habe ein kleines Pro¬ 
blem mit meinem Star 
Drucker SG-10. Da dieser 
Epson-kompatibel ist, hof¬ 
fe ich, daß Sie mir helfen 
können. Mit einem Pro¬ 
gramm sollen bei meinem 
Drucker drei Sonderzei¬ 
chen definiert werden. 
Statt dessen schreibt der 
Drucker einige Zeichen 
auf das Papier, ab und zu 
macht er auch ein Form- 
feed oder ein Linefeed. 
Und zum Schluß sind 
meine neuen Zeichen im¬ 
mer noch nicht definiert. 
Was mache ich falsch? 
Klaus-Jürgen Höltgen, 
Essen 

Die Tl-Schnittstelle oder 
besser jede Drucker- 
Schnittstelle für den TI 




DIALOG 


99I4A schließt einen dere Möglichkeit besteht 

Datensatz mit einem Line- darin, die Datensatzlänge 
feed (Zeilenschub) und möglichst groß zu wählen, 
einem Carriage Return z.B. VARIABLE 254. 

( Wagenrücklauf) ab. Passen dann alle Steuer- 

Kommen nun diese Zei- Zeichen nicht in eine 
chen zu einem Zeitpunkt, PRINT-Zeile, so ist diese 
bei dem sie der Drucker mit einem : abzuschlie- 
nicht brauchen kann, ßeu. Dadurch wird der 

kommt es zu Fehlfunktio- nächste PRINT-Befehl 
nen. Dies kann einmal bei direkt an den vorherigen 
bestimmten Steuerfunk- angeschlossen, ohne daß 
tionen aber auch beim auf einen neuen Daten- 
Grafikausdruck geschehen. satz gegangen wird. 

Hier gibt es grundsätzlich 

zwei Möglichkeiten: Ein- - 

mal kann die Drucker- RATTERN DES 
datei mit der Option DISKLAUFWERKES 

eröffnet werden, daß die- - 

se Steuerzeichen unter- Ich besitze einen TI 99/ 
drückt werden, 4A mit einem DS/DD 

Dies kann man durch Ein- Diskettenlaufwerk sowie 
fügen der Buchstaben seit drei Wochen das 

CR " in den Dateina- Editor/Assembler-Modul. 
men erreichen (Achtung, Das Modul als solches ar- 
sol/en beide Steuerzei- beitet einwandfrei; je- 

chen unterdrückt werden, doch zeigen Assembler 
muß bei manchen Schnitt- und Editor einige 
stellen “.LF.CR " ange- “Mucken“. Als ich ein 
geben werden). Die an- selbstgeschriebenes Pro¬ 


gramm (bestehend aus vor längerer Zeit das Tür- 
4 Teilen, Teil 1 mit 3 chen eine Zehntelsekun- 

COPYs) assemblieren de zu früh geöffnet) 

wollte, begann das Lauf- oder eine defekte Disket- 
werk nach ca. 20 Sekun- te, obwohl auch bei an- 
den beängstigend zu rat- deren dieser Fehler 
tern und das Licht des auftritt? 

Disk-Controllers leuchte- Ralph Benzinger, 

te ständig. Kurz darauf Mannheim 

folgte die Fehlermeldung 

“DSR-ERROR-03C2 / Der hier geschilderte Feh- 
I/O-ERROR CODE 0“. /er kann mehrere Ursa- 
Der fünfte Assemblierer- chen haben. Einmal kann 
such gelang dann endlich, natürlich der Controller 
Als ich dann mit dem defekt sein, auch besteht 
Editor Teil 1 des Quell- die Möglichkeit, daß 
Codeprogramms laden Laufwerk und/oder Dis- 

wollte. benötigte der ketten fehlerhaft sind. 

Editor ca. 7 Minuten Das Rattern deutet dar- 

(Länge der Datei; 4 auf hin. daß der Control- 

Blocks). Als ich mit dem !er bestimmte Sektoren 
Disk-Manager II die Dis- auf der Diskette mehrfach 
kette überprüfen wollte, suchen muß, bevor er 
erhielt ich die Fehlermel- diese einwandfrei lesen / 

düng “SKETTE NICHT schreiben kann. Um einen 
INITIALISIERT“. Habe Sektor zu lesen, geht der 
ich ein defektes Editor/ Diskcontroller folgen- 

Assembler-Modul Ver- den Weg: Anfahren der 

sion 1.2. eine defekte richtigen Spur mit dem 
Disk-Station (ich habe Schreib-/Lesekopf. Wird 



fehlerteufel ganz be¬ 
sonders hart zugeschla¬ 
gen: In der Überschrift 
zur Ankündigung des 
neuen Mega-Rams der 
Hamburger Firma 
Atronic wurde der 
Firmenname gleich 


mehrfach falsch ge¬ 
schrieben und so kann 
eine Verwechslung mit 
einer anderen Firma 
Vorkommen. 

Deshalb hier also noch 
einmal: Das Mega RAM 
ist eine Entwicklung 


der Fa. Atronic und 
wird auch von dieser 
vertrieben. Ebenfalls. 
falsch war das dabei 
veröffentlichte Bild, es 
zeigte nicht das Mega- 
RAM von Atronic. 

Hier ein Foto. 


MEGA RAM NATÜR¬ 
LICH VON ATRONIC 


In der letzten Ausgabe 
hat leider der Druck- 





DIALOG 


nun innerhalb von 15 
Umdrehungen der Dis¬ 
kette der gewünschte 
Sektor nicht gefunden 
(normalerweise ist das 
beim ersten Mal der Fall) 
wird der Kopf auf Spur 0 
zurückgefahren und die 
gewünschte Spur neu an¬ 
gefahren (das ist das Rat¬ 
tern) und wieder 5 Um¬ 
drehungen lang versucht, 
den Sektor zu lesen. Der 
letzte Vorgang wiederholt 
sich 7mal, bevor ein 
ERROR ausgegeben wird. 
Lesefehler treten natür¬ 
lich bei defekten Lauf¬ 
werken auf (eine Über¬ 
prüfung kann jede gute 
Computerwerkstatt mit 
Laufwerksmeßplatz vor¬ 
nehmen). Eventuell kön¬ 
nen auch schlechte Kabel-/ 
Steckverbindungen der 
Grund sein. Dabei muß na¬ 
türlich vorausgesetzt wer¬ 
den, daß das Laufwerk re¬ 
gelmäßig mit einer Reini¬ 
gt/ngsdiske tte gereinigt 
wird. Etwas merkwürdig 
ist allerdings der Error- 
Code und das offensicht¬ 
liche Überschreiben des 
Sektors 0 (Diskette nicht 
initialisiert). Hier könnte 
einmal der Kopf des 
Laufwerkes hängen, es ist 
aber auch eine defekte 
Speichererweiterung denk¬ 
bar. 


BASIC-PROGRAMME 

ZERSTÖRT 


Das notwendige Teilen ei¬ 
nes zu lang gewordenen 
Dateiprogramms habe ich 
durch Umkopieren, er¬ 
hebliches Tilgen von Pro¬ 
grammzeilen mit 
“ERASE“ und entspre¬ 
chenden Änderungen be¬ 
werkstelligt. Leider 
quittierte dies mein TI 
damit, daß er Fehler bei 
der Programmaufzeich¬ 
nung auf Diskette vor¬ 
nahm. Fehler, die sich wie 
eine Krebswucherung aus¬ 
breiteten und das Pro¬ 
gramm selbst von innen 
heraus zerstörten. Bei den 
ersten Programmausdruk- 
ken war dies kaum fest¬ 
stellbar, beim Programm¬ 
ablauf dehnten sich die 
Programmzeilen plötzlich 
mit einem sinnlosen zer¬ 


trümmerten Mosaik gum¬ 
miartig über zwei Bild¬ 
schirmlängen, dann stieg 
die Konsole aus, füllte 
den Bildschirm mit einem 
blödsinnigen Muster und 
war nur mehr durch Aus¬ 
schalten zu bändigen. Ich 
habe daraufhin den Com¬ 
puter überprüfen lassen 
und startete wieder hoff¬ 
nungsvoll: Die gleiche Er¬ 
scheinung, zumindest mit 
den beschädigten Pro¬ 
grammen war nichts mehr 
anzufangen, alle Versuche 
einer Rekonstruktion 
scheiterten. Ein TI-Fan 
sagte mir nun. ihm wäre 
das auch schon zweimal 
passiert. Hier läge wohl 
ein Fehler im Betriebs¬ 
system vor. der bei be¬ 
stimmten. selten auftre- 
tenden Kombinationen 
dieses Programm-Verwirr¬ 
spiel verursacht, das selbst 
die einzelnen Statements 
in Trümmer zerlegt. 

Der Ansatz für diese Er¬ 
scheinung liegt nach mei¬ 
ner Beobachtung beson¬ 
ders in den CALL Unter¬ 
programmen sowie in den 
REM-Zeilen. TI weiß da¬ 
von aber nichts. Ist Ihnen 
oder Ihren Spezialisten 
etwas davon bekannt? 

Und wie kann man solche 
Programm-Selbstzerstö¬ 
rungen vermeiden? 

Peter Grimm, 

Starnberg 

In teressanterweise be¬ 
kommen wir solche Mel¬ 
dungen immer gerade 
nach gewitterreichen Wo¬ 
chen. Von einem Fehler 
im Betriebssystem ist uns 
diesbezüglich nichts be¬ 
kannt , vielmehr ließ sich 
bei unserer Arbeit der 
Fehler immer relativ ge¬ 
nau lokalisieren: Bedingt 
durch den besonderen 
Aufbau des Basic-Pro- 
gramms im Speicher des 
TI 99/4A kann die Ände¬ 
rung einzelner Bytes im 
Speicher gravierende Feh¬ 
ler hervorrufeil. Diese un¬ 
erwünschten Änderungen 
können z.B. durch sehr 
kurze Stromausfälle her¬ 
vorgerufen werden, oder 
auch durch ein versehent¬ 
liches Herausnehmen der 
Diskette während des Ab- 
speicherns. 


Je nachdem, wieviel bzw. 
was in dem Programm 
schon zerstört ist, kann 
man versuchen, das Pro¬ 
gramm über MERGE zu 
retten. Es bietet sich auch 
ein LIST auf Diskette 
(wenn sich der Computer 
dabei nicht aufhängt) an, 
mit der anschließenden 
Rückwandlung über ein 
CON VER T-Programm 
(die falschen Zeilen kön¬ 
nen vorher z.B. mit dem 
Tl-Writer editiert werden. 


UNSCHÖNE BILD¬ 
SCHIRMAUSGABEN 
BEI GPLLNK 


Ich habe eine Frage, bei 
der ich einfach nicht wei¬ 
terkomme: Es handelt 
sich dabei um GPL-Rou- 
tinen, z.B. der Berech¬ 
nung eines einfachen Sinus 
oder Cosinus. Bei der Be¬ 
rechnung habe ich einen 
geeigneten Wert in den 
FAC gelegt, das GPL- 
Statusbyte gelöscht und 
die Routine mit 
BLWP §GPLLNK 
DATA >002E 
aufgerufen. Ergebnis: Es 


MEHR NACH¬ 
KOMMASTELLEN 
MIT 

'PRINT USING' 


Wie wohl bekannt, 
rechnet der TI mehr 
Nachkommastellen 
aus, als er mit PRINT 
anzeigt. Es i$t jedoch 
möglich, mit PRINT 
USING ‘U=ir.-=rr±==: 

ir=±r- = =r“;variable 
zwölf Nachkomma¬ 
stellen anzuzeigen. 

Eckstein 


steht zwar der richtige 
Wert in FAC, jedoch 
zeigt der Bildschirm in 
der Mitte der oberen Zeile 
unsinnige Zeichen an. 
Natürlich habe ich weiter 
probiert und in der mir 
zur Verfügung stehenden 
Literatur gesucht. In einer 
amerikanischen Veröffent¬ 
lichung findet sich nun 
ein schwacher Hinweis, 
daß man den Wert nicht 
nur auf FAC, sondern 


auch in das VDP-RAM 
und die Anfangsadresse 
dieses Fließkommawertes 
im VDP-RAM in die 
Adresse >836E. 
Angestachelt durch die¬ 
sen vagen Hinweis gelang 
es mir, das Anzeigen der 
sinnlosen Zeichen am 
Bildschirmkopf zu ver¬ 
meiden. Meine Frage ist 
natürlich, warum das so 
funktioniert, oder besser, 
wie man es richtig macht? 
Noch ein Problem ergibt 
sich im Bitmap Mode. 

Da werden durch das 
Aufrufen der GPL-Rouii- 
ne irgendwelche Bytes 
in der Color-Table 
belegt. 

Robert Hundt, 

Ottobrunn 

Die mathematischen GPL- 
Routinen benutzen den 
Basic-Stack. Der Zeiger 
auf das Ende von die sein 
Stack befindet sich auf 
> 836E. Wenn man also 
nicht vom Basic (oder 
Extended Basic) heraus 
das Assemblerprogramm 
aufruft, welches auf die 
GPL-Routinen. zugreift, 
muß man diese Speicher¬ 
stelle mit einem Zeiger be¬ 
legen, der auf irgend¬ 
einen freien Bereich im 
VDP-RAM zeigt. Den 
Wert der Zahl selber aber 
braucht man nicht in das 
VDP-RAM zu schreiben. 
Weiter sichern diese GPL- 
Routinen einen Teil des 
Scratch-Pad RAMs in den 
VDPab Adresse >03C0. 
Dagegen läßt sich nichts 
machen, denn dieser Wert 
ist im GROM festgelegt. 

Im Bit-Map Mode kann 
man nun diesen Teil des 
VDP-RAMs vor Aufrufen 
der GPL-Routine sichern 
und danach wieder hinein¬ 
schreiben, ein kleines 
Flackern aber bleibt. 


Oie nächste 
TI-REVUE 
am 

27.«Juni 



TEST 


DISK-INIT & DISK-EDIT 
SOFTWARE FÜR 

DISKETTENLAUFWERKE 
MADE EIGENBAU 


Nachdem Texas Instru¬ 
ments mit der Produktion 
des TI 99/4A aufhörte, 
standen einige Leute vor 
dem Problem der Erwei¬ 
terung des Computers. 
Manche warteten die Zeit 
ab, bis andere Firmen ge¬ 
wisse Teile nachbauten, 
und andere versuchten 
sich im Selbstbau dieses 
Zubehörs. Es ist auch vie¬ 
len gelungen, eine kom¬ 
plette Peripherie-Box 
nachzubauen, aber sie hat¬ 
ten dann noch nicht die 
Software zum Initiali¬ 
sieren von Disketten und 
gewisse andere Routinen. 
So wurden von der 
Michael Franz Elektronik 
Ende 1984, Anfang 1985 
mehrere Programme dafür 
vorgestellt und vertrieben. 
Diese Programme heißen 
DISKINIT und DISK- 
EDIT und sind beide in 
Assembler geschrieben. 

Für diese Routinen sind 
eine Speichererweiterung 
und mindestens ein Lauf¬ 
werk notwendig. 


DISKINIT 


Wird die Diskette mit der 
DISKINIT-Routine in das 
Laufwerk 1 gegeben und 
das EX-Basic angewählt, 
so wird automatisch die 
LOAD-Routine eingele¬ 
sen. Mit Hilfe dieser Rou¬ 
tine werden ein neuer Zei¬ 
chensatz und ein weiteres 
Hilfsprogramm zum Ein¬ 
lesen der Utilities geladen. 
Dieses Hilfsprogramm ge¬ 
stattet es dann, die einzel¬ 
nen Unterroutinen BACK¬ 
UP und CATALOG, 
DELETE und FORMAT, 
RENAME und PROTECT 
einzuladen und sie zu 
starten. 

Als erste Routine wäre da 
der Programmteil 


FORMAT zu nennen. Er 
ermöglicht es, eine neue 
Diskette zu formatieren. 
Bei diesem Programmteil 
kann man es sich aussu¬ 
chen. mit wieviel Tracks 
bzw. Spuren man eine Dis¬ 
kette ausstatten will. Die¬ 
se Anzahl kann zwischen 
35 und 80 liegen. (Je 
nach Laufwerk und Con¬ 
troller.) Zudem kann man 
einseitige oder zweiseitige 
Disketten nutzen, wobei 
es wieder auf die Art der 
Laufwerke ankommt. 


SPEECH-SYNTHESIZER 

(SS) 

Will man in einem Pro¬ 
gramm den SS benützen 
und das Programm nicht 
andern, ist dieser Tip ge¬ 
nau das richtige. Hat 
man keinen SS angeschlos¬ 
sen. entstehen lange War¬ 
tezeiten. die vermieden 
werden können. Am An¬ 
fang des Programmes 
CALLPEEK (28672, 
SYS). Ist der Wert von 
SYS=96. dann ist der SS 
angeschlossen und es kann 
gesprochen werden. Bei 
Sprachausgabe im Pro¬ 
gramm ist nur noch zu 
schreiben : IF SYS=96 
TUEN CALL SAY 
(“HELLO“). 


Für eine einseitige Disket¬ 
te mit 40 Spuren benötigt 
der Computer ca. 53 Se¬ 
kunden. Danach ist die 
Diskette auf den Namen 
BLANK ‘getauft 4 , den man 
aber jederzeit mit der 
Unterroutine RENAME 
wieder umändern kann. 
Diese Unterroutine ermög¬ 
licht es dann, sowohl Dis¬ 
ketten- als auch Datei¬ 
namen umzuändem. 

Wählt man die Unterrou¬ 
tine BACKUP an, kann 


man auch kopiergeschütz¬ 
te Disketten kopieren, 
wenn man Besitzer zweier 
Laufwerke ist. Dieses 
Programm geht Sektor 
für Sektor vor, und so 
kann man ohne direktes 
Einlesen eines Program¬ 
mes dieses vervielfältigen. 
Bei einer Single Sided/ 
Single Density-Diskette 
benötigt ein Kopiervor¬ 
gang 162 Sekunden, wo¬ 
bei noch 14 Sekunden für 
das Initialisieren der Dis¬ 
kette eingerechnet sind. 
Allerdings ist im Pro¬ 
gramm ein kleiner Fehler, 
der das Kopieren nur dann 
erlaubt, wenn man gleich¬ 
zeitig die Diskette forma¬ 
tieren läßt und nicht wie 
abgefragt ohne Initialisie¬ 
ren. Dieser Fehler hat 
keine Auswirkung auf die 
Kopie, aber man muß je¬ 
desmal 14 Sekunden län¬ 
ger warten. 

Bei dem Programmablauf 
des Kopierens werden im¬ 
mer 4 Tracks (=36 Sek¬ 
toren) eingelesen und 
dann auf der anderen Dis¬ 
kette abgespeichert. 

Will man wissen, welche 
Programme auf einer Dis¬ 
kette sind, kann man dies 
über die Rounte 
CATALOG erfahren. 

Mit Hilfe dieses Pro¬ 
gramms kann man eine 
Diskette katalogisieren, 
wobei es aber an einer 
Druckerausgabe fehlt. 
Zudem sind in dem DISK- 
UTILITY-Paket noch zwei 
Programme enthalten die 
es erlauben, Files zu lö¬ 
schen und Files gegen un¬ 
beabsichtigtes Löschen 
zu sichern. 

Nun zu dem anderen 
Programmpaket mit dem 
Namen DISKEDIT. 

Mit diesem Programm 
kann man die Sektoren 


direkt anschauen und 
auch manipulieren. 

Der Start des Programms 
ist identisch mit dem Start 
der vorher genannten 
Routinen. 


DISKEDIT 


Wenn das Programm ge¬ 
startet ist, steht dem User 
ein Interpreter zur Ver¬ 
fügung, mit dem man ein 
Laufwerk von dreien ein¬ 
schalten, Spuren der Dis¬ 
kette lesen, verändern 
und auch wieder abspei¬ 
chern kann. 

Man soll auch mit diesem 
Programm die Sektoren 
einer Diskette auf dem 
Drucker auflisten können, 
aber dies konnte ich 
nicht mit meinem Druk- 
ker und der Tl-PIO nach¬ 
vollziehen. 

Demgegenüber steht der 
gute Interpreter, der es 
auch ermöglicht, Befehls¬ 
folgen immer wieder zu 
durchlaufen. 

Beispiel: 

L2;B0 Schalte Laufwerk 
1 an und gehe zu 
Sektor 1 

D;+; Drucke den ersten 
Sektor auf dem 
Bildschirm aus, er¬ 
höhe den Zähler 
und gehe wieder 
zum Anfang, 
sprich zeige den 
nächsten Sektor 
an. 

Dieses kurze Beispiel zeigt 
schon die Nützlichkeit 
dieses Interpreters. 
Abschließend kam ich zu 
dem Urteil, daßdiese 
Programme sehr nützlich, 
einfach zu handhaben und 
die Anleitungen ausführ¬ 
lich und gut verständlich 
geschrieben sind. 

HL 




SERVICE 



■ ■ »i-n-nfC» 


DISKETTEN UNTER’S 
HEMD GESCHAUT 


Da die meisten User ihren 
TI 99 ausbauen, anstatt 
zu verkaufen und sich eine 
RAM-Erweiterung und 
ein Diskettenlaufwerk zu¬ 
legen, werden diese sich 
notgezwungen mit der 
Diskette etwas näher be¬ 
schäftigen müssen. 

Gehen wir zunächst in gro¬ 
ben Zügen über die Dis¬ 
kette. Als erstes finden 
wir auf Sektor 0 die allge¬ 
meine Disketteninforma¬ 
tion. 

Auf Sektor 1 befindet 
sich eine sogenannte 
LINK MAP (auf Deutsch: 

Verzweigungstabelle). 

Diese dient zum Herstel¬ 
len des Kataloges und zum 
Laden der Programme, 
doch dazu später! 

Von Sektor 2 bis (nor¬ 
malerweise) 21 ist Raum 
für die einzelnen Pro¬ 
grammnamen und deren 
Informationen. 

Ab Sektor 22 stehen nun 
also die eigentlichen 
Programme; diese können 
maximal, auf einem Lauf¬ 
werk mit einfacher Dich¬ 
te, einseitig beschrieben, 
bis Sektor 167 stehen. 

Als kleine Grafik können 
wir uns dies folgender¬ 
maßen vorstellen: 


Sektor 0 : Disk-Infos 


Sektor 1 : Link Map 


Sektor 2 bis 21: 

Raum für Programminfos 
(was, wieviel, wo) 


ab Sektor 22 bis 167: 
Programme, Daten . . . 


Hinweis: 

Alle Sektorangaben in 
Hexadezimal! 


1) SEKTOR 0: _ 

Wenn man eine Diskette 
mit dem Manager Modul 
oder einem anderen Pro¬ 
gramm neu initialisiert. 


erhält diese einen Namen, 
der in den Bytes 0 — 9 
von Sektor 0 steht. 

Danach folgt in den Bytes 
A und B (Hexadezimal!!!) 
die Anzahl der gesamten 
Sektoren (auf Laufwerken 
mit einfacher Dichte/ein¬ 
seitig beschrieben: 168). 
Danach folgt als Byte C 
die Anzahl der Sektoren 
pro Spur. 

Die Diskette hat 40 Spu¬ 
ren mit je 9 Sektoren 
(Probe: 40 x 9 = 360). 
Nach dem Wert folgen 
drei ASClI-Werte, die zu¬ 
sammengesetzt “DSK“ 
ergeben. _ 

20 = UNGESCHÜTZT 

Für was dies gut sein soll, 
wissen nur die Götter 
bzw. die von TI! 

. . . Dann folgt eine Byte¬ 
folge. die dem Computer 
angibt, ob die Diskette 
geschützt ist. auf wieviel 
Spuren die Diskette ini¬ 
tialisiert wurde, ob die 
Diskette einseitig oder 
zweiseitig ist und ob die 
Dichte einfach oder dop¬ 
pelt ist. Also, hat man 
eine Diskette, bei der 
folgendes auf diesen 
Bytes steht, ist diese . .. 
20=ungeschützt (kann 
mit Diskmanager ko¬ 
piert werden) 

28=hat 40 Spuren 
(=28 hex!) 

01=einseitig bespielbar 
01=und hat einfache 
Dichte! 

Die Diskette ist geschützt, 
wenn anstatt dem Byte 
20 ein Wert von 50 
(ASCII= “P“) dort steht! 
Ab hier folgt bis Byte 38 
auf diesem Sektor nichts 
mehr Sinnvolles, wird 
aber von da ab um so 
schwieriger . . . 

Diese Bits sind von links 
nach rechts von 0 — 7 
durchnumeriert. Jedes 
Bit besitzt auch einen ent¬ 
sprechenden Dezimalwert 
und auf der Diskette ei¬ 
nen Sektor, den das Bit 
überwacht. 


DER BITMAP: _ 

Nein, das ist kein VDP- 
Modus für die Diskette, 
sondern diese Bytes legen 
fest, welche Sektoren auf 
einer Diskette belegt und 
welche unbelegt sind. 

Jetzt werdet Ihr vielleicht 
denken, daß der Compu¬ 
ter 360 Bytes (oder eben¬ 
so viel Bytes, wie die 
Disk Sektoren hat) dar¬ 
an verschwendet. 

Da der TI aber wirklich 
nicht so verschwenderisch 
umgeht, kontrolliert jedes 
Byte maximal 8 Sektoren 
gleichzeitig! 

Wie das geht? 

Byte 38 kontrolliert die 
Sektoren von 0—7. 

Byte 39 kontrolliert die 
Sektoren von 8—F. 

Und so weiter . . . 

0-7, das kommt doch 
irgendwie bekannt vor? 
Genau, das hat etwas mit 
den Bits zu tun. 8 Stück 
an der Zahl, die jedes 
Byte besitzt! 


Also: Byte 4C kontrolliert 
die Sektoren von A0 bis 
einschließlich A7. 

Da aber die Bitmap Adres¬ 
se 4C auch noch einen 
Wert enthält, sagen wir 
mal 7B, können wir genau 
feststellen. welche Sekto¬ 
ren in dem Block von 
Sektor A 0 bis A7 benutzt 
werden. 

7B ergibt dezimal 123. Die¬ 
sen Wert aufgeschlüsselt in 
unsere Bit Tabelle, erhält 
man dann binär: 

BIT _ 0 1 2 

DEZ: 128 064 032 

ges.: 0 11 

Sektor: 0A7 0A6 0A5 

Jedes gesetzte Bit des 
Wertes aus der Adresse 4C 
bedeutet, daß der jeweilige 
Sektor belegt ist. 

In unserem Beispiel: 
Sektoren: A0, Al, A3, A4, 
A5, A6 sind belegt 
Sektoren: A2 und A7 hin¬ 
gegen nicht! 

Soweit über Sektor 0, und 


BIT _ 0 1 2 3 4 5 6 7 

Dezimalwert: 128 064 032 016 008 004 002 001 

Sektor: x+7 x+6 x+5 x+4 x+3 x+2 x+1 x 


Das x ist der Sektorblock, 
der von dem Byte über¬ 
wacht wird. Es errechnet 
sich aus der Adresse des 
Bytes minus der Adresse 
des BITMAP Startes (also 
38). Multipliziert man 
das ganze mit 8, erhält 
man den Block. 

Nicht verstanden? — Hier 
ein Beispiel: 

Byte 4C von Sektor 0 
kontrolliert welchen Sek¬ 
torblock? 

Man rechnet am besten 
die Werte ins Dezimal¬ 
system und erhält für 
4C = 76 und für 38 = 56. 
Nun werden die gefunde¬ 
nen Dezimalwerte sub¬ 
trahiert: 76 — 56 = 20. 
Dieser Wert wird nun mit 
8 multipliziert und wir 
erhalten 160 (dez); dies 
entspricht A0 (hex). 


nun geht es weiter mit der 
LINK Map auf Sektor 1. 
Zuvor aber noch eine 
kleine Grafik über den 
Aufbau von Sektor 0 ... 


ca 

10 Bytes 2 Bytes.,- 


Adresse:- 

>38 






3 Bytes 


SERVICE 


2) SEKTOR 1: _ 

In Sektor 1 steht die LINK 
MAP einer Diskette. Diese 
Tabelle regelt den Katalog 
und die Routinen zum 
Laden. Diese Link Map 
baut sich folgendermaßen 
auf: Nehmen wir an, es 
wäre ein Programm mit 
dem Namen “PGMl“ auf 
der Diskette gespeichert, 
so würde in dieser Tabelle 
0002 stehen, da die Pro¬ 
gramminformationen in 
Sektor 2 enthalten sind. 
Würde man nun ein ande¬ 
res Programm mit dem 
Namen “OS-SOFT“ auf 
die Disk saven, so würde 
sich die LINK MAP so ver¬ 
ändern: 

0003 0002 0000 . . . 

3 4 5 6 7 

016 008 004 002 001 
110 11 
0A4 0A3 0A2 0A1 0A0 

Wieso das? Da der Con¬ 
troller die Programme für 
den Katalog alphabetisch 
ordnet, kommt nun das 
Programm mit dem Na¬ 
men “OS-SOFT“ vor 
“PGMl“! 

Die 0003 zeigt an, daß die 
Informationen über das 
Programm (“OS-SOFT“) 
in Sektor 3 sind. 

Beim Katalogisieren wür¬ 
de dann der Computer so 
Vorgehen: 

— trifft auf Sektor 0 - 
liest Disk Namen/freie 
Sektoren 

— trifft auf Sektor 1 — 
verzweigt zu Sektor 3 

— liest in Sektor 3 den 



Programmnamen und 
andere Daten 

- springt zurück auf Sek¬ 
tor 1 — 

verzweigt zu Sektor 2 

- liest in Sektor 2 den 
Programmnamen . .. 

Dies führt der Computer 
so lange aus, bis er auf 
ein 0000 in Sektor 1 
trifft! 

Auch dazu eine kleine 
Grafik: 


BIT: VERWENDUNG: 

0 ? 

1 1:lnternal oder. 
OrDisplay Format 

2 ? 

3 1:Write Protected 
0:nicht Write Protected 

4 ? 

5 ? 

6 ? 

7 1 :Variable Record's 

0:Fixed Record's 



3) SEKTOREN 2 bis 21: 

Auf diesen Sektoren befin¬ 
den sich die Programmin¬ 
formationen für den 
Computer bzw. für den 
User. 

Pro Programm bzw. Datei 
wird ein Sektor benötigt, 
der wie folgt aufgebaut ist: 

- Filename 

- Fileart (Programm oder 
Datei) 

- Anzahl der Sektoren, die 
das File benutzt 

- Anzahl der Bytes, die 
im letzten Sektor vom 
Programm sind. 

- Datensatzlänge 

- Anzahl der Datensätze 

- Wo das File auf der Dis¬ 
kette steht (Startsektor) 

Beginnen wir mit dem 
Programmnamen: 

Dieser darf maximal 10 
Bytes lang sein und steht 
auf den Bytes 0 — 9! 

Auf den Bytes A bis F 
stehen die Spezifikatio¬ 
nen über die Art der Files. 
Die Bytes A und B haben 
meiner Meinung nach kei¬ 
ne Bedeutung . . . 

Byte C hingegen wird wie¬ 
der in Bits unterteilt: 


Wer mehr wissen möchte, 
schaut im E/A Handbuch 
unter File Management 
nach. 

Byte D gibt die Anzahl 
der Datensätze pro Sektor 
an. 

Falls es ein Programmfile 
ist, steht hier 00! 

In den Bytes E und F 
sind die Anzahl der Sek¬ 
toren, die das File benö¬ 
tigt, festgehalten! 

Nun folgt in Byte 10 die 
Anzahl der Bytes, die 
vom letzten Sektor einge¬ 
lesen werden. 

Das Byte 11 gibt an, wie¬ 
viel Bytes pro Datensatz 
eingelesen werden. 

(Bei z.B. OPEN State¬ 
ment als Fixed xx defi¬ 
niert.) 

Byte 12 gibt die maxima¬ 
le Anzahl der Datensätze 
im File an. 

. . . Von Byte 13 bis 
1B stehen nur 00’s. 
Danach folgt der soge¬ 
nannte BLOCK LINK, 
der den Startsektor des 
Programmes angibt und 
dorthin verzweigt! 

Dieser Block Link ist wie 
folgt aufgebaut: 


Byte IC bis 1F: 

Diese Bytes geben den 
ersten Sektor an, von wo 
ab das Programm auf der 
Diskette steht. Es kann 
Vorkommen, daß ein Pro¬ 
gramm in mehrere Teile 
geteilt wird und mehre¬ 
re ENTRYs besitzt. 

Byte IC: 

enthält das niederwertige 
Byte vom Sektor. 

Byte ID: 

Bits 0 bis 3: enthält das 
höherwertige Byte vom 
Sektor (für Sektoren 
über FF!). 

Bits 4 bis 7: enthalten 
das niederwertige Nibble 
von der Anzahl der Sek¬ 
toren minus 1! 

Byte IE: 

Bits 0 bis 3: enthält das 
höherwertige Nibble vom 
niederwertigen Byte der 
Sektorenanzahl. 

Bits 4 bis 7: höherwerti¬ 
ges Nibble der Sektoren¬ 
anzahl (—1 nicht ver¬ 
gessen!) 

Dieses Nibble wird natür¬ 
lich nur benutzt, wenn 
die Sektorenzahl größer 
FF ist! 

Achtung: 

BITFOLGE - 

7 6 5 4 3 2 1 OBIT 

128 64 32 16 8 4 2 1DEZ 

Diese Liste steht normaler¬ 
weise von Sektor 2 bis 21 
(hex). Es kann aber auch 
Vorkommen, wenn zuviele 
Programme auf der Dis¬ 
kette sind, daß ein solcher 
Sektor mitten zwischen 
den Files steht. 

Dies kann man schon im 
Sektor 1 erkennen, wo¬ 
hin die Link Map zeigt! 

4) SEKTOREN AB 22: 

Ab Sektor 22 stehen die 
Files (normalerweise!). 
Gehen wir auf den Auf¬ 
bau eines Basic Programms 
auf der Diskette näher 
ein. 

Diese sind auf der Dis¬ 
kette genauso gespeichert, 
wie sie auch im Speicher 
stehen! 

Das heißt, sie sind in 2 
Teile unterteilt: 

Der erste Teil ist der 
LINE NUMBER TABLE, 
der zweite Teil sind die 
Programmzeilen. 




TIPS & TRICKS 


H7ÖF-F 


LS122 


H7<?PF 


geben die Adresse vom 
Ende des LNT an. Folg¬ 
lich geben die 
Bytes 4 und 5: 
Anfangsadresse des 
LNT an... 

Bytes 6 und 7: 
gibt die höchste Adresse 
an, an der das Basic- 
Programm auftaucht! 

Dies sind alles Speicher- 
Zeiger und dienen dazu, 


daß das Programm richtig 
wieder eingelesen wird. 
Danach folgt der LNT, 
der jeweils mit der Zeilen¬ 
nummer und deren RAM 
Adresse versehen ist. 

Ist der LNT vorüber, folgt 
das eigentliche Programm, 
welches aus den einzelnen 
Zeilen zusammengesetzt 
wird. Jede Zeile ist nach 


Vor dem Line Number 
Table (LNT) stehen noch 
einige Informationen für 
den Computer, die wis¬ 
senswert sind: 


Bytes 0 und 1: 
sind für den Basic Loader 
gedacht, damit dieser 
weiß, daß nun korrekte 
Daten kommen. 

Bytes 2 und 3: 


diesem Schema aufgebaut: 

— die Länge der Zeile 

— das Token 

— die Daten für das Token 

— am Ende der Zeile 00. 

Dies soll als kleine Einfüh¬ 
rung dienen. Ich hoffe, 
mit diesem Bericht etwas 
Licht ins Dunkel der 
Diskette gebracht zu 
haben. 

Oliver Siffrin 


1 • i 

U 

Lm 

Li 


Wie auch Herr Leititis 
in der Märzausgabe Ihrer 
Zeitschrift bemerkte, hat¬ 
te ich die selben Proble¬ 
me beim Anschluß eines 
alten Centronics-Drucker 
(Modell 779) an meine 
TT-PIO. 

Bei einem Epson-Druk- 
ker, den ich vorher be¬ 
nutzte, hatte ich diese 
Probleme nicht, wie sie 
nun auftraten. Daraufhin 
untersuchte ich die PIO- 
Schnittstelle mit einem 
Oszillographen und be¬ 
sorgte mir zusätzlich einen 
Schaltplan meines Druk- 
kers. Nach dieser genau¬ 
eren Untersuchung wurde 
mir nun klar, warum die 
Kommunikation nicht 
funktionierte: Der TI er¬ 
wartet eine Antwort vom 
Drucker auf die abfallen¬ 
de Flanke des STROBE- 
Signals, während der 
Drucker erst auf die ab¬ 
steigende Flanke dieses 
Signals reagiert und das 
BUSY-Signal setzt. Bei 
Epson-Druckern ist das 
anders, diese antworten 
bereits nach Empfang 
der abfallenden STROBE- 


HfiNDSHfiKE 

OUT 


STROBE 




DRUCKER 


STROBE 


Flanke mit dem BUSY- 
Signal. 

Nach diesem Ergebnis 
der Analyse baute ich 
eine kleine Zusatzschal¬ 
tung auf einem Loch¬ 
rasterstreifen in den 
Drucker ein, die dafür 
sorgt, daß der Drucker 
nach ca. 2 Mikrosekun¬ 
den eine ansteigende 
Flanke des STROBE- 
Signals erhält. Die Ver¬ 
zögerung ist erforderlich, 
einfaches Invertieren des 
STROBE ist nicht aus¬ 
reichend. 

Zusätzlich realisierte ich ; 
noch eine ODER-Ver¬ 
knüpfung zwischen den 
Antwortsignalen BUSY 
und ACKNOWLEDGE 
des Druckers, da die TI- 
Schnittstelle nur einen 
Handshake-Eingang be¬ 
sitzt (die Bedeutung der 1 
Spare-Bits ist leider nicht 
dokumentiert). 

Bei den Schaltskizzen und 
dem Aufbauplan meiner 
Schaltung muß ich noch 
darauf hinweisen, daß es 
unter Umständen Proble¬ 
me bei der Terminierung 
der Eingangssignale geben 
kann, welche zu Funk¬ 
tionsstörungen führen kön¬ 
nen. Bei einem alten 
Drucker ist der STROBE- 
Eingang statt mit 1 kOhm 
nur mit 470 Ohm termiert. 
Dadurch wird die zulässi- : 
ge Ausgangslast der 
74LS43austeine in der PIO 
überschritten! 

F. ßehnisch 













AUF DEM TI 99/4A 


PROGRAMM ZUR 
EPROMMER-PLATINE 


Das ca. 270 Seiten starke 
Buch von Simon Koppel¬ 
mann beschäftigt sich mit 
dem 16-Bit Prozessor 
TMS 9900, mit der Pro¬ 
grammierung und dem 
Einsatz dieses Prozessors 
im TI 99/4A. 

Es handelt sich dabei mehr 
um ein Handbuch zu die¬ 
sem Prozessor als ein 
Lehrbuch und fordert so¬ 
mit schon eine gewisse 
Basis an Wissen über die 
Programmierung des 
TMS 9900. In diesem 
Buch werden die grund¬ 
sätzlichen Konzeptionen 
von CRU (Communication 
Register Unit) und DSR 
(Device Service Routine) 
klar dargelegt und erklärt, 
welche sogar umfangrei¬ 
cher sind als die Erklärun¬ 
gen, die dazu im TI- 
Assembler-Handbuch zu 
finden sind. 

Auf den ersten 15 Seiten 
findet man eine Erklärung 
zur Benutzung des 
EDITOR-ASSEMBLERs 
im EDIT-Modus. Hier wird 
das Eingabeformat genau 
erklärt, welches dann auch 
für die Befehlsliste nütz¬ 
lich ist. 

Vor der eben schon ge¬ 
nannten Befehlsliste fin¬ 
det man noch die Aufglie¬ 
derung der Befehle in die 
einzelnen Formate. 

In der alphabetisch ge¬ 
ordneten Befehlsliste 
findet man jeden Befehl 
ausführlich erklärt. Jeweils 
mindestens ein Beispiel 
dazu wird genannt. Diese 
Befehlsliste umfaßt nicht 
nur die Befehle des TMS 
9900, sondern auch die 
Befehle des TI-Assemblers. 
Die nun angesprochenen 
Teile des Buches umfas¬ 
sen die ersten 90 Seiten, 
wobei man anmerken 
kann, daß die fehlenden 
Zeilenangaben in der In¬ 
haltsangabe manchmal 
die Suche eines bestimm¬ 
ten Befehls schwieriger 
gestalteten. 

An diesen ersten einfüh¬ 


renden Teil schließt sich 
nun der Teil an, in dem 
die CRU-und DSR- 
Handling genau beschrie¬ 
ben und erklärt wird. 
Diese Beschreibung und 
Erklärung erfolgt am 
Aufbau dieser Teile und 
an Beispielen dazu. Zu¬ 
sätzlich sind auch um¬ 
fangreiche Erläuterungen 
zum VDP und GROM^ 
in diesem Buch ent¬ 
halten. 



All diese, in dem zweiten 
Teil zu findenden, Rou¬ 
tinen sind ausführlicher 
besprochen als zum Bei¬ 
spiel im ASSEMBLER- 
Handbuch oder in dem 
16 Bit Mikroprozessor- 
Kursbuch. 

Der dritte Teil besteht 
hauptsächlich aus mehre¬ 
ren Anhängen zur Pro¬ 
grammiertechnik, zur 
Fehlerfimdung und aus 
8 Beispielen der Pro¬ 
grammierung des TMS 
9900. 

Abschließend kann man 
sagen, daß dieses Buch ei¬ 
ne gute Hilfe zur Pro¬ 
grammierung ist, da man 
die wichtigsten Dinge des 
TI 99/4A in einem hand¬ 
lichen Buch zusammen¬ 
gefaßt und erweitert hat. 

Heiko Liebald 

Bezugsquelle: 

Simon Koppelmann 
Judenpfad 7 
5000 Köln 50 


Das in Ex/Basic geschrie¬ 
bene Programm beinhaltet 
einige Erweiterungen zum 
Assembler-Programm aus 
TI-REVUE 7/85. 

Das Assembler-Programm 


chert und wieder eingele¬ 
sen werden. Beim Einlesen 
wird die Datei sofort wie¬ 
der in den vorher festge¬ 
legten Speicherbereich 
geladen. 



wird geladen und ist Be¬ 
standteil des Programms. 
Der vom Eprom in einen 
anderen Speicherbereich 
(z.B. D000-D400 > 2K 
>2716) abgelegte Inhalt 
kann auf dem Bildschirm 
sichtbar oder auf dem 
Drucker ausgedruckt wer¬ 
den. Die Ausgabe erfolgt 
in Hex-Zahlen. 

Ferner kann der Speicher¬ 
bereich auf Disk abgespei¬ 


Ferner können Eprom- 
Inhalte geändert und neu 
geschrieben werden. 

Es können somit irgend¬ 
welche Eproms geschos¬ 
sen werden, sofern man 
die Hexdump-Listings be¬ 
sitzt. Oder man kann je¬ 
den Eprom-Inhalt aus an¬ 
deren Geräten ausdrucken, 
ändern oder als Master- 
Eprom auf Diskette ab¬ 
speichern. Bernd Eder 































































































































10 !************************ 


11 !* ERWEITERUNG ZUM * 

12 !* EPROMMER AUS * 

13 '* TI/REVUE 7/85 * 

14 !* * 

15 !* Copyright by * 

16 !* Bernd Eder- * 

17 !* * 

18 !* Benoetigte Geraete * 

19 !* TI99/4A Konsole * 

20 !* Extended Basic * 

21 «* Ep rornri er P1 at i ne * 

22 !* Speichererweiterung * 

23 !* Disk'Laufwerk * 

24 !* even. Drucker * 

25 !* * 

26 * * Speicherbelegung * 

27 !* 4082 Bytes * 

28 !* * 


29 !********************be** 
100 CALL CLEAR :: CALL INIT 
:: ZA=0 

110 CALL SCREEN(13):: FÜR Z= 

1 TO 12 :: CALL COLOR ( Z, 16, 1 
3):: NEXT z :: Display at(4, 

5)ERASE ALL BEEP:"*** E P R 
0 M mer ***" *.: CALL COLOR (0 
,16,13) 

120 DISPLAY AT(9,2):"1 >> RA 
M-INHALT AUSDRUCKEN": :" 2 > 

V RAM-INHALT AENDERN": :" 3 
>> EPROMMER LADEN": :" 4 >> 
DATEI LADEN" 

130 DISPLAY AT(22,5):"BITTE 
ZIFFER DRUECKEN" :: CALL KEY 
<0,K,S>:; DISPLAY AT(22,11)S 

ize(6):" " :: if s =0 th 

EN 130 ELSE IF K<49 OR K>52 
THEN 130 

140 ON K-48 GOTO 170,320,150 
,440 

150 DISPLAY AT(12,5)ERASE AL 

l beep:"einen Moment bitte" 

:: IF ZA=0 THEN CALL LOAD("D 

SK1.EPR0M_0"):: ZA=1 

160 CALL CLEAR :: CALL SCREE 

N(5>:: for z=i to 12 :: call 

COLOR (Z, 16,5) : : NEXT Z *.! C 
ALL COLOR(0,16,5):: CALL LIN 
K< "EPROM"):: call clear :: G 
OTO 110 

170 CALL ADD(ADA,ADE):: ANF= 
ADA :: DISPLAY AT(14,3):"DRU 
CKERAUSGABE >J/N< N" 

180 ACCEPT AT(14,24)VALIDATE 

("JN")size(- l):J* :: call cl 

EAR :: IF J*="J" THEN OPEN # 
3: " p i o" 

190 PRINT " AUSGABE ANHALTEN 
'SPACE <" : ; : " AUSGABE ABBREC 



hen > back <*•:;: 

200 CALL PEEK(ANF,A,B,C,D,E, 

F,G,H):: CALL DH2<A,A*):: CA 
LL DH2(B,B*):: CALL DH2(C,C* 
):: CALL DH2(D,D*)•I CALL DH 
2(E,E*>:: CALL DH2(F,F*) 

210 CALL DH2(G,G*):: CALL DH 
2(H,H$):: CALL DH(ANF,AD$):: 
PRINT AD*;" "JA*;" "JB$|" " 

; c*;" " *, D* i" "iE*;" "; f*; " " 

;g$;" ";H* :: if j*<>"J h the 

N 230 

220 PRINT #3:" ";AD*;" 

";A*;" ";b*;" ";C$;" 

";d*;" ";E*;" ";F*;" 

;g*;" ";h* 

230 CALL KEY(0,T,SE):: IF T= 
15 THEN 250 ELSE IF SE<>0 TH 
EN 230 

240 ANF=ANF +8 :: IF ANF<ADE 
THEN 200 

250 IF J*="J" THEN CLOSE «3 
260 PRINT :: INPUT " ABSPEIC 
HERN >J/N< ":SP* :: IF SP*<> 
"J" THEN 110 

270 DISPLAY AT(20,5)ERASE AL 
L:"DISK ? UND DATEI ?"*. : " 

>DSK1. <" :: ACCE 

PT AT(22,9)VAL IDATE("12")SIZ 

E(-1):DI* 

280 ACCEPT AT(22,11)VALIDATE 
(UALPHA,DIGIT)SIZE(-10) : DT* 

:: DSK*= " DSK " &D I*S<" . " ßcDT* 

290 OPEN #4:DSK*,OUTPUT,RELA 
TIVE,INTERNAL :: RE=0 
300 FOR Z=ADA TO ADE STEP 8 
CALL PEEK(Z,A1,B1,C1,D1,E 
1,Fl,Gl,Hl)I: PRINT #4,REC R 
EI Al,Bl,Cl,Dl,El,Fl,Gl,Hl 
310 RE=RE +1 :: NEXT Z CLO 
SE #4 :: GOTO 110 
320 DISPLAY AT(2,4)ERASE ALL 
:"RAM-AENDERUNG (4erBLOCK)": 

; eingabe in hex - 

" ram Start address > 

< " 

330 ACCEPT AT(8,21)VALIDATE< 
"0123456789ABCDEF")SIZE <4) :R 
A* :: CALL HD(RA,RA*):: IF R 
A>32767 THEN RA=-65536 + RA 
340 CALL DH(RA,RA*):: DISPLA 
Y AT(10,15):"dez> ";RA :: CA 
LL PEEK(RA,T,U,V,W):: CALL D 
H2(T,T*):: CALL DH2(U,U$):: 
CALL DH2(V,V*):: CALL DH2(W, 
W$) 

350 Q*=" " :: DISPLAY AT(14 

, 4 ) : PA*8x.O*8<T*&Q*(kU*&:Q*&:V*ß<:Q* 

&w* 

360 ACCEPT AT(14,10)VALIDATE 





( "0123456789ABCDEF")SIZE(-2) 
I Tl$ 


370 ACCEPT AT <14,14)VALIDATE 
("0123456789ABCDEF")SI2E(-2) 
: Ul« 

380 ACCEPT AT(14,18)VALIDATE 
("0123456789ABCDEF")SIZE(-2) 

I V1$ 

390 ACCEPT AT(14,22)VALIDATE 
("0123456789ABCDEF")SIZE(-2) 

: Wl$ 

400 CALL HD(TI,Ti«):: CALL H 
D(U1,U1$):: CALL HD(V1,V1«>: 

: CALL HD(W1,Wl$):: CALL loa 
D(RA,TI,U l,VI,W1) 

410 DISPLAY AT(22,3)BEEP:"WE 
ITER SCHREIBEN > W <": 

ZUM MENUE > REDO <" 

420 CALL KEY (.0, KE, SI ) : : IF S 
1=0 THEN 420 ELSE IF KE=6 TH 
EN 110 ELSE IF KE=87 THEN 43 
0 ELSE 420 

430 DISPLAY AT(22,2) : " “ : 

: : ra=ra4-4 : : goto 340 
440 DISPLAY AT(10,2)ERASE AL 
L BEEP:"BITTE DEN SPEICHERBE 
REICH,": :" DER BELEGT WERD 
EN SOLL": :" EINGEBEN !" 

450 DISPLAY AT(14,15)BEEP:"> 
SPACE <" :: CALL KEY(0,0,P) 

:: Display at( 14,15):"" :: i 

F P-0 THEN 450 

460 CALL ADD(BDA,BDE):: DISP 
LAY AT(20,5):"DISK ? UND DAT 
EI 2" >DSK1. 

<" :: ACCEPT AT(22,9)VALIDA 
TE("12")SIZE(-1):DI« 

470 ACCEPT AT(22,11)VALIDATE 
(UALPHA,DIGIT)SIZE(-10):DT« 
:: DSK*="DSK"&DI*&" . "&DT« 

480 OPEN #4:DSK«,INPUT ,RELA 

TIVE,INTERNAL :: RE=0 

490 FOR Z=BDA TO BDE STEP 8 

:: input #4:ai,bi,ci,di,ei,f 
i, gi,hi :: call load<z,ai,bi 

,C1,Dl,El,Fl,Gl,Hl) 

500 IF EOF(4)THEN 520 ELSE R 
E=RE +1 
510 NEXT Z 

520 CALL DH(BDA,BDA«):: CALL 
DH(Z + 8,BDE«):: DISPLAY AT(1 
0,5)ERASE ALL:"DATEI-INHALT 
WURDE": : " IN ADDRESSE "EcBD 
A$8c" - " &BDE«: 2" ABGE 

LEGT" :: CLOSE #4 
530 DISPLAY AT(23,7)BEEP:"ZU 
M MENUE > REDO <" :: CALL KE 
Y (0, KE,SI)!: IF si=0 THEN 53 


0 ELSE IF KE=6 THEN 110 ELSE 
530 

540 SUB ADD(ADA,ADE) :: DISPL 
AY AT(2,4)ERASE ALL:"eingabe 

in hex _": :" ram star- 

t address > <"::::" ra 

m last address > <" 

550 ACCEPT AT(4,21 ) VALIDATE ( 
"0123456789ABCDEF")SIZE(-4): 
ADA« :: IF ADA«="" THEN 550 
ELSE CALL HD(ADA,ADA«) 

560 ACCEPT AT(8,21)VALIDATE( 
"0123456789ABCDEF")SIZE(-4): 
ADE« :: IF ADE«="" THEN 550 
ELSE CALL HD(ADE,ADE«) 

570 IF ADA>32767 THEN ADA=-6 
5536 ADA 

580 IF ADE>32767 THEN ADE=-6 
5536+ADE 

590 DISPLAY AT(6,10) : "dez>"5 
ADA :: DISPLAY AT(10,10):"de 

z>";ade :: subend 

600 SUB HD(D,H«):: F(1)=4096 
:: f(2)=256 :: F<3)=16 :: F 
(4)=1 :: HZ«="0123456789ABCD 
EF" :: d= 0. :: H*="0000"kH« 
610 H$=SEG«(H«,LEN(H«)-3,4): 

: for n= l to 4 :: d=(pos(hz« 

,SEG«(H«,N,1),1)-1)*F(N)+D : 

: next n :: subend 

620 SUB DH(D,H«):: HZ«="0123 
456789ABCDEF" :: H$,H1$="" : 

: di=d 

630 FOR N=1 TO 4 : : FT» (Dl-IN 
T (Dl/16)#16):: D1 = INT(Dl/16) 
:: H1*=H1*&SEG«<HZ*,R+1,1):: 
NEXT N 

640 FOR N=1 TO 4 :: H«=H«fcSE 
G$(H1«,5-N,l):: NEXT N :: su 
BEND 

650 SUB DH2(D,H«):: HZ$="012 
3456789ABCDEF" :: H*,H1«="" 
:: D1=D 

660 FOR N=1 TO 4 :: R=(D1-IN 
T(Dl/16)*16):: D1=INT(Dl/16) 
:: H1«=H1*&SEG«<HZ«,R+1,1):: 
NEXT N 

670 FOR N=3 TO 4 :: H«=H$&SE 
g$(hi$,5-n, l):: next N :: su 
BEND 


Die 

i nächste 

TI-REVUE 
am 27. Juni 

i 


L 

I 

S 

T 

I 

N 

G 

S 





LISTING 


STARWARS: 
DAS IMPERIUM 
SCHLÄGT 

ZURÜCK! 


Programmaufbau _ 

100—160 Vorspann 
(Anleitung 
Star Wars 1) 
170-220 Titelbild 
230—310 Definitionen/ 
Aufbau von 
Screen 1 

320-510 Angriff der 
Tie-Fighter 
520-560 Angriff von 
Darth Vader 
570-670 Definitionen/ 
Aufbau von 
Screen 2 

680-930 Schlacht im 
Todesstern 


Das Spiel für alle Star- 
Wars-Freunde und zu¬ 
künftige Jedi-Ritterü! 

Sie sind Luke Skywalker. 
Sie besteigen Ihren X- 
Wing-Fighter und fliegen 
zum Todesstern. Zerstö¬ 
ren Sie diese gewaltige 
Waffe des bösen galakti¬ 
schen Imperiums. Han 
Solo gibt Ihnen mit sei¬ 
nem superschnellen 
Melinium Falcon Rük- 
kendeckung. Aber Tie- 
Fighter (rot) greifen Sie 
an!!! Manövrieren Sie ge¬ 
schickt und setzen Sie 
Ihren Laser ein. Wenn 
Lord Darth Vader, der 
böse Vertreter der dunk¬ 
len Seite der Macht, auf¬ 
taucht, müssen Sie 
schnell reagieren! 
h(pr dann ist die Macht 
mit Ihnen und Sie kön¬ 
nen in den Todesstern 
eindringen. Nun ist 
Spannung und Nerven¬ 
kitzel garantiert: 

Sie können nichts ande¬ 
res tun, als den Schüssen 
des Tie-Fighters auszu¬ 
weichen!! Aber Vor¬ 
sicht!!! Rammen Sie da¬ 
bei nicht die Wand des 
Todessterns!! Wenn der 
kleine Entlüftungs¬ 
schacht auftaucht, betä¬ 
tigen Sie den Laser! Ja, 
die Macht ist mit Ihnen: 
Sie haben den schreck¬ 
lichen Todesstern zer¬ 
stört!!! 

Ich verspreche Ihnen viel 
Spannung und Spaß bei 
diesem fantastischem 
Märchen in einer weit, 
weit entfernten Galaxis. 

Es war einmal in ferner 
Zukunft . . . 

Die galaktischen Ausmaße 
des fantastischen Mär¬ 


chens „Krieg der Sterne“ genden Sprites dort sieht! 
wurden durch eine wirk- Natürlich kann man das 

liehe detailgenaue, ausge- Programm problemlos 
tüftelte Programmierme- abändern: 



thode erreicht. Das Pro¬ 
gramm enthält eine Reihe 
Besonderheiten, die man 
beim TI99 nicht für mög¬ 
lich gehalten hätte: Von 
Riesenbuchstaben beim 
Titelbild bis hin zur quasi 
3D Grafik in Screen 2. 
Eine gleichbleibende dia¬ 
gonale Bewegung der 
Sprites, wie in Screen 2, 
ist eigentlich hardwarebe¬ 
dingt unmöglich!!! 

Ein diagonales Scrollen 
war aber unerläßlich (wie 
z.B. in „Zaxxon“). So 
habe ich also unsichtbare 
Sprites rechts unten und 
links oben definiert. 

Diese verhindern, daß 
man die sich schräg bewe- 


Mit sehr ansprechender 
Grafik: Starwars 


Das Spiel wird z.B. schwe¬ 
rer, wenn man die Zahl 
hinter “RND<.“ in Zeile 
760 verkleinert. 

Durch jeweils umgekehrte 
Änderung läßt sich das 
Spiel erleichtern. 

Gesteuert wird mit Joy¬ 
stick 1 (Screen 1: rauf- 
runter; Screen 2: links— 
rechts). 

Laser: Fire-Taste 

Alpha Lock bitte entrasten. 


940-980 Unter¬ 
programme 

Variablen-Liste _ 

LA Laser 

Fa Farbe 

P Position des X- 

Wing-Fighters 
SP() Tie-Fighter 

(Sprites 3-6) 

PU Punkte 

RU1 Runde 

II Schnelligkeit der 

Tie-Fighter 

SCH verbrauchte Schif¬ 

fe (max. 3) 

LZ allgemein benutzt 

(in For...Next, etc.) 
Z1,Z2 allgemein benutzt, 
in CALL JOST/ 
Key 

Z$ allgemein benutzt, 

zum Lesen der 
CHARs in DATAs 

Wichtig!!! _ 

„Krieg der Sterne“ kann 
man auch ohne den zwei¬ 
ten Teil, „Das Imperium 
schlägt zurück“ spielen. 
Dann muß aber die Zeile 
920 folgendermaßen ab¬ 
geändert werden: 

“REDO 8“ anstatt 
“WEITER 8“ und RUN 
240 anstatt RUN 
“CS1“. 

Man kann „Das Imperium 
schlägt zurück“ auch ohne 
vorhergehendes Meistern 
von „Krieg der Sterne“ 
spielen. In dem Fall kann 
man im Imperium-Pro¬ 
gramm die Zeile 245 
und des CALL CHAR in 
Zeile 250 ersatzlos 
löschen. 

Wenn man jedoch, wie 
eigentlich vorgesehen, bei¬ 
de Spiele haben möchte, 

Bitte lesen Sie weiter auf Seite 19 




10 

i 

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

11 

i 

* 

STARWAR1 

* 

12 

i 

* 

Krieg der Sterne 

* 

13 

i 

* 


* 

14 


* 

Copyright by 

* 

15 

i 

* 


* 

16 

i 

* 

Patrick Schmitz 

* 

17 

i 

* 


* 

19 

i 

* 

Benoetigte Geraete 

* 

20 

i 

* 

TI99/4A Konsole 

* 

21 

i 

* 

Ext. Basic 

* 

22 

i 

* 

Joystick 1 

* 

23 

i 

* 

Cassettenrec. 

* 

24 

i 

♦(oder Disk+32K—Erw. 

)* 

25 

i 

* 


* 

26 

i 

* 

Speicherbelegung 

* 

27 

i 

* 

12272 Bytes 

* 

28 

i 

* 


* 

29 

i 

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


100 RANDOMIZE CALL CLEAR 
:: CALL SCREEN(2):: FÜR Z=1 
TO 12 :: CALL COLOR(Z,11,1): 

: NEXT Z :: CALL MAGNIFY (3) : 

: CALL STERNE 

110 DISPLAY AT(1,1):"Luke,Du 
musst den Todessterndes boe 
sen galaktischen":"Imperiums 
zerstoeren.":"Zuerst bist D 
u mit Deinem X-Wing Fighter 
ueber der Ober—f1aeche" 

120 DISPLAY AT(6,9):"des Tod 
essterns, wo": "Du angrei-fend 
e Tie-Fighter.-(rot) zerstoe 
ren musst. Wennder Darth Vad 
er—Tie-Fighter (gruen) au-fta 
ucht, musst Du" 

130 DISPLAY AT(11,1):"im ric 
htigen Moment reagie- ren, d 
ann ist die Macht mit Dir. D 
u befindest Dich nun..im Tod 
esstern. Weiche den...Schues 
sen aus und treffe denLuf" 
140 DISPLAY AT(16,4):"schach 
t."s .:"Treffers 100 Punkte": 
"Ausweichen: 20 Punkte":"Max 
. Laser: 20":"Max. Schiffe: 
3":"Bonus pro uebr.Schiff 10 
0 P.": :">ENTER" :: ACCEPT V 
ALIDATE("">:Z$ 

150 DATA 262.4,392.4,349.2,3 
30.2,294.2,523.4,392.3,349.2 
,330.2,294.2,523.4,392.3,349 
.2,330.2,349.2,294.4 
160 CALL CLEAR :: FOR Z=65 T 
O 90 :: IF Z=66 ÜR Z=74 OR Z 
=79 OR Z=81 OR Z=85 OR Z=86 
OR Z=89 THEN 180 
170 CALL CHARPAT(Z,Z$):: FOR 
Zl=l TO 15 STEP 2 :: Z1*=Z1 
$&RPT$(SEG*(Z$,Z1,2>,2):: NE 
XT ZI :: CALL CHAR(Z,SEG*(Z1 
$,1,16),Z+32,SEG*(Z1$,17,16) 
):: Zl$="" 


L 

I 

S 

T 

I 

N 

G 

S 


180 NEXT Z : : DISPLAY AT(1,1 
):"ES WAR EINMAL":"es war ei 
nmal":" IN EINER WEIT":"., 
.in einer weit,":"WEIT ENTFE 
RNTEN GALAXIS":"weit entfern 
ten galaxis.- -" 

190 DISPLAY AT(11,11):"KRIEG 
":TAB(11);"krieg":TAB(12) ; "D 
ER":TAB(12);"der":TAB(8);"S 
T E R N E":TAB(8);"s t e r n 
e" :: CALL CHAR(40,"3C4299A 
1A199423C") 

200 DISPLAY AT(21,10):"( 198 

4": :"_PATRICK SCHMITZ": 

"....patrick schmitz" :: CA 
LL STARWARS(27):: CALL HCHAR 
(1,1,32,196):: CALL HCHAR(21 
,1,32,128) 

210 DISPLAY AT(1,11>:"*STAR* 
":TAB(10);"**star**":TAB(9) ; 
"***WARS***":TAB(8);"****war 
s****" :: DISPLAY AT (22,4) : " 

DIE MACHT SEI MIT DIR":"-d 

ie macht sei mit dir." 

220 CALL STARWARS(5):: CALL 
CLEAR :: CALL DELSPRITE(ALL) 
:: CALL CHARSET :: CALL STER 
NE :: DISPLAY AT(1,1):"KRIEG 
DER STERNE * STAR WARS":"LA 
SER: 20";TAB(17);"PUNKTE: 

0" 

230 DATA 00000F060603C37FFFC 
30306060F00000000E000000000F 
EFF00000000E00000,0000207070 
7173FFFF73717070200000000004 
0E0E8ECEFFFFCE8E0E0E040000 
240 DATA 0E1C3870E0E1E7FFFFE 
7E1E070381C0E70381C0E0787E7F 
FFFE787070E1C38F0,0002070C0C 
0603010303070F1F3F79F0000000 
0C1E1E3CF0E0E0B018188EC2E0 
250 DATA 000001073F3F3B070E1 
C3838787DEFE30C78F0E08101030 
303133B7FFFFFFFFF,807C707C5F 
5F070701011138393B7BFF000000 
008080F0F0F0F0FEFEFCFCF8F8 
260 DATA 1F1F303030306161636 
7C7CFDEDED6E4F8F80C1C2CECCCC 
CC6C6C3E36363CCCC 
270 RESTORE 230 :: FOR Z=96 
TO 120 STEP 4 :: READ Z$ :: 
CALL CHAR(Z,Z$):: NEXT Z 
280 CALL CHAR(143,RPT*("F",1 
6)):: CALL HCHAR(21,1,143,12 
8):: FOR Z=1 TO 4 :: CALL SP 
RITE(#10+Z,104+Z*4,2,145,63* 
Z,0,-20):: NEXT Z 
290 CALL CHAR(136,"0000FF"&R 
PT$("0",20)&"FF"&RPT$("0",36 
)>:: CALL SPRITE(#10,136,9,2 
30,230,0,110):: CALL CHAR(12 
4,RPT$("09000491042000A0",4 > 
):: LA=20 :: P=80 





300 CALL CHAR(128,RPT£("0800 
8001000100^0",4)):: CALL XWI 
NG <2,13)ss CALL XWING(2,16): 

: CALL CHAR(135,RPT*("0",14) 
&"FF"):: CALL SPRITE(#1,96,1 
2,80,16):: FA=7 
310 FOR Z=11 TO 14 :: CALL C 
OLOR(#Z,5):: NEXT Z :: CALL 

COLOR(9,11,2,13,9,2,14,5,2): 

s FOR Z=1 TO 8s: CALL COLOR 
(Z,12,2)s: NEXT Z :: FOR Z=3 
TO 6 :: SP(Z)=-1 = = NEXT Z 
:: 1=0 

320 FOR Z=3 TO 6 :: IF NOT S 
P(Z)THEN 350 ELSE CALL COINC 
(#1,#Z,8,Z1):: IF NOT ZI THE 
N 350 ELSE CALL DELSPRITE(#Z 
>:: SP(Z)=0 

330 FOR Z=1 TO 2 :: CALL PAT 
TERN(#1,124):: CALL SOUND(-4 
00,-6,0,110,5):: CALL PATTER 
N(#1,128):: CALL SOUND(-400, 
-7,0,120,5):: NEXT Z :: GOTO 
380 

340 PU=0 :: DISPLAY AT<2,24) 
0" :: CALL COLOR (#1,12) 

:: IF SP(3)+SP(4)+SP(5)+SP(6 
)<>0 THEN 320 ELSE 490 
350 NEXT Z :: CALL JOYST(l,Z 
1,Z2):: IF Z2 AND P-Z2*2>24 
THEN 360 ELSE CALL KEY(1,ZI, 
Z2) : : IF ZIOIB THEN IF RND> 
.5 THEN 470 ELSE 320 ELSE 37 
0 

360 IF P—Z2*2>128 THEN P=P-8 
:: GOTO 330 ELSE P=P-Z2*2 s 
: CALL LOCATE(#l,P,16):s CAL 
L KEY(1,ZI,Z2):s IF Zl<>18 T 
HEN 320 

370 IF LA>0 THEN 410 ELSE CA 
LL MOTION(#1,-20,80)s: CALL 
SOUND(-100,440,2,442,8,438,8 
):: CALL SOUND(-100,440,6,44 
2,10,438,10)ss CALL MOTION(# 
1,0,0) 

380 CALL COLOR(#1,2):s IF SC 
H<2 THEN SCH=SCH+1 s: CALL P 
ATTERN( # 1 ,96)s s GOTO 400 ELS 
E CALL DELSPRITE(#3,#4,#5,#6 
)s s CALL SO 

390 DISPLAY AT(5,1)s"LUKE, E 
S IST DIR NOCH NICHT": :"GEL 
UNGEN, DEN TODESSTERN ZU": s 
"ZERSTOEREN. ABER " :: CALL 
ENDE :: CALL SOUND(-2,1400,0 
):: RUN 220 

400 CALL HCHAR(2,3*SCH+10,32 
,2):: CALL HCHAR(3,3*SCH+10, 
32,2):: F’=80 ss CALL LOCATE ( 
#1 *P,16)s: LA=20 :: DISPLAY 
AT(2,7)SIZE(3):LA :s GOTO 34 
0 

410 LA=LA—1 =: DISPLAY AT<2, 



7)SIZE(3):LA :: FOR Z-3 TO 6 
. . IF NOT SP(Z)THEN 420 ELS 
ECALL POSITION(#Z,ZI,Z2):: 

IF INT(ZI/8)=INT(P/8)THEN 44 
0 

420 NEXT Z :: CALL SOUND(-10 

0,900,4,902,8,898,8,-4,8):: 

CALL HCHAR((P+8)/8,4,135,29) 

:: CALL SOUND(-100,880,4,882 
,8,878,8,-4,12) 

430 CALL HCHAR((P+8)/8,4,32, 
29):: GOTO 320 

440 CALL DISTANCE(#Z,P,24,ZI 
):: CALL LOCATE(#10,230,1):: 
IF SQR(ZI)<17 THEN 320 ELSE 
CALL SOUND(—100,900,4,902,8 
):: CALL HCHAR((P+8)/8,4,135 
,SQR(ZI)/8—1) 

450 CALL HCHAR((P+8)/8,4,32, 
29):: CALL PATTERN(#Z,124):: 

CALL SOUND(-100,120,5,130,8 
,1400,30,-8,3):: CALL PATTER 
N(#Z,128) 

460 CALL SOUND(-100,110,5,12 
0,8,2000,30,-8,3):: PU=PU+10 
0 :: DISPLAY AT(2,24):PU :: 
SP(2>=0 :: CALL DELSPRITE(#Z 
):: IF SP(3)+SP(4)+SP(5)+SP( 
6)00 THEN 320 ELSE 490 
470 IF 1=4 THEN 320 ELSE 1=1 
+1 :: CALL SPRITE(#1+2,100,F 
A,1,256):: CALL SOUND(-100,- 
2,2,110,3) 

480 FOR Z=5 TO 10 = = CALL MO 
TION(#1+2,Z + INT(RND*29> +7,-Z 
*2):: NEXT Z :: CALL POSITIO 
N(#I+2,Z,Zl):s CALL MOTION(# 
1+2,0,—20):: CALL LOCATE(#I+ 
2,INT(Z/16)*16,Zl-6):: GOTO 
320 

490 RU1=RU1+1 :: IF RU1>=2 T 
HEN 500 ELSE FA=14 :: 11=1 = 


: GOTO 310 

500 CALL SPRITE(#2,104,4, 1 , 1 
92):: FOR Z=10 TO 0 STEP -10 
•: CALL SOUND(-100,110+Z,2, 
120+Z,4,130+Z,6)s: NEXT Z 
510 CALL MOTION(#2,24,—16):: 

CALL POSITION(#2,Z,Z2) : : CA 
LL KEY(1,Z1,Z2)s s IF ZI —18 T 
HEN IF INT((Z+4)/32)=INT CP/3 
2)THEN CALL MOTION(#2,-1,“3) 
s: GOTO 540 ELSE 520 ELSE IF 
Z<112 THEN 510 ELSE 530 
520 CALL SPRITE(#10,136,9,P, 
24,0,100)5= FOR Z=1 TO 2 :: 
CALL SOUND(—10,600,4,602,8): 

: CALL SOUND (-10,580,4,578,8 

):: NEXT Z :: CALL DELSPRITE 
(# 10 ) 

530 CALL MOTION(#2,1,-125):: 

CALL SOUND(-100,1040,5,1060 
,6,-3,7):: CALL SOUND(-100,1 





030,6,1040,8,-2,10):: CALL D 
ELSPRITE(#2):: FA=7 :: GOTO 
310 

540 CALL SPRITE(#10,136,9,P, 
24,0,70):: FÜR Z=1 Tü 2 :: C 
ALL SOUND(—10,600,4,602,8,59 

8.8) :: CALL SGUND<-10,580,4, 

578.8.582.8) :: NEXT Z 

550 CALL MOTION(#2,0,0):: CA 
LL DELSPRITE(#10):: FOR Z=1 
TO 2 :: CALL SOUND(-100,110, 
30,110,30,Z*1000+250,30,-8,2 
):: CALL PATTERN(#2,120+Z*4) 

:: NEXT Z 

560 CALL DELSPRITE(#2):: DIS 
PLAV AT(4,1):"DIE..M ACHT 
..IST MIT DIR!" :: CALL STAR 
WARS(10):: CALL DELSPRITE(AL 
L >:: CALL CLEAR :: CALL COLO 
R<13,2,2,14,2,2):: P=2 
570 CALL CHAR(134,RPT$("F",1 
6)):: CALL CHAR(141,"0103070 
F1F3F7FFFFFFEFCF8F0E0C080"): 

: CALL CHAR(96,"00000408103F 
7F8103070E1C38F0202000060E1C 
38F0E0E0E060646870604080") 
580 CALL CHAR(108,"C3F1797D3 
F9FCF7F7B707078FFFF070F0080C 
0C0C2868ECEE6F37BFFFFDF8F07" 
):: CALL CHAR(112,"01FCFE030 
7FCF90606FDF80503FEFC08") 

590 CALL CHAR(114,"387C0C068 
3C3663E3E6ECE9E1E3F3F7F"):: 
CALL CHAR(116,"8143261C1C366 
3CD9320FFFFFF000000F0F038381 
C1C0E8EC763FEFEFE3E7FC3") 

600 CALL CHAR(120,"40BC7F3F1 
C1E1F3F6F7F9F33332341000060F 
0F060C0F0FCFFE3F1B89C8EC6E1" 
):: CALL CHAR(136,"000000000 
0000000000002183870E0C0"&RPT 
* ("0 ,, ,32) ) 

610 FOR Z=1 TO 24 :: CALL HC 
HAR(Z,26-Z,143,7):: CALL HCH 
AR(Z,25—Z,141):: CALL HCHAR( 
Z,33—Z,142):: NEXT Z :: FOR 
Z=2 TO 8 :: CALL VCHAR(Z,34- 
Z,134,Z+4):: NEXT Z 
620 FOR Z=19 TO 24 :: CALL H 
CHAR(Z,34—Z,134,31—Z):: NEXT 
Z r: FOR Z=8 TO 18 :: CALL 
HCHAR(Z,34—Z,134,Z—7):: NEXT 
Z :: FOR Z=1 TO 6 :: CALL H 
CHAR(Z,—2*Z+20,134,Z+5) 

630 CALL VCHAR(—2*Z+19,Z,134 
,Z+6):: NEXT Z :: FOR Z=7 TO 
17 :: CALL HCHAR(Z,7,134,18 
-Z) : : NEXT Z :: CALL COLOR(1 

3.8.2.14.5.8) 

640 CALL SPRITE(#14,116,8,1, 
189,14,-16,#1,96,12,100,106, 
#15,108,8,1,250,14,-16):: FO 
R Z=2 TO 5 :: CALL SPRITE(#Z 


L 

I 

S 

T 

I 

N 

G 

S 


,140,1,1,1) 

650 CALL SPRITE(#Z+4,140,1,1 
78,240,#Z+8,140,1,172,240):: 
NEXT Z :: FOR Z=SCH*3+26 TO 
29 STEP 3 :: CALL XWING(23, 
Z):: NEXT Z :: DISPLAY AT(22 
,22):"SCHIFFE" 

660 DISPLAY AT(1,1> SIZE(9):" 
STAR WARS" :: DISPLAY AT(3,1 
)SIZE(6):"PUNKTE" :: CALL W 
:: CALL SPRITE(#16,120,8,1,1 
89,14,-16,#17,112,8,1,250,14 
,-16) 

670 FOR Z=20 TO 24 :: CALL S 
PRITE(#Z,36,8,INT(RND*17)+11 
2,INT(RND*11)+246,14,—16,#Z+ 
4,36,8,INT(RND*20)+70,INT(RN 
D*15)+l,14,-16):: NEXT Z :: 
DISPLAY AT(4,1)SIZE(4):PU 
680 CALL SOUND(-4250,-7,10): 

: CALL JOYST(l,Z1,Z2):: IF Z 
1=—4 THEN IF P=1 THEN P=0 EL 
SE IF P=2 THEN P=1 ELSE IF P 
=3 THEN P=2 ELSE 680 ELSE IF 
Z1=4 THEN IF P=3 THEN P=4.5 
ELSE IF P=2 THEN P=3 ELSE I 
F P=1 THEN P=2 ELSE 680 
690 CALL LOCATE(#1,4*P+92,4* 
P+96):: IF P=0 THEN 700 ELSE 
IF p=4.5 THEN 710 ELSE IF R 
ND<.040 THEN 790 ELSE IF RND 
>.5 THEN 680 ELSE 760 
700 CALL COINC(#1,#14,8,Z2): 

: IF Z2 THEN 720 ELSE CALL C 
OlNC(#1,#16,3,Z2):: IF Z2 TH 
EN 720 ELSE CALL JOYST(l,Zl, 
Z2>:: IF Zl=4 THEN CALL LOCA 
TE(#1,96,100):: P=1 :: GOTO 
680 ELSE 700 

710 CALL COINC(#1,#15,8,Z2): 

: IF Z2 THEN 720 ELSE CALL C 
OlNC(#1,#17,8,Z2):: IF Z2 TH 
EN 720 ELSE CALL JOYST(l,Zl, 
Z2):: IF Zl=-4 THEN CALL LOC 
ATE(#1,104,108):: P=3 :: GOT 
O 680 ELSE 710 

720 FOR Z=1 TO 2 :: CALL PAT 
TERN(#1,120+Z*4>:: CALL SOUN 
D(-100,110,25,110,25,1000+Z* 
500,25,-8,2):: NEXT Z :: SCH 
=SCH+1 

730 CALL HCHAR(23,SCH*3+23,3 

2.2) :: CALL HCHAR(24,SCH*3+2 

3.32.2) :: PU=0 :: DISPLAY AT 
(4,1)SIZE(5):PU :: IF SCH<=2 

THEN P=2 :: CALL PATTERN(#1 
,96):: GOTO 680 
740 CALL SO :: CALL DELSPRIT 
E(ALL):: CALL CLEAR :: DISPL 
AY AT(3,1):"LUKE, DU BIST ZW 
AR IN DEN" 

750 DISPLAY AT(5,1):"TODESST 
ERN EINGEDRUNGEN, DU": :"KON 



NTEST IHN ABER NOCH NICHT": 

:"ZERSTGEREN. ABER" :: CALL 
ENDE :: CALL SOUND(-2,1400,0 
):: RUN 220 

760 IF 1=1 THEN 770 ELSE 1=1 
-• CALL SOUND(-100,-3,5,220 
,3,224,6):: Z3=INT<RND*3>+1 
:: CALL SPRITE(#19,100,7,Z3* 
4+136,Z3*4+48):: GOTO 680 
770 1=0 :: CALL SPRITE(#18,1 
36,4,Z3*4+136,Z3*4+48,-28,32 
):: FOR Z=-l TO -3 STEP -1 : 

: CALL SOUND(—100,Z,4,600+Z* 
10,8,800+Z*5,9>:: NEXT Z 
780 IF P=Z3 THEN CALL DELSPR 
ITE(#18):: GOTO 720 ELSE CAL 
L SOUND(-100,110,4):: CALL S 
OUND(-100,115,8):: CALL DELS 
PRITE(#18):: PU=PU+20 :: DIS 
PLAY AT(4,1)SIZE(4):PU :: GO 
TO 680 

790 CALL CHAR(44,RPT$("0",13 
) 10001 "&RPT$ ("0" ,26) 8c"4080 

4"):: CALL SPRITE(#20,44,2,1 
,216,14,-16):: CALL SOUND(-i 
00,1000,4,1010,6):: IF F-2 T 
HEN 830 

800 CALL POSITION(#20,Z1,Z2) 
:: IF ZI>88 THEN 820 ELSE CA 
LL JOYST(1,ZI,Z2):: IF Zl=-4 
AND P=3 OR ZI=4 AND P=1 THE 
N 830 

810 CALL KEY(1,Z1,Z2):: IF Z 
1018 THEN 800 ELSE CALL SPR 
ITE(#18,136,10,4*P+92,4*P+96 
,-28,32):: CALL SOUND(-100,6 
60,4,662,7):: CALL SOUND(-lß 
0,110,5) 

820 FOR Z=900 TO 850 STEP -1 
0 s: CALL SOUND<—100,Z,4,Z+3 
,10,Z—3,10):: NEXT Z :: 1=0 
:: CALL DELSPRITE(#18,#20):S 
GOTO 680 

830 CALL LOCATE(#1,100,104)S 
: CALL KEY <1,Z1,Z2):: IF Zl= 
18 THEN PU=PU+ <3—SCH)*100 SS 
GOTO 840 ELSE CALL POSITION 
(#20,ZI,Z2>ss IF ZI>88 THEN 
820 ELSE 830 

840 CALL MOTION(#20,0,0)s s C 
ALL SPRITE(#18,136,10,4*0+92 
,4*P+96,—28,32)s s CALL SOUND 
(-10,600,4,602,8):: CALL SOU 
ND(-10,578,8) 

850 CALL DELSPRITE(#18,#19)s 
s FOR Z=1 TO 16 :: CALL COLO 
R(#20,Z):: NEXT Z :: CALL MO 
TION(#1,—5,-10)s: FOR Z=1E3 
TO 1200 STEP 50 :: CALL SOUN 
D(—100,Z,4):: NEXT Zs: CALL 
LOCATE(#1,44,20) 

860 CALL MOTION(#1,0,0):: CA 
LL COLOR < #20,16):: CALL SOUN 



D(-i00, _ 5,3):: CALL- PATTERN! 
#*?0,124>:: CALL SOUND(-100,“ 
6,3):: CALL PATTERN(#20,124) 

:: FOR Z2=l TO 2 
870 CALL CHAR(134,"000100800 
40030"):: CALL CHAR(141,"008 
0010400300701008002020110503 
0010080302005001"):: CALL PA 
TTERN(#14,124,#15,128,#16,12 
4,#17,128) 

880 CALL C0L0R(13,7,2,14,7,2 
):: FOR Z=14 TO 17 :: CALL C 
OLOR(#Z,7):: NEXT Z :: FOR Z 
=1 TO 3 :: CALL SOUND(-4250, 

110,30,110,30,1E3+Z*400,30,— 
8,0):: NEXT Z 

890 CALL CHAR(134,"000010008 
001"):: CALL CHAR(141,"00010 
0002005000040000020080000100 
080080030"):: CALL COLOR(1,7 
,7,13,12,2,14, 12,2, 1,11 
900 CALL SOUND(-999,-6 ,0):: 
NEXT Z2 :: CALL DELSPRITE(AL 
L):: CALL CLEAR :: CALL STER 
NE :: DISPLAY AT(1,1):"LUKE. 
ES IST DIR GELUNGEN": :"DEN 
TODESSTERN ZU": :"ZERSTOERE 
N ! ! ! " 

910 DISPLAY AT( 8 ,1):"HAN- LE 
IA. CHEWI. R2 UND 3P0": :"FR 
EUEN SICH. OBI WAN UND": :"J 
ODA SIND STOLZ AUF DICH !": 

- : :"DIE MACHT IST MIT 
DIR !!": :PU;" PUNKTE" 

920 CALL STARWARS(10):: DISP 
LAY AT(24,1):"WEITER>8 ENDE 
>4" FOR Z=1 TO 200 :: DIS 
PLAY AT(24,24):200-Z :: CALL 
KEY(3, ZI,Z2):: IF Zl=56 THE 
N CALL CLEAR :: RUN "CS1" EL 
SE IF ZI=52 THEN Z=300 
930 NEXT Iss IF Z<300 THEN 
RUN 220 ELSE CALL DELSPRITE( 
ALL):: CALL CHARSET :: PRINT 
: : : : :"DAS I M P E R I U 
M WIRD": :"ZURUECKSCHLAGEN 
UND": :"DIE J E D I RITTER W 
ERDEN": :"ZURUECKKEHREN..... 

«• • ■ : 

940 SUB XWING(Z1,Z2):: FOR Z 
=96 TO 97 :: CALL HCHAR(Z1+Z 
-96,Z2,Z):: CALL HCHAR(Z1+Z- 
96,Z2+l,Z+2):: NEXT Z :: SUB 
END :: SUB SO :: FOR Z=1 TO 
3 :: FOR Z1=0 TO 9 STEP 3 :: 

CALL SOUND(—100,110»ZI):: N 
EXT ZI :: NEXT Z 
950 SUBEND :: SUB ENDE :: DI 
SPLAY AT(11,1):"DER KRIEG DE 
R STERNE": :"GEHT WEIT 
ER.•." 5 TAB(23);"4>ENDE": :TA 
B(23);"8>RED0" :: FOR Z=1 TO 
200 :: CALL KEY(3,ZI,Z2):: 





IF ZI=56 OR ZI =6 THEN SUBEXI 
T 

960 IF Z1=52 OR ZI=2 THEN CA 
LL DELSPRITE(ALL):: CALL CLE 
AR :: CALL CHARSET :: PRINT 
"BIS ZUM NAECHSTEN MAL !": s 
:"DIE MACHT SEI MIT DIR 
END ELSE DIS 
PLAY AT(16,11):200—Z 
970 NEXT Z :: SUBEND :: SUB 
STERNE :: CALL CHAR(36,"18"& 
RPT$<"0" ,62)):: FOR Z=18 TO 
28 :: CALL SPRITE(#Z,36,16,R 
ND*136+16,252,0,RND*-16-5>:s 
NEXT Z :: SUBEND :: SUB W : 

: CALL SOUND(1200,110,8) 

980 CALL SOUND(2,112,4):: SU 
BEND :: SUB STARWARS(Z2):: R 
ESTORE 150 :: FOR Z=1 TO 16 
:: READ ZI :: CALL SOUND((Z1 
-INT(ZI))*1200,ZI,5,Z1+2,Z2, 
ZI—2,Z2):: NEXT Z :: SUBEND 


L 

I 

S 

T 

I 

N 

G 

S 


Fortsetzung von Seite 14 


gibt man zunächst das 
„Krieg der Sterne“- 
Listing ein. Dann spei¬ 
chert man das Programm 
ab. Danach gibt man 
„Das Imperium schlägt 
zurück“ ein und spei¬ 
chert es auf der gleichen 
Kassette einige Sekunden 
hinter dem 1. Teil ab. 

Zum Spielen lädt man zu¬ 
erst „Krieg der Sterne“. 
Wenn man den Todes¬ 
stern zerstört hat, wird 
„Imperium“ automatisch 
geladen (Bildschirman¬ 
weisungen* befolgen!). 
(*“Rewind Cassette 
Type“ ist natürlich nicht 
nötig, da das “Imperium“- 
Programm ja gleich dem 
bereits geladenem „Krieg 
der Steme“-Programm 
folgt.) 


DAS IMPERIUM 
SCHLÄGT ZURÜCK 


Es war einmal in ferner 
Zukunft. . . 

In einer weit, weit ent¬ 
fernten Galaxis brach der 
Krieg der Sterne aus. 

Den Rebellen war es ge¬ 
lungen, den Todesstern 
zu zerstören. Doch Darth 
Vader, der Vertreter der 
bösen Seite der Macht, 
war entkommen. 

Er verfolgt nun gnaden¬ 


los die Allianz der Rebel¬ 
len. Diese haben sich in 
die Schneewüste des Eis¬ 
planeten Hoth zurückge¬ 
zogen. Ihre Basis wird von 
AT-ATs (= All Terrain 
Armoured Transport), 
riesigen mechanischen 
Monstern des Imperiums, 
angegriffen. Der Spieler 
schlüpft nun in die Rolle 
von Luke Skywalker. 

Die Walkers (= AT-ATs) 
müssen aufgehalten wer¬ 
den, indem man sie mit 
Hilfe eines Snowspeeders 
(blau) zerstört!!! Aber 
dazu sind 10 (zehn!) 
Treffer notwendig! Trifft 
man ein sich bewegendes 
AT-AT, bleibt dieses 
meist stehen. Aber manch¬ 
mal bewegt es sich auch 
mit erhöhter Geschwindig¬ 
keit weiter! Trifft man 
ein stehendes AT-AT, 
fängt dieses an, sich zu 
bewegen. 

Das Spiel endet, wenn ei¬ 
ner der 4 Walkers die 
rechte Bildschirmseite 
erreicht hat, und somit 
die Basis zerstören kann. 
Das Spiel ist ebenfalls 
beendet, wenn man alle 
Snowspeeder verloren hat. 
Gesteuert wird mit Joy¬ 
stick 1. 

Bitte lesen Sie weiter auf Seite 23 


10 

i 

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

11 

i 

* 

STARWAR2 

* 

12 


* 

Das Imperium 

* 

13 

i 

* 

schlaegt zurueck 

* 

14 

i 

* 


* 

15 

i 

* 

Copyright by 

* 

16 

i 

* 


* 

17 

i 

* 

Patrick Schmitz 

* 

18 

i 

* 


* 

19 

i 

« 

* 

Benoetigte Geraete 

* 

20 

i 

* 

TI99/4A Konsole 

* 

21 

i 

* 

Ext. Basic 

* 

22 

i 

* 

Joystick 1 

* 

23 

i 

* 

(opt. Speechsynth. 

) * 

24 

i 

* 


* 

26 

i 

* 

Speicherbelegung 

* 

27 

i 

* 

10827 Bytes 

* 

28 

1 

* 


* 

29 

; 

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


100 CALL PEEK(-28672,Z)ss IF 
Z< >96 THEN SP=0 ELSE SP=-1 
:: CALL SPGET("START",AT) 

110 ! 

120 !Star Wars Melodie 

130 ‘ 

140 DATA 175.14,262.15,233.0 
6,220.06,196.06,349.14,262.1 
5,233.06,220.06,196.06,349. 1 
4,262.15,233.06,220.06,233.0 
6 , 196.20,0 
150 ! 

160 !Titelbi 1 d 

170 ! 

180 CALL CLEAR :: CALL SCREE 
N (2) :: CALL DELSPRITE(ALL):: 

CALL CHARSET :: FOR Z=1 TO 
48 :: CALL HCHAR(INT(RND*24) 
+1,INT(RND*32)+1,46):: NEXT 
Z :: CALL COLOR(2,16,1):: DI 
M ATAT(5): s ON BREAK NEXT s: 
RANDOMIZE 

190 FOR Z=65 TO 90 r: CALL C 
HARPAT(Z,BT):: BT="0000"&SEG 
T(BT,1,4)&SEGT(BT,7,4)&SEGT( 
BT,13,4)s s CALL CHAR(Z+32,BT 
):: NEXT Z 

200 CALL CHAR(107,"000000242 
8302824",115,"0000003C403804 
78"):: IF SP THEN IF RND<.7 
THEN CALL SAY("#WELL##COME") 
:: CALL SAY("IN SPACE")ELSE 
CALL SAY("HELLO AGAIN") 

210 CALL COLOR(3,4,2,4,4,2): 
: FOR Z=5 TO 8 s: CALL COLOR 
<Z,8,2): s CALL COLOR(Z+4,4,2 
):: NEXT Z :: CALL MAGNIFY(2 
):: Q =.1 

220 CALL CHAR(96,"3C4299A1A1 
99423C"):: DISPLAY AT(1,1):" 
THE STAR WARS SAGA CONTINUES 
" :: DISPLAY AT(24,l)s"' 198 

4..patrick schmitz" 






230 CALL TITEL("krieg",7,7,0 
,12):: CALL TITEL("der",9,10 
,5,12):: CALL TITEL("sterne" 
,13,6,8,12):: CALL TITEL("TE 
IL 2",19,7,18,9) 

240 IF SP THEN CALL SAY(,SEG 
$(A*,1,60) ,"###WANTS"):: CAL 
L SAY("PART TWO") 

250 CALL STARWARS(2600,6):: 
DISPLAY AT(1,1):"" == DISPLA 
Y AT(24,1):"" :: CALL SCREEN 
(12):: CALL DELSPRITE(ALL):: 
CALL SCREEN(7):: CALL SCREE 
N (2) 

260 CALL TITEL("DAS",3,10,0, 
11):: CALL TITEL("IMPERIUM", 
10,6,3,11):: CALL TITELC'SCH 
LAEGT",17,6,11,11):: CALL TI 
TEL("ZURUECK",23,8,19,11) 

270 CALL STARWARS(2400,3):: 
CALL MOTION(#l,-100,100)== F 
OR Z=2 TO 28 :: CALL MOTION( 
#Z,-100,100):: CALL DELSPRIT 
E(#Z-1):: NEXT Z 
280 CALL KEY(0,KEY,ST) :: IF 
KEY=13 THEN X=16 :: CALL SO 
UND<-50,1400,3,1410,7) :: CA 

LL SOUND(-50,1400,5,1410,9)E 

LSE X=5 
290 ! 

300 !Anleitung 
310 ! 

320 CALL CLEAR :: CALL SCREE 
N(2):: CALL COLOR(1,15,16):: 
FOR Z=2 TO 14 :: CALL COLOR 
(Z,X,16):: NEXT Z :: IF X=16 
THEN 420 

330 DISPLAY AT(1,1):"IN EINE 
R GALAXIS, WEIT, WEITENTFERN 

T, BRACH DER KRIEG-DER STE 

RNE AUS- DEN REBELLENWAR ES 
GELUNGEN, DEN TODES- STERN U 
ND DAMIT DAS ZENTRUM" 

340 DISPLAY AT(6,1):"DER BOE 
SEN MAECHTE ZU ZER-.-STOEREN 
. DOCH DARTH VADER,- - DER DAR 
K LORD DER SITH, IST ENTKOMM 
EN. ER VERFOLGT MIT..HILFE D 
ER IMPERIALEN STURM-" 

350 DISPLAY AT(11,1):"TRUPPE 
N DIE MITGLIEDER DER-.ALLIAN 
Z DER REBELLEN. DIESE HABEN 
SICH AUF DEN EISPLA-..NETEN 
HOTH ZURUECKGEZOGEN." 

360 DISPLAY AT(15,1):"NUN GR 

EIFEN DIE 11’METER-GROSSE 

N AT-ATS, DIE IMPERIALWALKER 
S, DIE RIESIGEN MECHA-NISCHE 
N MONSTER DES BOESEN..IMPERI 
UMS AN." 

370 DISPLAY AT(20,1):"LUKE, 
DU UND DEINE FREUNDE..FLIEGE 
N NUN DIE SNOWSPEEDER UND VE 


RSUCHEN DIE AT-ATS-AUFZUH 

ALTEN, BEVOR SIE DIE..BASIS 
ERREICHEN." 

380 IF SP THEN IF RND<-5 THE 
N CALL SAY("PLEASE WAIT JUST 
Al SECOND")ELSE CALL SAY("F 
LEASE READ THE INSTRUCTIONS" 

) 

390 ! 

400 ! Zei chende-f . 

410 ‘ 

420 CALL DELSPRITE(ALL):: CA 
LL MAGNIFY(4):: CALL CHAR(14 

0,"0000071F1F3F3F0808080C040 
40E0000000080EEFFEEE0808080C 

04040E00000"> 

430 CALL CHAR(136,"000000000 
0187018"&RPTT("0",48)):: CAL 
L CHAR(132,RPT$("0",16)&"000 
000001092E5FB"&RPT*("0",16)& 
"0000000042537BFF") 

440 CALL CHAR(128,RPTT("0",1 
6)&"0000000091D5FBFF"&RPT$(" 

0",23)&"148A9ABFF”):: CALL C 
HAR ( 124 , RPTT- ( "0" , 11) &"607171 
7lF5F5F7FFFFFFF"&RPT$("0",13 
)&"8080C0C1C9E9E9F9FFF" ) 

450 CALL CHAR(120,"000000000 
1010103031317373F3F7FFF00008 
08080C0C0E0E0E0F4F 4FEFFFFFF" 
):: CALL CHAR(104,RPT*("F",1 
6 )):: CALL CHAR(112,RPTT("F" 

, 16) ) 

460 CALL CHAR(116,"000000000 
00007"&RPT$("0",48)):: CALL 
CHAR(108,"0000000000144010"& 
PP 7 $: ( “O" ? 48) ) : : CALL CHAR (10 
5,"FFFFFFFFFFFEA 6 A4") 

470 CALL CHAR(100,"004200140 
0401200"&RPT$("0",48)):: CAL 
L CHAR(96,"0280140040100100" 
&RPT$ ( "0" ,48) ) : : CALL CHAR (9 
2,"8002000000002001"&RPT*("0 
",48)) 

480 CALL CHAR(60,RPT$("0",16 
) S/" 01070F1F3F39081D " &RPT* ( " 0 
", 16)&"0CEEFCE0000080C0"):: 
CALL CHAR(36,"00000000000415 
3D3F7F7FFFFFFFFFFF0000004060 
E0E0F0F0F9F9FBFFFFFFFF") 

490 CALL CHAR(40,"0000000000 
0000080C0C0D1D9FBFFFFF000000 

0008183838BCBDBDFFFFFFFFFF") 

500 ! 

510 !Schwierigkeitsgr ad 
520 ! 

530 IF X=16 THEN 610 ELSE DI 
SPLAY AT(24,23)SIZE(6):"WEIT 
ER" :: CALL KEY(0,KEY,ST):: 
IF ST =0 THEN DISPLAY AT(24,2 
3 )SIZE( 6 ):"" :: GOTO 530 
540 IF KEY=49 THEN Q=.1 ELSE 
IF KEY=50 THEN Q=-16 ELSE I 


L 

I 

S 

T 

I 

N 

G 

S 



TI,TR,PU=0 :: SC 


F KEY=51 THEN Q=.23 ELSE 570 
550 CALL SOUND(-100,KEY*10,3 
,KEY*10+2,9):: CALL SOUND(-1 
00,KEY*11,6,KEY*11+2,14) 

560 IF NOT SP THEN 570 ELSE 
IF KEY—49 THEN CALL SAY("ONE 
")ELSE IF KEY=50 THEN CALL S 
AY ( " TWO 11 ) ELSE IF KEY=51 THEN 
CALL SAY <"THREE") 

570 CALL CLEAR :: CALL DELSP 
RITE(ALL):: FOR 1=1 TO 14 :: 

CALL COLOR(Z,16,16):: NEXT 
Z 

580 ! 

590 f Screen-Au-f bau 

600 ! 

610 CALL CHAR (44, "00000001 
RPTT("0",56)):: FOR Z =8 TO 2 
0 :: CALL SPRITE(#Z,44,1,INT 
(RND*100)+40,INT(RND*256)+1, 
0,-2):: NEXT Z 

620 FOR Z=1 TO 3 :: CALL HCH 
AR(Z,1,104,32):: NEXT Z :: C 
ALL HCHAR(4,1,105,32) ::FOR 

Z=23 TO 24 :: CALL HCHAR(Z,1 
,112,32):: NEXT Z :: CALL HC 
HAR(22,1,135,32) 

630 DISPLAY AT(1,1)SIZE(28): 
"hhTHEhEMPIREhSTRIKEShBACKhh 
h" :: DISPLAY AT(24,1)SIZE(2 
8 ):"PUNKTEpOOOpppppppppSCHIF 
FEp3" 

640 ! 

650 !Berge—Sprites 

660 ! 

670 A$= M 120124036040" : : FOR 
Z=1 TO 4 :: CALL SPRITE(#20 
+ Z,VAL(SEG$(A$,Z*3-2,3)) ,1 ,5 
,<Z* 8 —5)*8-7,0,-2):: NEXT Z 
680 FOR Z=1 TO 4 :: CALL SPR 
ITE(#24+Z,128+((Z/2—INT(Z/2) 
=0)*—4),1,145,(Z*8-5)*8-7,0, 
-2):: NEXT Z :: FOR Z=2 TO 8 
:: CALL COLOR(Z,16,5):: NEX 
T Z 
690 ! 

700 !Screen sichtbar 

710 ! 

720 CALL COLOR(10,8,16,12,8, 
16,11,15,16,13,15,16):: FOR 
Z=21 TO 24 :: CALL COLOR<#Z, 
16,#Z+4,15):: NEXT Z :: FOR 
Z =8 TO 20 :: CALL COLOR(#Z,1 
5):: NEXT Z 
730 ! 

740 !SpielVorbereitung 

750 ! 

760 IF SP THEN CALL SAY("#RE 
ADY TO START") 

770 FOR Z=1 TO 4 :: CALL SPR 
ITE <#Z+1,140,2,5+Z*32,17,0,1 
) :: ATAT(Z+1)=0 :: NEXTZ :: 

CALL SPRITE(#1,136,5,89,233 


L 

I 

S 

T 

I 

N 

G 

S 


):: P=12 :: 

H=3 

780 ! 

790 \Spielbeginn 

800 ! 

810 FOR Z=2 TO 5 :: IF ATAT( 
Z)=100 THEN 820 ELSE CALL PO 
SITION(#Z,Y,Y):: IF Y<201 TH 
EN 820 ELSE 950 
820 NEXT Z 

830 IF (P-l)/4<>INT((P-l)/4) 
OR ATAT((P-l)/4+1)=100 THEN 
1370 ELSE AT@=(P—1)/4+1 
:: CALL KEY(1,K,S):: IF K=18 
THEN 1100 ELSE IF RND>.5 TH 
EN 1420 ELSE CALL POSITION(# 
AT@,X,Y) 

840 ! 

850 !Schuss AT-AT 
860 ! 

870 CALL SPRITE(#7,116,11,P* 
8-7,Y,0,80):: CALL SOUND(-10 
0,330,0,332,4):: CALL SOUND( 
-100,332,2,334,6):: CALL SOU 
ND(-100,334,4,336,8) 

880 CALL DELSPRITE(#7):: FOR 
Z=1 TO 5 :: CALL SOUND(-100 
,110,30,110,30,1000+Z*12,30, 
-8,2):: CALL COLOR(#1,11):: 
CALL COLOR(#1,7):: NEXT Z 
890 CALL PATTERN(#1,108):: F 
OR Z=1 TO 3 :: CALL SOUND(-1 
00,—7,Z+3):: CALL PATTERN (#1 
,104—Z*4):: NEXT Z :: CALL C 
OLOR(#1,1) 

900 SCH=SCH—1 :: DISPLAY AT ( 
24,28)SIZE(1):STR*(SCH):: IF 
SCH=0 THEN 950 ELSE CALL SO 
UND(-100,120,2,122,4):: CALL 
SOUND(-100,118,4,120,6) 

910 CALL SOUND(-100,116,6,11 
8 ,8):: CALL PATTERN(#1,136): 

: CALL COLOR(#1,5):: GOTO 14 
20 

920 ! 

930 !Keine Schifte mehr 

940 ! 

950 FOR Z=2 TO 5 :: CALL MOT 
ION(#Z,0,0):: NEXT Z :: FOR 
Z=1 TO 3 :: FOR Zl=l TO 
10 :: CALL SOUND(-100,110,ZI 
,112,Zl+5):: NEXT ZI :: NEXT 
' 1 

960 IF SP THEN CALL SAY("OH 
NO"):: IF RND>.5 THEN CALL S 
AY("OH NO")ELSE CALL SAY("NO 
T VERY GOOD") 

970 CALL DELSPRITE(ALL):: CA 
LL CLEAR :: CALL CHARSET :: 
FOR Z=1 TO 14 :: CALL COLOR( 
Z,12,2):: NEXT Z 
980 CALL MAGNIFY(1):: FOR Z= 
1 TO 20 :: CALL SPRITE(#Z,46 






,16,INT <RND*190) +1,1,0,INT <R 
ND*12)+1):: NEXT Z 
990 IF PU>HI THEN HI=PU 
1000 DISPLAY AT(1,1)s"LUKE, 

ES IST DIR LEIDER": :"NICHT 
GELUNGEN, DIE AT-ATs": :"AUF 
ZUHALTEN.": -."DOCH DER": : "K 
RIEG DER STERNE" 

1010 DISPLAY AT<11,1):"GEHT 
WEITER.-.":TAB(22>;"4 >ENDE" 

: ;TAB(22); "8 >REDO": :PU;"P 

UNKTE“ :: FOR Z=200 TO 0 STE 
p -1 :: CALL KEY(0,KEY,ST):: 

DISPLAY AT(13,15):Z 
1020 IF KEY=56 OR KEY=6 THEN 
Z=0 :: GOTO 1050 ELSE IF KE 
Y < >52 AND KEY<>2 THEN 1050 E 
LSE CALL CLEAR :: CALL DELSP 
RITE(ALL):: CALL CHARSET :: 
PRINT "HIGHSCORE :";HI: : : 

: ;"DER KRIEG DER STERN 

E" 

1030 PRINT :"IST NICHT BEEND 
ET.": :"DAS IMPERIUM 

..WIRD": :"WIEDER ZURUECKSCH 
LAGEN.": :"BIS ZUM NAECHSTEN 

MAI_" : : "DIE M A C H T SE 

I MIT DIR !!": = = = 

1040 IF NOT SP THEN STOP ELS 
E CALL SAYC'BYE BYE" ) : : END 
1050 NEXT Z :: CALL SOUND(-5 
0,1400,0,1410,8):: CALL CLEA 
R :: FOR Z=1 TO 14 :: CALL C 
OLOR(Z,16,16):: NEXT Z :: CA 
LL COLOR(1,15,16):: X=16 :: 

CALL DELSPRITE(ALL) 

1060 IF NOT SP THEN 420 ELSE 
IF RND>.5 THEN CALL SAY("#0 
#K">:: CALL SAY("#TRY AGAIN" 

):: GOTO 420 ELSE CALL SAY(" 
O K AN OTHER TRY"):: GOTO 42 
0 

1070 ! 

1080 ! AT—AT getro-f-fen 

1090 ! 

1100 CALL POSITION (#AT(§, X , Y) 
:: CALL SPRITE(#7,116,7,F*8— 
7,217,0,-<Y*~.5+115)) 

1110 FOR Z=1 TO 3 :: CALL SO 
UND(-100,440+Z*2,Z*2,442+Z*2 
,Z*3):: NEXT Z 

1120 CALL DELSPRITE(#7):: Fü 
r z=l TO 3 :: CALL COLOR<#AT 
@,7):: CALL SOUND(—50,—6,Z*2 
CALL COLOR (#AT<§,2) : : NEX 

T Z 

1130 ATAT(AT@)=ATAT(AT@)+1 : 

: IF ATAT (ATÖX10 THEN 1320 
ELSE CALL MOTION(#AT@,0,,0) 
1140 FOR Z=1 TO 6 :: CALL CO 
LOR ( #AT@,11):: CALL COLOR(#A 
T<a,7>:= CALL SOUND (-100, 110, 

30,110,30,2000+Z*20,30,-8,1) 


:: NEXT Z 

1150 CALL COLOR(#AT@,2):: CA 
LL PATTERN(#AT@,108):: CALL 
PATTERN(#AT@,60) :: CALL SOU 

ND(—100,—6,2)::CALL COLOR(#A 
T@,7):: CALL COLOR (#AT€i, 12) : 

: CALL SOUND(-100,-6,4) 

1160 CALL PATTERN(#AT@,100>: 

: CALL COLOR(#AT@,2):: CALL 
PATTERN (#AT <ä , 96 ) :: CALL SOU 

ND(-200,-5,3)::CALL DELSPRIT 
£(#£-]-<&) : ; pU=PU+1000 : s CALL 
PUNKTE (PU) : : AT AT (AT<§) = 100 
1170 IF NOT SP THEN 1180 ELS 
E IF RND<.2 THEN CALL SAY("# 
NICE TRY") ELSE IF RND>-8 THE 
N CALL SAY("#GOOD WORK") 

1180 TR=TR+1 := IF TR<4 THEN 
1420 ELSE DISPLAY AT(12,1): 
".DIE.M.A.C.H.T.IST.MIT.DIR. 

:: CALL STARWARS (2700,3) : : 
CALL CLEAR :: CALL DELSPRIT 
E(ALL):: CALL CHARSET :: PU= 
PU+SCH*1000+(200-TI)*20 
1190 IF PU>HI THEN HI=PU 
1200 ! 

1210 '.Alle AT-ATs getro-f-fen 
1220 ! 

1230 CALL MAGNIFY ( 1 ):: FÜR Z 
=1 TO 20 :: CALL SPRITE(#Z,4 
6 , 16,INT(RND*190) +1,1,0,INT( 
RND*12)+1):: NEXT Z :: FÜR Z 
=1 TO 14 :: CALL COLOR(Z, 12, 
2):: NEXT Z 

1240 DISPLAY AT(1,1):"GRATUL 
IERE, LUKE, DU HAST": :"DIE 
AT-ATs AUFGEHALTEN.": :"HAN 
SOLO, LEIA ORGANA,": :"CHEWI 
, R2D2 UND C-3P0 FREUEN": :" 

SICH. OBI WAN INSTRUIERT" 

1250 DISPLAY ATCll,1):"DICH: 

DU MUSST INS DAGOBAH—": :"S 

YSTEM ZU JODA, DEM MEISTER": 

:"ALLER JEDI—RITTER FLIEGEN 
•"DER DICH ZUM JEDI MACH 

EN": :"WIRD-" 

1260 DISPLAY AT(22,22):"4 >E 
NDF" :: DISPLAY AT(24,1):PU; 
"PUNKTE";TAB(22 )5 "S >REDQ" : 

; FOR Z=250 TO 0 STEP -1 = = 
DISPLAY AT(23,15):Z :: CALL 
KEY(0,KEY,ST) 

1270 IF KEY=56 OR KEY =6 THEN 
Z=0 :: GOTO 1300 ELSE IF KE 
y<>52 AND KEY< >2 THEN lo>00 E 
LSE CALL CLEAR :: CALL CHARS 
ET :: CALL DELSF'F^ITE (ALL) 
1280 PRINT "HIGHSCORE :";HI: 

: : : :"DIE JEDI RITTE 

r"WERDEN": :"ZURUECKKEHREN ! 

ii": :"BIS ZUM NAECHSTEN MAL 
, ..."z :"DIE MACHT SEI MI 

T DIR 


L 

I 

S 

T 

I 

N 

G 

S 


« i " - 





1290 IF NOT SP THEN STOP ELS 
E CALL SAY("SEE YOU IN SPACE 
") : : CALL SAY("GOQDBYE") : : E 
ND 

1300 NEXT Z :: CALL SOUND(-5 
0,1400,0,1410,2):: CALL CLEA 
R :: CALL DELSPRITE(ALL):: C 
ALL COLOR(1,15,16):: FOR Z=2 
TO 14 :: CALL COLOR(Z,16,16 
):: NEXT Z :: X=16 
1310 IF NOT SP THEN 420 ELSE 
IF RNDC.5 THEN CALL SAYC'O 
K WHY NOT"):: GOTO 420 ELSE 
CALL SAY("BE SO GOOD AS LAST 
TIME"):: GOTO 420 
1320 IF ATAT(ATÖ)/2=INT(ATAT 
(AT@)/2)THEN CALL MOTION(#AT 
0,0,2)ELSE CALL MOTION(#AT@, 
0 ,0) 

1330 PU=PU+100 :: CALL PUNKT 
E(PU):: GOTO 1420 

1340 ! 

1350 !Schuss 
1360 ! 

1370 CALL KEY(1,K,K):: IF K< 
>18 THEN 1420 ELSE CALL SPRI 
TE(#7,116,7,P*8—7,217,0,—120 
):: CALL SOUND(-100,440,0,44 
2,4) 

1380 CALL SOUND(-100,442,2,4 
44,6):: CALL SOUND(-100,444, 

4.446.8) :: CALL SOUND(-100,4 

44.4.446.8) :: CALL DELSPRITE 
(#7) 

1390 ! 

1400 !Bewegung AT-AT 

1410 ! 

1420 IF RND>Q THEN 1460 ELSE 
X=INT(RND*4)+2 :: IF ATAT(X 
)=100 THEN 1460 ELSE CALL MO 
TIGN(#X,0,1) 

1430 * 

1440 !Haupt—Joyst—Abfrage 

1450 ! 

1460 CALL JOYST(l,X,Y)s: Y=- 
SGN(Y):: IF P+Y<5 OR P+Y>18 
THEN 810 ELSE P=P+Y :: CALL 
LOCATE(#1,P*8—7,233):: TI=TI 
+1 :: ON (TI<30)+2 GOTO 830, 
810 
1470 * 

1480 ! 

1490 !Unterprogramme 

1500 ! 

1510 SUB PUNKTE(PU):: IF PU< 

0 THEN PU=0 

1520 DISPLAY AT(24,8)SIZE(LE 
N(STR$(PU))):STR*(PU):: SUBE 
ND 

1530 ! 

1540 !Anzeige TitelSprites 
1550 ! 

1560 SUB TITEL(A*,X,Y,Z1,Z2) 


L 

I 

S 

T 

I 

N 

G 

S 


:: FOR Z=1 TO LEN(A*>:: CALL 
SPRITE(#Z1+Z,ASC(SEG*(A$,Z, 
1)),Z2,(X*8 —7)—Z*5.4,(Y*8-7) 
+Z*20):: NEXT Z :: SUBEND 
1570 ! 

1580 !Star Wars Melodie 
1590 • 

1600 SUB STARWARS(X,Y):: RES 
TORE 140 :: FOR Z=1 TO 16 
1610 READ ZI :: CALL SOUND(5 
00,Z1*2,2,Z1*2+Y,4,Z1,6):: C 
ALL SOUND((Z1— I NT(ZI))*—X,Z1 
*2,4,Z1*2+Y,8,Z1,10):: NEXT 
Z :: SUBEND 


Fortsetzung von Seite 19 

Variablen-Liste 

Programmaufbau 

Z,Z1 

allgemein ver¬ 




wendet 

10- 

29 REMs (c) 

X,Y 

allgemein/in 

100— 

110 Sprachsynthe¬ 


CALLJOYST 


sizer??? 

Key,K,ST 

in CALL KEY 

120— 

150 DAT As für 


verwendet 


Krieg der 

SCH 

Schiffe 


Sterne- 

PU 

Punkte 


Melodie 

P 

Zeilenposition 

160— 

250 Titelbild 1 


von#l (Snow¬ 


(Star Wars - 


speeder) 


Krieg der 

ATAT(2 — 

5) #2—#5(AT- 


Sterne II) 


AT) Treffer 

260- 

290 Titelbild 2 


(100=zerstört) 


(Empire — 

AT 

=AT-AT(P-1)/ 


Imperium...) 


4+1 (bestimm¬ 

300- 

390 Anleitung, 


tes AT-AT) 


Beschreibg. 

TR 

Anzahl zerstör¬ 


Star Wars II 


ter AT-ATs 

400- 

500 Zeichen- 


SP 

HI 

Q 


Sprites: 


Sprachsynth? 
ja= -1 nein=0 
Highscore 
Schwierig¬ 
keitsgrad 
(Standard=.l) 


# 1 

# 2-5 

# 7 

# 8-20 
# 21-24 
#25-28 

Bedienung: 


Snowspeeder 

AT-ATs 

Laser-Schuß 

Schnee 

Berge 

Boden 


Sobald unter der Anlei¬ 
tung “WEITER“ blinkt, 
“1“ für einfach, “2“ für 
mittelschwer oder “3“ 
für schwer drücken. Wird 
eine andere Taste ge¬ 
drückt, nimmt der Com¬ 
puter automatisch “ein¬ 
fach“ an. 

Wenn man die Spielanlei¬ 
tung übergehen will, kann 
man, sobald die Star 
Wars-Melodie zum zwei¬ 
tenmal erklungen ist, die 
ENTER-Taste gedrückt 
halten, bis sich der Bild¬ 
schirm weiß färbt. Der 
Schwierigkeitsgrad ist 
dann allerdings immer 
“einfach“. 


definitionen 
(Walkers, ...) 

510— 580 Wahlweise 
Schwierig¬ 
keitsgrad 

590— 690 Aufbau des 
- Screens 

700- 730 Farbzu- 

ordnungen 

740— 780 Snowspeeder/ 
Walker/Varia- 
blen=0 setzen 

790- 840 AT-AT 

(=Walker) 

rechts??? 

850- 920 AT-AT 

schießt auf 
Snowspeeder 

930- 990 AT-AT rechts 
oder kein 
Schiff mehr 
1000—1040 Spielende 

1050—1070 neues Spiel 
1080-1130 AT-AT 
getroffen 

1140-1200 AT-AT zer¬ 
stört (zehn 
Treffer) 

1210-1270 alle AT-ATs 
zerstört 

1280—1290 Spielende 
1300—1310 neues Spiel 
1320-1340 AT-AT be¬ 
wegen (zu¬ 
fällig) 





LISTING 



Dieses Spiel für 1 —6 Per¬ 
sonen ist auch unter dem 
Namen Kniffei bekannt. 
Bei jedem Durchgang kann 
maximal dreimal gewür¬ 
felt werden, wobei der 
erste Wurf mit allen fünf 
Würfeln durchgeführt 
wird (Feuertaste von 
Joystick 1). Nach jedem 
Wurf kann entschieden 
werden, welche Würfel 
nochmal benutzt werden, 
indem man, wenn der 
schwarze Pfeil auf einen 
Würfel zeigt, die Feuer¬ 
taste betätigt. Will man 
einen Würfel gelten las¬ 
sen, führt man den Pfeil 
durch den Joystickknüp¬ 
pel nach rechts weiter. 
Wenn der Pfeil den rech¬ 
ten Bildschirmrand er¬ 
reicht, kommt der nächste 
Wurf mit den ausgewähl¬ 
ten Würfeln. Falls kein 


Würfel aussortiert wurde, 
erfolgt die Aufforderung, 
den Wurf in die Gewinn¬ 
karte einzutragen. Selbst 
wenn kein Gewinnwurf 
erreicht wurde, muß ein 
Eintrag erfolgen, in die¬ 
sem Falle eben Null 
Punkte. Der Eintrag er¬ 
folgt, indem man zuerst 
die Zeile, dann die Spalte, 
festlegt (Steuerung der 
Pfeile mit dem Joystick). 
Die Gewinnkarte ist in 
zwei Bereiche aufgeteilt. 
Im oberen Teil werden 
Einer, Zweier, 

Sechser eingetragen. 

Bei einem Wurf zählen 
nur die Würfel mit glei¬ 
cher Punktzahl und de¬ 
ren Summe wird in das 
entsprechende Kästchen 
eingetragen. 

Erzielt ein Spieler im 
oberen Teil mehr als 62 


Punkte, so erhält er einen 
Bonus von 35 Punkten 
gutgeschrieben. 

Im unteren Teil werden 
Kombinationen eingetra¬ 
gen. Dreier- und Vierer¬ 
pasch bedeutet drei, 
bzw. vier gleiche Würfel. 
Die Punkte aller Würfel 
werden im Kästchen 
eingetragen! Full House 
sind drei gleiche Zahlen 
einer Art und zwei glei¬ 
che Zahlen einer ande¬ 
ren Art. Kleine Straße 
ist eine Folge von vier 
Würfeln, der fünfte eine 
beliebige Augenzahl. 
Große Straße ist eine 
Folge von fünf Würfeln 
aufeinanderfolgender 
Zahlen. Yahtzee heißt 
ein Wurf aus lauter glei¬ 
chen Zahlen. Für diese 
Kombinationen werden 
feste Punktzahlen gutge¬ 


schrieben (s. Gewinn¬ 
karte). Chance eröffnet 
dem Spieler die Möglich¬ 
keit, einen Wurf aufzu 
schreiben, der keine ande¬ 
ren Bedingungen erfüllt 
oder dessen Kästchen alle 
schon belegt sind. 

Wirft ein Spieler Yahtzee 
öfter als er in die Felder 
eintragen kann, und sind 
die entsprechenden Fel¬ 
der im oberen Teil der 
Gewinnkarte ebenfalls 
belegt, so kann er ihn im 
unteren Teil in ein be¬ 
liebiges Feld eintragen 
(Joker). 

Das Spiel gewinnt nicht 
unbedingt derjenige, der 
als erster alle Kästchen 
gefüllt hat, sondern wer 
die höchste Gesamtpunkt¬ 
zahl erreicht, also am 
geschicktesten kombiniert. 



Mit dem Hexer hat man 
ein sehr wirkungsvolles 
Mittel zur Zahlenumwand- 
fäng in der Hand (oder 
besser: im Computer). 

Es ist leicht zu bedienen 
und bietet die Möglichkeit 
zur Umrechnung von fast 
allen wichtigen Zahlen¬ 
systemen (sogar die etwas 
in Vergessenheit gerate¬ 
nen BCD-Zahlen wurden 
berücksichtigt). 

Nach Start des Programms 
erscheint zuerst das Titel¬ 
bild und schließlich das 
Wahlmenü. Hier kann man 
zwischen 6 Funktionen 
wählen, welche nach dem 
gleichen Schema ablau¬ 
fen: 

— (kurzes Warten) 

— Ausgabe der umgerech- 
n eten Zahl 

— Taste drücken 

Als wichtigstes wäre noch 
zu erwähnen, wie groß die 
einzugebenden Zahlen 
maximal sein dürfen: Bei 
Dezimalzahlen maximal 
268435455 (=2* 28=28 


Bits), bei Binär- und Überschreitungen werden 

Hexadezimalzahlen genau nicht angenommen, aber 
eine Bildschirmzeile. , auch Falscheingaben wer¬ 



den bemerkt. Gibt man 
eine negative Dezimalzahl 
ein, dann macht einen der 
Computer darauf aufmerk¬ 
sam und addiert den Wert 
65536, um das Komple¬ 
ment zu erhalten. 

Noch eine Bemerkung zu 
den BCD-Zahlen, die wohl 
nur wenige der Leser ken¬ 
nen werden: Zerlegt man 
eine Dezimal- oder Hex¬ 
dezimalzahl in einzelne 
Ziffern, übersetzt dann 
diese Ziffern in den Binär¬ 
code und fügt den Code 
wieder in Reihenfolge der 
Ziffern zusammen, so er¬ 
hält man die entsprechen¬ 
de BCD-Zahl (nimmt man 
als Ausgangsbasis eine 
Hexzahl, so erhält man 
natürlich als Endprodukt 
die dazugehörige Binärzahl, 
die dem BCD-Code ent¬ 
spricht). Deshalb müssen 
eingegebene BCD-Zahlen 
in ihrer Länge immer durch 
4 teilbar sein, da jeder 
Dezimalziffer 4 Binär¬ 
ziffern entspricht. 
















10 

i 

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

11 

i 

* 

YAHTZEE 

* 

12 

i 

* 

(Vers. 1 . 4 . ) 

* 

13 

i 

* 


* 

14 

i 

* 

Copyright by 

* 

15 

i 

* 


* 

16 

i 

* 

Roger Hueser 

* 

17 

i 

* 


* 

19 

i 

* 

Benoetigte Geraete 

* 

20 

i 

* 

TI99/4A Konsole 

* 

21 

i 

* 

Ext. Basic 

* 

22 

i 

* 

Joystick 1 

* 

23 

; 

* 

Cassettenrec. 

* 

24 

i 

♦(oder Disk+32K—Erw. 

)* 

25 

i 

* 


* 

26 

i 

* 

Speicherbelegung 

* 

27 

i 

* 

9212 Bytes 

* 

28 

i 

* 


* 

29 

i 

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

100 

GOTO 110 :: CALL PAUSE 


: CALL CHAR :: CALL CHARPAT 
:: CALL CHARSET :: CALL CLEA 
R :: CALL CÜLOR :: CALL HCHA 
R :: CALL INIT :: CALL JOYST 
:: CALL KEY :: CALL SOUND : 

: CALL VCHAR 

110 ON BREAK NEXT :: CALL CL 
EAR :: ON WARNING NEXT :: OP 
7ION BASE 1 s: CALL SCREEN<4 
):: RANDOMIZE 

120 DIM HI (5),HIT(5),SPIELER 
T(6),SPERR(6,3),KEN(5),ERGEB 
$(6,16,3),ZW(6,3),ER(6,3),W< 
6 ) 

130 GOTO 150 :: AT,BT,CT,DT, 
QT 

140 SPIEL,SPIELER,SUM,HILS,D 
G,SX,SY,YS,XS,I,C,K,S,R,M,H, 
P,U,Y,X,Q 
150 !@P- 
160 GOTO 230 

170 CALL HCHAR(1,H*3+14,122) 
ss CALL HCHAR(2,H*3+14,129)s 
s CALL HCHAR(1,H*3+15,130)s: 

CALL HCHAR(2,H*3+15,123)s s 
GOTO 490 

180 CALL HCHAR(1,H*3+14,124) 
ss CALL HCHAR(2,H*3+14,125)s 
s CALL HCHAR<1,H*3+15,126)ss 
CALL HCHAR(2,H*3+15,127):s 
GOTO 490 

190 CALL HCHAR(1,H*3+14,128) 
s: CALL HCHAR(2,H*3+14,129): 
: CALL HCHAR<1,H*3+15,130):: 

CALL HCHAR(2,H*3+15,131)s s 
GOTO 490 

200 CALL HCHAR(1,H*3+14,132) 
:: CALL HCHAR(2,H*3+14,133)s 
s CALL HCHAR(1,H*3+15,134):: 

CALL HCHAR(2,H*3+15,135):: 
GOTO 490 

210 CALL HCHAR(1,H*3+14,136) 
:: CALL HCHAR<2,H*3+l4,137): 


L 

I 

S 

T 

I 

N 

G 

S 


s CALL HCHAR<1,H*3+15,138)s: 

CALL HCHAR(2,H*3+15,139)s s 
GOTO 490 

220 CALL HCHAR(1,H*3+14,140) 
s: CALL HCHAR(2,H*3+14,141)s 
s CALL HCHAR<1,H*3+15,142)s: 

CALL HCHAR(2,H*3+15,143>ss 
GOTO 490 

230 CALL CHAR(122,RPT$("0",1 
5) St" 18" ) : s CALL CHAR (124, "00 
00303"&RPTT("0",50)&"C0C") 
240 CALL CHAR(128,"000030300 
000000101"&RPTT("0",28)&"808 
00000000C0C"):: CALL CHAR(13 
2,"0000303000000000000000003 
030000000000C0C0000000000000 
0000C0C") 

250 CALL CHAR(136,"000030300 
0000001010000003030000000000 
C0C00000080800000000C0C"):: 
CALL CHAR(140,"0000303000000 
030300000003030000000000C0C0 
000000C0C0000000C0C") 

260 FOR H=65 TO 87 :: CALL C 
HARPAT(H,AT):: CALL CHAR(H+3 
2,AT):: NEXT H : : CALL CHARP 
AT(32,AT,33,BT,63,CT,90,DT): 

: CALL CHAR(111,AT):: CALL C 
HAR(118,DT):: CALL CHAR(106, 
CT) 

270 CALL CHAR(98,BT):: CALL 
CHAR(120,"F7FBFD0000FDFBF7E7 
E7E7E766A5C3E7") : s DISPLAY A 
T(13,1)BEEP ERASE ALL:"WIEVI 
ELE MITSPIELER ?" 

280 ACCEPT AT(13,24)VALIDATE 
("123456")SIZE(l) : SPIELER 
290 FOR H=1 TO SPIELER :: DI 
SPLAY AT(10,1)BEEP ERASE ALL 
s"NAME DES ";STRT(H);". MITS 
PIELERS" :s ACCEPT AT(12,1)V 
ALIDATE(UALPHA)SIZE(11):SPIE 
LERT(H)s s NEXT H s: CALL CLE 
AR 

300 CALL CHAR(64,"000000F392 
F282F2"):s CALL CHAR(94,"008 
88888888888 EE"):= CALL CHAR( 
92,"0040E04644444465"):: CAL 
L CHAR < 36,"000000FFFF"> 

310 CALL CHAR(39,"E07038181S 
18181818181818183870E0070E1C 
181818181818181818181C0E07") 
:: CALL CHAR(58,"1818181F1F0 
00000000000FFFF181818181818F 
SF 8 " ) 

320 CALL CHAR(37,"1818181818 
181818"):: CALL CHAR(38,"181 
S18FFFF"):s CALL CHAR(35,"00 
00001"):: CALL CHAR(33,"0008 
0C7E7E0C08"):: CALL CHAR(34, 
"00020202F29292FB") 

330 FOR S=1 TO SPIELER :: FO 
R R-l TO 13 :: FOR M=1 TO 3 

4 






: : ERGEBE<S,R,M)="—" s: NEX 
TM:: NEXT R :: NEXT S :: F 
OR S=1 TO SPIELER :: FOR R=1 
4 TO 15 :: FOR M=1 TO 3 :: E 
RGEB$(S,R,M)=‘* 0“ : s NEXT M 
ss NEXT R :: NEXT S :: FOR S 
=1 TO SPIELER 

340 FOR M=1 TO 3 :: ERGEBE<S 
,16,M)=".-0" ZW(S,M),ER(S 
,M),SPERR<S,M>=0 :s NEXT M : 

: NEXT S :: FOR H=12 TO 14 : 
s CALL COLOR(H,16,2):: CALL 
COLOR(H-3,15,9):: NEXT H 
350 DISPLAY AT(5,16)ERASE AL 
L = "m""1.„M""2--M""3" :: CALL 
HCHAR(3,1,36,32):: CALL VCH 
AR(1,15,37,2):: CALL HCHAR(3 
,15,38) 

360 DISPLAY AT(7,1):" EINSER 
########":" ZWEIER########": 

" DREIER########":" VIERER## 
######•• ; •• FUENFER#######" : " 
SECHSER#######":" )GES.>62 
GES":" *BONUS 35(" 

370 DISPLAY AT (16,2) : "3<§PASC 
H##AUGEN":" 4@PASCH##AUGEN" : 

" FU Xv H0USE###25": " KLEINE S 
\###30":" GROSSE S\###40":" 
YAHTZEE#####50":" CHANCE###A 
UGEN": :" ENDSUMME" 

380 FOR SPIEL=1 TO 39 :: FOR 
S=1 TO SPIELER :: FOR H=1 T 
05:: KEN(H)=0 :: NEXT H :: 

IF SPIELER-1 AND SPIELM TH 
EN 450 ELSE DISPLAY AT<1,1>S 
IZE(12):SPIELERN(S) 

390 FOR F'=18 TO 30 : : CALL V 
CHAR(7,P,32,18):: NEXT P 
400 FOR P=1 TO 6 :: DISPLAY 
AT (P+6,16):"# " StERGEB^ (S, P, 1) 

& •• ### " VERGEBT < S , P , 2 ) & " ### " &E 
RGEB*<S,P,3):: NEXT P 
410 DISPLAY AT(13,16):"="&ER 
GEBT(S,14,1)&"###"VERGEBT(S, 
14,2)&"###"VERGEBT(S,14,3) 
420 DISPLA Y AT(14,17 >:ERGEBT 

(5.15.1) &"###"VERGEBT(S,15,2 
)&“###"VERGEBT(S,15,3) 

430 FOR H=7 TO 13 :: DISPLAY 
AT(H+9,16):"#"VERGEBT(S,H,1 
) & " ### " VERGEBT < S, H , 2 ) & " ### " & 
ERGEBT(S,H,3):: NEXT H 
440 DISPLAY AT<24,16):ERGEBT 

(5.16.1) &"- -"VERGEBT(S,16,2) 

."VERGEBT(S,16,3) 

450 CALL HCHAR(3,2,59):: CAL 
L VCHAR(4,2,37,2):: CALL HCH 
AR(6,2,58):: CALL HCHAR(6,3, 
36,14):: CALL HCHAR(3,17,59) 
ss CALL VCHAR(4,17,37,2) 

460 CALL HCHAR(6,17,60):: DG 
=0 ss DISPLAY AT(4,1)SIZE(14 
) : "wuer-felnjoaooo" ss DISPLA 


Y AT(5,1> BEEP SIZE(14):"drue 
ckeotasteb" 

470 CALL KEY (l,H,U)s: IF HO 
18 THEN 470 ELSE CALL PAUSE 
s: CALL HCHAR(3,2,36)s: CALL 
HCHAR(3,17,36)s: CALL HCHAR 
(4,2,32,16):: CALL HCHAR<5,2 
,32,16) 

480 CALL HCHAR(6,2,32,16): : 
FOR H=1 TO 5 :: IF KEN(H)=0 
THEN W < H)=INT(RND*6) +1 :: ON 
W(H)GOTO 170,180,190,200,21 
0,220 

490 NEXT H 

500 DG=DG+1 :: IF DG>2 THEN 
DG=0 :: GOTO 590 ELSE X=16 
510 H=3 :: CALL HCHAR(1,X,33 

) 

520 FOR F=1 TO 2+H :: CALL K 
EY(l,Q,U)s: IF 0=18 THEN KEN 
((X—13)/3> =0 :: CALL HCHAR(1 
,X,32,3):: CALL HCHAR(2,X,32 
,3):: X=X+3 ELSE 540 

530 CALL KEY(1,Q,U):: IF Q=1 
8 THEN 530 ELSE 570 
540 CALL JOYST(1,Q,U):: IF Q 
=4 THEN CALL HCHAR(1,X,32) : : 

: : KEN((X—13)/3)=1 :: X=X+3 
ELSE 560 

550 CALL JOYST (1,Q,U):: IF Q 
=4 THEN 550 ELSE 570 
560 NEXT P :: IF H=3 THEN H= 
0 s: CALL HCHAR(1,X,32):: GO 
TO 520 ELSE 510 
570 IF X<29 THEN 510 
580 IF 0=KEN(1)OR 0=KEN(2)OR 
0=KEN(3)OR 0=KEN(4)OR 0=KEN 
(5)THEN 480 ELSE DG=0 
590 CALL HCHAR(3,2,59):: CAL 
L VCHAR(4,2,37):: CALL HCHAR 
(5,2,58):: CALL HCHAR <5,3,36 
,13):: CALL HCHAR(3,16,59) : : 
CALL VCHAR(4,16,37) 

600 CALL HCHAR(5,16,60):: DI 
SPLAY AT(4,1)SIZE(13)BEEP:"s 

oeotovoeonob" 

610 Y=16 

620 H=6 :: CALL HCHAR(Y,3,12 
0) 

630 FOR P=1 TO 3+H :: CALL J 
OYST<1,Q,U):: IF U=0 THEN 69 
0 ELSE CALL HCHAR(Y,3,32):: 
Y=Y—U/4 

640 IF Y=13 THEN Y=16 

650 IF Y=15 THEN Y=12 

660 IF Y>22 THEN Y=7 

670 IF Y<7 THEN Y=22 

680 CALL JOYST(l,Q,U)s: IF U 

=0 THEN 620 ELSE 680 

690 CALL KEY(1,Q,U>:: IF ß<> 

18 THEN 710 ELSE CALL HCHAR( 

Y,3,120):: CALL PAUSE 

700 IF Y<13 THEN R=Y-6 s: GO 


L 

I 

S 

T 

I 

N 

G 

S 



TO 720 ELSE R=Y-9 := GOTO 72 
0 

710 NEXT P :: IF H>0 THEN H= 
0 :: CALL HCHAR(Y,3,32)ss GO 
TO 630 ELSE 620 
720 X=20 - 

730 H=6 :: CALL HCHAR<4,X,12 
1) 

740 FOR P=1 TO 3+H : r CALL K 
EY(0,Q,U):: IF 0=13 THEN CAL 
L HCHAR(4,X,32):: CALL HCHAR 
(Y,3,32):s GOTO 610 
750 CALL JOYSTd ,Q,U) s : IF Q 
=0 THEN 780 ELSE CALL HCHAR< 
4,X,32):: X=X+Q*5/4 :: CALL 
PAUSE 

760 IF X>30 THEN X=20 ELSE I 
F X<20 THEN X=30 
770 GOTO 730 

780 CALL KEY(1,0,U):: IF Q< > 
18 THEN 790 ELSE M=(X-15)/5 
:: CALL HCHAR(4,X,121):s CAL 
L PAUSE :: GOTO 800 
790 NEXT P :s IF H>0 THEN H= 
0 :: CALL HCHAR(4,X,32):: GO 
TO 740 ELSE 730 
800 IF ERGEBE(S,R,M)<>“—" T 
HEN CALL HCHAR(4,X,32):: CAL 
L HCHAR < Y, 3,32):: GOTO 610 
810 CALL HCHAR(3,2,36) : : CAL 
L HCHAR(3,16,36):: CALL HCHA 
R <4,2,32,15) : : CALL HCHAR ( 5, 
2,32,15) 

820 SUM=0 :: IF R>6 AND R<13 
THEN 860 ELSE IF R=13 THEN 
850 

830 FOR H=1 TO 5 :: IF W(H)= 

R THEN SUM=SUM+R 

840 NEXT H s: GOTO 880 

850 SUM=W(1)+W(2)+W(3)+W(4)+ 

W(5)::' GOTO 880 

860 FOR SX=1 TO 4 :: FOR SY= 

SX+1 TO 5 :: IF W(SX)>W(SY)T 

HEN C=W(SX)ss W(SX)=W(SY)s: 

W(SY)=C 

870 NEXT SY s: NEXT SX ss ON 
R—6 GOTO 1150,1170,1190,121 
0,1240,1260,32767 
880 IF SUM=0 THEN SX=131 :s 
U=2^<1/12)ELSE 900 
890 FOR P=ll TO 1 STEP -2 :: 

SY=SX*CT P :: FOR Q=23-P TO 
1 STEP -3 :: CALL SOUND(-100 
,SY,Q)ss NEXT Q r: NEXT P 
900 IF SUM=50 THEN SX=131 :: 

U=2'(1/12)ELSE 920 
910 FOR P=1 TO 10 STEP 2 s: 
SY=SX*U^P s s FOR Q=1 TO 20 S 
TEP 3 :: CALL SOUND(-100,SY, 
0) : : NEXT 0 :: NEXT P 
920 HILS=1 :: IF SUM>9 THEN 
ERGEBE(S,R,M)=STRT(SUM)ELSE 
ERGEBE <S,R,M)=" " ScSTRT ( SUM ) 


L 

I 

S 

T 

I 

N 

G 

S 


930 IF R<7 THEN DISPLAY AT(R 
+6,M*5+12)SIZE(2)sERGEBE(S,R 
,M)ELSE DISPLAY AT(R+9,M*5+1 
2)SIZE(2):ERGEBE(S,R,M):: GO 
TO 970 

940 ZW(S,M)=ZW(S,M)+SUM :s 7 
F ZW (S,M) >9 THEN ERGEBT (S,l<* 
,M)=STRT(ZW(S,M))ELSE ERGEBE 
(S,14,M)=" "&STRT (ZW(S,M) ) 
950 DISPLAY AT(13,M*5+12)SIZ 
E(2):ERGEBT(S,14,M) 

960 IF SPERR(S,M)=0 AND ZW(S 
,M)>62 THEN SPERR(S,M)=1 :: 
ERGEBT <S,15,M)="35" :: ER(S, 
M)=ER(S,M)+35 s: R=15 :: DIS 
PLAY AT(14,M*5+12> SIZE(2):ER 
GEBT(S,15,M> 

970 ER < S,M)=ER< S, M)+SUM :: E 
RGEBT(S,16,M)=STRT(ER(S, M) ) : 

: IF ER <S,M)<100 THEN ERGEBT 
(S, 16, M) =" "?<STRT (ER (S , M) ) 
980 IF ER <S,M)<10 THEN ERGEB 
T(S, 16,M) =" "StSTRT (ER (S, M) ) 
990 DISPLAY AT(24,M*5+11)BEE 
P SIZE(3):ERGEBT(S,16,M) 

1000 CALL HCHAR(3,2,59):: CA 
LL VCHAR(4,2,37,2):: CALL HC 
HAR(6,2,58):: CALL HCHAR(6,3 
,36,14):: CALL HCHAR(3,17,59 
):: CALL VCHAR(4,17,37,2) 
1010 CALL HCHAR(6,17,60):: D 
ISPLAY AT(4,1)SIZE(14):"weit 
erjooooooo" :: DISPLAY AT(5, 
1)SIZE(14):"drueckeotasteb" 
1020 CALL KEY(l,Q,U)s: IF Q< 
>18 THEN 1020 ELSE CALL PAUS 
E :: CALL HCHAR(3,2,36):: CA 
LL HCHAR(3,17,36):: CALL HCH 
AR(4,2,32,16) 

1030 CALL HCHAR(5,2,32,16)s: 

CALL HCHAR(6,2,32,16):s DIS 
PLAY AT(1,14):: DISPLAY AT(2 
,14):: CALL HCHAR(4,X,32):: 
CALL HCHAR(Y,3,32):: CALL PA 
USE :: NEXT S :: NEXT SPIEL 
1040 CALL CLEAR :: CALL CHAR 
SET 

1050 FOR S=1 TO SPIELER :: W 
(S)=ER(S,1)+2*ER(S,2)+3*ER(S 
,3):: NEXT S 

1060 FOR S=1 TO SPIELER—1 :: 

FOR P=S+1 TO SPIELER :: IF 
W(S)<W(P)THEN Q=W(S):: W(S)= 
W(P):: W(P)=Q :: QT=SPIELERT 
(S):: SPIELERT(S > =SPIELERT(P 
):: SPIELERT(P)=QT 
1070 NEXT P :: NEXT S 
1080 FOR S=1 TO SPIELER :: D 
ISPLAY AT(2*S,1):SPIELERT(S) 
:: DISPLAY AT(2*S,13):W(S);" 
PUNKTE" :: NEXT S :: XS=131 
:: K=2 A (l/12)s: FOR 1=1 TO 1 
0 STEP 2 :: YS=XS*K I 


H 


07 



1090 FÜR P=1 TO 5 ss NEXT P 
s s FOR Q=1 TO 20 STEP 4 s s C 
ALL SOUND<-100,YS,Q>ss NEXT 
Q s s NEXT I s s FOR P=1 TO 90 
0 :s NEXT P s s DISPLAY AT <23 
, DBEEPs "WEITER ?"s"DANN DRÜ 
ECKE TASTE !" 

1100 FOR P=1 TO 2000 ss CALL 
KEY <1,K,S)s s IF K=18 THEN 1 
120 

1110 NEXT P 

1120 CALL PAUSE ss DISPLAY A 
T< 23 , 1):"NOCH EIN SPIEL ? M s" 
DANN DRUECKE TASTE !" :s FOR 
F=1 TO 2000 s: CALL KEY <1,Q 
,U> 

1130 IF Q=18 THEN CALL CLEAR 
:: GOTO 230 ELSE CALL KEY <0 
,Q,U):: IF Q=78 OR Q=110 THE 
N F=2000 ELSE IF U< >0 THEN C 
ALL CLEAR :: GOTO 230 
1140 NEXT P :: CALL CLEAR :: 
END 

1150 IF W <1)=W(3)OR W <2)=W <4 
)OR W (3) =W(5)THEN SUM=W (1)+W 
(2) +W (3) +W (4) +W (5) 

1160 GOTO 880 

1170 IF W <1)=W(4)OR W(2)=W <5 
)THEN SUM=W(1)+W(2)+W(3)+W<4 
)+W(5) 

1180 GOTO 880 

1190 IF W <1)=W<2)AND W(4)=W< 
5) AND (W <3) =W (4) OR W <3) =W (2) > 
THEN SUM=25 
1200 GOTO 880 

1210 IF W<1)=W<5)THEN SUM=30 
:: GOTO 880 ELSE IF W<2)=W< 

3) OR W<3)=W(4)THEN C=W<3>:: 
W<3)=W(4)s: W(4)=W(5):: W(5) 
=C 

1220 IF W( 1)+1=W<2>AND W<2) + 
1=W(3)AND W(3)+1=W < 4)OR W<2) 
+ 1=W<3)AND W <3)+1=W<4)AND W< 

4) +1=W < 5)THEN SUM=30 
1230 GOTO 880 

1240 IF W < 1) +1=W(2)AND W<2) + 
1=W (3)AND W<3)+1=W<4)AND W<4 
>+l=W(5)0R W<1>=W(5)THEN SUM 
=40 

1250 GOTO 880 

1260 IF W <1)=W<5)THEN SUM=50 
1270 GOTO 880 
1280 !@P+ 

1290 SUB PAUSE 

1300 A=RND :: CALL KEY<1,K,S 
):: IF S< >0 THEN 1300 
1310 A=RND :: CALL JOYST<l,X 
,Y):: IF X<>0 OR Y<>0 THEN 1 
300 

1320 SUBEND 



10 rem******************** 

11 REM* DER HEX-er * 

12 REM* * 

13 REM* Copyright by * 

14 REM* * 

15 REM* Martin Bannert * 

16 REM* " * 

17 REM*Benoetiqte Geraete* 


18 REM* TI99/4A Konsole * 

19 REM* * 

23 REM* Speicherbelegung * 

24 REM* 3559 Bytes * 

25 REM******************** 

26 REM 


100 REM *******BCD—ZAHLEN MU 
ESSEN IN VIERERBLOECKEN EING 
EGEBEN WERDEN ******** 

110 CALL CLEAR 
120 DIM F$(15) 

130 RESTORE 

140 FOR 1=0 TO 15 

150 READ FT(I) 

160 NEXT I 

170 G$="0123456789ABCDEF" 

180 REM 

190 REM *TITELBILD* 

200 REM 

210 CALL CHAR(64,"FFFFFFFFFF 
FFFFFF") 

220 PRINT 


. 

.. . . DER HEX 

"-er..;TAB(25); 


<§@" 

230 PRINT &<ä@<ä(ä 


240 PRINT "...C BY BAXE PROG 
RAMS": 

250 FOR 1=1 TO 700 
260 NEXT I 
270 CALL CLEAR 
280 FOR 1=2 TO 8 
290 CALL COLOR(1,4,4) 

300 NEXT I 
310 REM 

320 REM *MENUE* 

330 REM 

340 PRINT « s.MENUE:"s-C 
13=DEZIMAL—BINAER":".-C23=BI 
NAER-DEZIMAL":"..C33=HEXADEZ 
IMAL-BCD":"..C43=BCD-HEXADEZ 
IMAL"s"- -C53=HEX—DEZ"s 
350 PRINT "..C63=DEZ-HEX": : 


360 PRINT IHRE EINGABE:" 
370 CALL HCHAR(12,2,64,26) 
380 CALL HCHAR(20,2,64,26) 
390 CALL VCHAR(12,2,64,9) 
400 CALL VCHAR(12,28,64,9) 
410 FOR 1=2 TO 8 
420 CALL COLOR(1,2,4) 

430 NEXT I 


oo 









440 CALL SCREEN < 4) 

450 RESTORE 

460 CALL KEY<3,X,Y) 

470 CALL SOUND(-9,-1,25) 

480 IF < X<49) + (X >54)THEN 460 
490 CALL CLEAR 

500 ON X—48 GOTO 540,760,900 

,1050,1220,1360 

510 END 

520 REM *DEZ—BIN* 

530 REM 

540 INFUT "DIE DEZ IMALZAHL:" 

: DZ 

550 IF DZOINT (DZ) THEN 540 
560 IF DZ>268435455 THEN 540 
570 IF DZ>=0 THEN 610 
580 PRINT : :"DA.IHRE ZAHL N 

EGATIV IST,_HABE ICH DEN W 

ERT 65536.DAZUADDIERT,UM 

DAS KOMPLE-..MENT ZU ERHALT 
EN. " 

590 DZ=DZ+65536 
600 GOTO 570 
610 Z=1 
620 B*="" 

630 FOR C=27 TO 0 STEP -1 
640 Z=2--C 

650 IF DZ<Z THEN 690 
660 B$=B$&"1" 

670 DZ=DZ—Z 
680 GOTO 700 
690 B$=B$&"0" 

700 NEXT C 

710 PRINT s s"UND HIER IST D 
IE BINAERZAHL:": :B* 

720 GOTO 1550 
730 REM 

740 REM *BIN-DEZ* 

750 REM 

760 INPUT "DIE BINAERZAHLs.. 


." : B$ 

770 IF LEN(B^)>28 THEN 760 

780 DZ=0 

790 Z=LEN<B$> 

800 FOR C=0 TO Z-l 
810 X$=SEG*<B*,Z-C,1) 

820 IF <X$="0")+(X$="1")THEN 
830 ELSE 1610 
830 DZ=DZ-<X$="1")*2'C 
840 NEXT C 

850 PRINT : s"UND HIER DIE D 
EZIMALZAHL:": :DZ: : 

860 GOTO 1550 
870 REM 

880 REM *HEX-BCD* 

890 REM 

900 INPUT "DIE HEX-ZAHL:.... 


.": HT 

910 IF LEN(H^)>28 THEN 900 
920 PRINT : :"UND HIER DIE B 

CD-ZAHL:": : 


L 

I 

S 

T 

I 

N 

G 

S 


930 FOR C=1 TG LEN(H*> 

940 X*=SEG*<H*,C,1) 

950 X=POS <G$,XT,1) 

960 IF X=0 THEN 1610 
970 PRINT FT(X-l);" "; 

980 NEXT C 
990 GOTO 1550 

1000 DATA 0000,0001,0010,001 
1 , 0100 , 0101 , 0110 , 0111,1000 
1010 DATA 1001,1010,1011,110 
0 , 1101 , 1110,1111 
1020 REM 

1030 REM *BCD—HEX* 

1040 REM 

1050 INPUT "IHRE BCD—ZAHL(OH 
NE ZWISCHEN-ABSTAENDE):. 


.":BCL 

1060 H$="" 

1070 X=LEN(BCT) 

1080 IF X/40INT (X/4) THEN 10 
50 

1090 FOR 1=1 TO X STEP 4 
1100 X$=SEG$ ( BC$,1,4) 

1110 FOR J=0 TO 15 

1120 IF F*(J)=X$ THEN 1150 

1130 NEXT J 

1140 GOTO 1610 

1150 H*=H$&SEG$<G$,J+1,1) 

1160 NEXT I 

1170 PRINT : :"UND HIER DIE 
HEX-ZAHL:": :H$ 

1180 GOTO 1550 
1190 REM 

1200 REM *HEX—DEZ* 

1210 REM 

1220 INPUT "DIE HEX-ZAHL:-.. 


.": H$ 

1230 Z=LEN<H*> 

1240 DZ=0 

1250 FOR 1=1 TO Z 

1260 X*=SEG*<H*,I,1> 

1270 X=POS<G*,X$,l> 

1280 IF X=0 THEN 1610 
1290 DZ=DZ+(X-1>*2"<<Z-I)*4) 
1300 NEXT I 

1310 PRINT : :"UND HIER DIE 
DEZIMALZAHL:": :DZ 

1320 GOTO 1550 
1330 REM 

1340 REM *DEZ—HEX* 

1350 REM 

1360 INPUT "IHRE DEZIMALZAHL 


." : DZ 

1370 IF DZ>268435455 THEN 13 
60 

1380 IF DZOINT (DZ) THEN 1360 
1390 IF DZ >=0 THEN 1430 
1400 PRINT : :"DA IHRE ZAHL 

NEGATIV IST,_HABE ICH DEN 

WERT 65536.DAZUADDIERT,U 91 


oo 


















M DAS KOMPLE-..MENT ZU ERHAL 
TEN- “ 

1410 DZ=DZ+65536 
1420 GOTO 1390 
1430 H$= ,,M 

1440 FOR 1=24 TO 0 STEP -4 

1450 Z=2'I 

1460 X=INT <DZ/Z) 

1470 H^=H^&SEG$(GT,X+l,1) 
1480 DZ=DZ-X*Z 
1490 NEXT I 

1500 PRINT : :"HIER DIE HEX¬ 
ZAHL: "s :HT 
1510 GOTO 1550 
1520 REM 

1530 REM *WARTESCHLEIFE* 

1540 REM 

1550 PRINT : :"TASTE—>ZURUE 
CK" 

1560 CALL KEY(3,X,Y) 

1570 IF Y=0 THEN 1560 ELSE 2 
70 

1580 REM 

1590 REM *ERROR* 


SCHULHAUS 


Ein Schüler hat irgendwo 
im Schulhaus seinen 
Schulranzen verloren und 
Sie müssen diesen nun 
wiederfinden. 

Während Sie durch das 
Gebäude gehen, treffen 
Sie andere Schüler, Lehrer 
und Hausmeister, die 
Ihnen wertvolle Tips ge¬ 
ben können, allerdings 
manchmal etwas empfind¬ 
lich reagieren oder nichts 
sagen wollen. Fenier 
liegen mehrere Gegenstän¬ 
de verstreut, die man mit¬ 
nehmen kann. Es ist je¬ 
doch nicht möglich, mehr 
als vier Gegenstände 
gleichzeitig mit sich zu 
tragen. Besonders wichtig 
ist es, einen Dietrich bei 
sich zu haben, da man 
ohne ihn den Ranzen 
nicht finden kann. Wenn 


tion)-Substantiv. Die Wör¬ 
ter, die der Computer ver¬ 
steht, sind in den Pro¬ 
grammzeilen 370 bis 400 
zu finden. 

Das Programm war an¬ 
fänglich so lang, daß es 
die Speicherkapazität 
überschritt. Daher habe 
ich die Zeichendefinierung 
ausgelagert. Diese bildet 
nun ein Vorprogramm, 
von dem aus das Haupt¬ 
programm nachgeladen 
wird. Deshalb muß beim 
Ausprobieren des Vor¬ 
programmes in Zeile 300 
der Befehl “RUN CS1“ 
weggelassen werden. Vor 
dem Abspeichern muß 
er aber unbedingt wieder 
hinzugefügt werden, da 
sonst das Hauptpro¬ 
gramm nicht mehr nach¬ 
geladen werden kann. 



Wohlfahrts¬ 

briefmarken 


Hilfe, die ihr Ziel erreicht. 

Erhältlich Dis Ende Marz bei der Post, ganzjährig bei den Wohlfahrtsverbanden. 


1600 REM 

1610 CALL SOUND(100,-7,0) 
1620 PRINT : :"*ERROR*": :"F 
EHLERHAFTE EINGABE !!": : 

1630 GOTO 1550 


Sie innerhalb des Zeit¬ 
limits den Ranzen finden 
und an den Ausgangspunkt 
zurückkehren, haben Sie 
die Aufgabe gelöst. 

Wenn nicht, können Sie 
die Suche noch einmal 
von vom beginnen. 

Sie steuern den Schüler 
durch Zwei- und Drei- 
Wort-Befehle mit dem 
Aufbau Verb-(Präposi- 


Textadventure 


Wird das Hauptprogramm 
nicht vom Vorprogramm, 
sondern manuell durch 
Eingabe des Befehls 
“RUN“ gestartet, wird an¬ 
statt der Grafik ein Durch- 















KOMMT REGELMÄSSIG 


IHNEN 

INS 

HAUS 


Finden Sie Ihre TI-REVUE nicht am Kiosk? 
Weil sie schon ausverkauft ist? Oder „Ihr" Kiosk 
nicht beliefert wurde? Kein Problem! Für ganze 
60 - DM liefern wir per Post 12 Hefte ins Haus 
(Ausland 80 - DM). Einfach den Bestellschein 
auf der nächsten Seite ausschneiden - fotoko¬ 
pieren oder abschreiben, in einen Briefumschlag 
und ab per Post (Achtung: Porto nicht vergessen). 
MSX-REVUE kommt dann pünktlich ins Haus. 


WICHTIGE RECHTLICHE 
GARANTIE! 

Sie können diesen Abo-Auftrag 
binnen einer Woche nach Eingang 
der Abo-Bestätigung durch den 


Verlag widerrufen - Postkarte ge¬ 
nügt. Ansonsten läuft dieser Auf¬ 
trag jeweils für zwölf Ausgaben, 
wenn ihm nicht vier Wochen vor 
Ablauf widersprochen wird, weiter. 


special Assembler specia 


TI 99/4A 

SPECIAL 


Uber 90 Seiten 
Alles über 
Assembler für 
den TI 99/4A 


MACHEN SIE MEHR AUS 
IHREM TI MIT ASSEMBLER 


IM 

BAHNHOFSBUCHHANDEL 
ODER BEIM VERLAG! 














Die große Börse für jeden Zweck in der TI REVUE. Kostenlos für Privat-Inserenten. Sportbillig für gewerbliche Anbieter. Einfach 
CouDon ausschneiden fotokopieren o.ä., ausfüllen und ab die Post - Freimachen nicht vergessen! - Unsere Adresse steht auf dem 
CouDon ebenso der Preis für gewerbliche Anbieter! Achtung! Wir weisen ausdrücklich darauf hin, daß wir offensichtlich gewerb¬ 
liche Anzeigen nicht kostenlos veröffentlichen und uns jedweden Abdruck kostenloser Anzeigen Vorbehalten müssen, insbesondere, 
wenn' deren Ä nicht Tl-typisch ist oder gegen geltendes Recht verstößt. Private Chiffreanzeigen werden nicht angenommen. 
Für Privatanbieter: maximal acht Zeilen ä 28 Anschläge. Für gewerbliche Anbieter: 5 DM p. mm. 



Name _ 

Vorname 


Straße/Hausnr. 



Ja, ich möchte von Ihrem Angebot Gebrauch machen. 

Bitte senden Sie mir bis auf Widerruf ab sofort jeweils die nächsten zwölf 
Ausgaben an untenstehende Anschrift. Sollte ich nicht vier Wochen vor 
Ablauf schriftlich kündigen, läuft diese Abmachung automatisch weiter. 

Name--- 

Vorname---- 

Straße/Hausnr.-- 

PLZ/Ort____ 


COUPON 


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


TI REVUE 

Abo-Service 6/86 
Postfach 1107 

8044 UNTERSCHLEISSHEIM 


Ich bezahle: 

□ per beiliegendem Verrechnungsscheck 

□ gegen Rechnung 

□ bargeldlos per Bankeinzug von meinem Konto 

bei (Bank) und Ort--- 

Kontonummer-—- 

Bankleitzahl ---- 

(steht auf jedem Kontoauszug) 

Unterschrift-—— -- 

Von meinem Widerspruchsrecht habe ich Kenntnis genommen. 
Unterschrift 




PROGRAM MSERVICE 

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

□ Diskette zum Preis von (25,— DM) 

□ Kassette zum Preis von (10,— DM) 

Ich zahle: 

Bar — per beigefügtem Geld ( ) 

per beigefügtem Scheck ( ) 

Gegen Bankabbuchung am Versandtag ( ) 

Zutreffendes bitte ankreuzen! 

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. 

TI-REVUE 

KASSETTENSERVICE 6/86 
Postfach 1107 
8044 Unterschleißheim 

--->f--- 


Verkaufsbedingungen: Versand nur gegen Vorauskasse oder Bankabbuchung. 
Umtauschrecht bei Nichtfunktionieren. Keine Nachnahme. 



Hiermit bestelle ich in Kenntnis Ihrer Verkaufsbedingungen 

1 Exemplar TI SPECIAL (Nr. 4) 14,80 .Exemplar(e) TI ASSEMBLER SPECIAL 13,80 

Zutreffendes bitte ankreuzen! 

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 . 

Verkaufsbedingungen: Versand nur gegen Vorkasse oder Bankabbuchung. Keine Nachnahme! 


Unterschrift .. 

Bitte ausschneiden und einsenden an 

TI-REVUE 

Special-Service 6/86 

Postfach 1107 

8044 Unterschleißheim 


33 





















VERDIENEN SIE GELD 
MIT IHREM COMPUTER! 


Haben Sie einen TI 99/A? Können Sie pro¬ 
grammieren? In Basic oder Maschinensprache? Dann 
bietet TI - REVUE Ihnen die Möglichkeit, damit 
Geld zu verdienen. 

Wie? Ganz einfach. Sie senden uns die Programme, 
die Sie für einen Abdruck als geeignet halten, zusam¬ 
men mit einer Kurzbeschreibung, aus der auch die 
verwendete Hardware - eventuelle Erweiterungen - 
benutzte Peripherie - hervorgehen muß (Schauen Sie 
sich dazu den Kopf unserer Programmlistings an.) 

Benötigt werden: Zwei Listings des Programms 
sowie eine Datenkassette oder Diskette! Wenn die 
Redaktion sich überzeugt hat, daß dieses Programm 
läuft und sich zum Abdruck eignet, zahlen wir Ihnen 
pro Programm je nach Umfang bis zu DM 300,-! 


Sollten Sie keinen Drucker haben, genügt der Daten¬ 
träger. : 

Sie erhalten Ihre Kassette/Diskette selbstverständ¬ 
lich zurück, wenn Sie einen ausreichend frankierten 
Rückumschlag mit Ihrer Adresse beifügen. 

Bei der Einsendung müssen Sie mit Ihrer Unterschrift 
garantieren, daß Sie der alleinige Inhaber der Urheber- 
Rechte sind! Benutzen Sie bitte anhängendes Formu¬ 
lar! (Wir weisen darauf hin, daß auch die Redaktion 
amerikanische und englische Fachzeitschriften liest 
und „umgestaltete" Programme ziemlich schnell er¬ 
kennt). 

Um Ihnen die Arbeit zu erleichtern, finden Sie hier 
ein Formular. Sie können es ausschneiden oder foto¬ 
kopieren. 


PROGRAMM ANGEBOT 


Name des Einsenders: _ 

Straße/Hausnr./Tel.: _ 

Plz/Ort: _ 

Hiermit biete ich Ihnen zum Abdruck folgende(s) Programm(e) an: 


Benötigte Geräte: 


Beigefügt ( ) Listings ( ) Kassette ( ) Diskette «• 

Ich versichere, der alleinige Urheber des Programmes zu sein! 

Hiermit ermächtige ich die Redaktion, dieses Programm abzudrucken und wirtschaftlich zu verwerten. Sollte es 
in den KassettenrService.aufgenommen werden, erhalte ich auch dafür eine entsprechende Vergütung, das Copy¬ 
right geht auf den Verlag über. 


Rechtsverbindliche Unterschrift 


TI-REVUE 
Postfach 1107 
8044 Lohhof 


10 

i 

• 

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

11 

• 

* 

SCHULHAUS1 

* 

12 

i 

* 

(Teil 1) 

* 

13 

t 

• 

* 


* 

14 

i 

* 

Copyright by 

* 

19 

i 

• 

* 


* 

16 

i 

• 

* 

Christoph Heuer 

* 

17 

i 

* 


* 

19 

i 

• 

* 

Benoetigte Geraete 

* 

20 

i 

* 

TI99/4A Konsole 

* 

21 

i 

* 

Ext- Basic 

* 

22 

i 

• 

* 

Cassettenrec- 

* 

23 

i 

*(oder Disk+32K—Erw. 

) * 

24 

i 

* 


* 

26 

i 

• 

* 

Speicherbelegung 

* 

27 

i 

* 

2602 Bytes 

* 

28 

i 

• 

* 


* 

29 

; 

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


100 CALL CHAR(132,"00FF"):: 
CALL CLEAR :: CALL SCREEN(11 
):- DISPLAY AT(4,6):"S C H U 

L H A ü S":" . DDDDDDDDDD 

DDDDDDD" 

110 DISPLAY AT(7,9):"VON C.H 
EUER" :: DISPLAY AT(10,9):"V 
ORPROGRAMM" 

120 FOR 1=1 TO 14 s: READ L, 
T1,T2,T3 :: CALL SOUND(L,TI, 

1,T2,1,T3,1):: NEXT I 
130 DATA 325,523,392,330,275 
,392,330,262,400,392,330,262 
,400,523,392,330,325,440,349 
,262 

140 DATA 275,440,349,262,600 
,440,349,262,325,494,392,294 
,275,523,392,294,400,587,494 
,392 

150 DATA 400,494,392,294,275 
,523,392,330,310,659,523,392 
,800,523,392,330 
160 DATA 40,C0300C03,41,0000 
0000C0300C03,42,0,43,55AA55A 
A55AA55AA,132,00FF,45,000000 
00FFAA55AA,134,1010101010101 
01,47,0808080808080808 
170 DATA 135,818181818181818 
1,136,00000000C0B88781,137,0 
0000000031DE181,138,3F202020 
2020202,57,F808080808080808, 
139,202020202020202 
180 DATA 140,080808080808080 
8,141,81C161B159AD57AB,142,2 
0202020FFAA55AA,143,08080808 
FFAA55AA,58,0102050A152A55AA 
,59,8182858A95AAD5AA 
190 DATA 88,80C060B058AC56AB 
,60,C03F10101010101,61,03FC0 
80808080808,62,101010101F2A5 
5AA,63,08080808F8AC56AB,81,0 
000303000303 

200 DATA 89,00FF000000FF8181 
, 133 , 00FF0000000F0808,91,00F 
F000000F0101,92,8181FF818181 


8181,93,08080F0808080808,94, 
1010F0101010101 
210 DATA 95,8181818181FF,96, 
08080808080F,97,1010101010F, 
98,00000000030C30C,99,030C30 
C,100,00302C2424242424,101,2 
526252A352A55AA 
220 DATA 102,000C34242424242 
4,103,A4E464B45CAC56AB,104,F 
F808382828282FF,105,FF01C141 
414141FF,106,704C45454545454 
5,107,0000C03017141414 
230 DATA 108,C03F101010D0505 
,109,45457D4545454545,110,14 
14F71414141414,111,5050D0505 
050505,112,4545454545454545, 
113,1414141414141415 
240 DATA 114,505050505050901 
,115,4545454545454544,116,16 
141020408,117,4850604,118,03 
FC0808080B0A0A,119,0000030CE 
8282828,128,000F30C 
250 DATA 120,0E32A2A2A2A2A2A 
2,121,0A0A0B0A0A0A0A0A,122,2 
828EF2828282828,123,A2A2BEA2 
A2A2A2A2,124,0A0A0A0A0A0A090 
8,125,28282828282828A8 
260 DATA 126,A2A2A2A2A2A2A2A 
2,129,682808040201,130,A2A2A 
2A2A2A2A222,131,120A0602,44, 
0102050AF5AA55AA,127,00F00C0 
3,56,80C060B05FAA55AA 
270 DATA 48,0000000205020502 
,49,050201,50,000000A050A050 
A,51,50A04,37,1F3F373737,38, 
FCFEF6F6F6,39,37373737370707 
07,46,F6F6F6F6F6F0707 
280 DATA 52,0707070707070707 
,53,7070707070707070 
290 FOR 1=1 TO 81 :s READ CH 
,CH$ s: CALL CHAR(CH,CH$):: 
NEXT I 

300 CALL CLEAR ss CALL CHAR( 
86,"0044442810101010")s: RUN 
"CSl" 


Achtung! Beim Ein tip¬ 
pen des Programms ist zu 
beachten, daß die unter¬ 
strichenen Zeichen der 
folgenden Programmzei¬ 
len zusammen mit der 
CTRL-Taste einzugeben 
sind: 

Teil 1: Zeile 100 
Teil 2: Zeilen 110 und 
1100-1190 


L 

I 

S 

T 

I 

N 

G 

S 







10 

; 

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

11 

; 

* 

SCHULHAUS2 

* 

12 


* 

<Tei1 2) 

* 

13 

i 

* 


* 

14 

i 

* 

Copyright by 

* 

15 

i 

* 


* 

16 

i 

* 

Christoph Heuer 

* 

17 

i 

* 


* 

19 

f 

* 

Benoetigte Geraete 

* 

20 

i 

* 

TI99/4A Konsole 

* 

21 

i 

* 

Ext. Basic 

* 

22 

i 

* 

Cassettenrec - 

* 

23 

| 

*(oder Disk+32K—Erw- 

)* 

24 

; 

* 


* 

26 

; 

* 

Speicherbelegung 

* 

27 

i 

* 

11372 Bytes 

* 

28 

i 

* 


* 

29 

i 

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


100 OFTION BASE 1 

110 CALL CLEAR :: CALL SCREE 

N (11):: DISPLAY AT(6,6):"S C 

H ü L H A U S":" . DDDDDD 

DDDDDDDDDDD ":"" : " " : "-BITTE 

HABEN SIE GEDULD" 

120 DIM G<7,4),P(7,4),GT<8), 
R(6),N*<6>,N<6),B*<3),X*<3), 
CC*(7>,Q*<9),K$<8),CA(7),CB< 
7) ,M*<2> 

130 M*(1>="DER JUNGE" :: M$( 

2) ="DAS MAEDCHEN" :: FÜR 1=1 
TO 9 :: READ Q*(I):: NEXT I 
: : FÜR 1=1 TO 8 s: READ K*< 

I):: NEXT I ss FÜR 1=4 TO 7 
140 READ CC*(I>:: NEXT I :: 
FÜR 1=1 TO 7 :: READ CA(I),C 
B(I) :: NEXT I :: CC*<1)=CC*< 
4)s: CC$(2)=CC$(5)s: CCT<3)= 
CC$(6>:: B=8 :s N<5),N<6)=4 
130 G$<8>="KEINE" ss P$=“KEI 
NE" ss B*<1),X*<1)="ERDGESCH 
OSS" ss (2 )="ERSTEN STOCK" 
ss X$(2)="ERSTER STOCK" ss 
B$(3)="ZWEITEN STOCK" ss X*< 

3) ="ZWEITER STOCK" 

160 DATA FUENFTE,SECHSTE,SIE 
BTE,ACHTE,NEUNTE,ZEHNTE,ELFT 
E,ZWOELFTE,DREIZEHNTE 
170 DATA 08083828383838,3C24 
3C243C3C3C,02FE82FE,7E427E,0 
2FDA28, 1 F387C7C7C38,3828FEBA 
FEFE,0 

180 DATA 00000304080A0808020 
1 0000000000000000E0100828080 
820C,00000000080A08000300000 
0000000000000000008280800E 
190 DATA 0000030100020000030 
00000000000000000E0C00020000 
0E,000 1 0304080A08082A 1100000 
000000000C0E010082808082AC4 
200 DATA 2,13,2,2,6,6,2,13,2 
,2,6,6,2,8 

210 DATA LEHRERZIMMER,2253,L 
EHRERZIMMER, 5244, REKTOR GVMN 


L 

I 

S 

T 

I 

N 

G 

S 


ASIUM,4244,SEKRETARIAT,4214, 
TREFFE,1215,REKTOR FOERDERST 
UFE,1244,SEKRETARIAT 
220 DATA 4214,TOILETTE,1144, 
TOILETTE,4111,ELTERNSPRECHZI 
MMER,2341,FLUR,4455,FLHR,545 
4,FLUR,5454,FLUR,5555,FLUR,5 
454,FLUR,5454 

230 DATA FLUR,5445,MUSIKRAUM 
,4124,AUFENTHALTSRAUM,2141,F 
LUR,4515,SEKRETÄRIAT,1444,RE 
KTOR HAUPTSCHULE,4412,EINGAN 
G,1516 

240 DATA REKTOR GESAMTSCHULE 
,1442,SEKRETARIAT,4411,FLUR, 

1545,MUSIKRAUM,4423,HAUSMEIS 
TER,2141,FLUR,4545,REKTOR RE 
ALSCHULE,4421 

250 DATA SCHULHOF,2255,SCHUL 
HOF,5655,SCHULHOF,5225,MUSIK 
SAMMLUNG,2131,FLUR,3535,MUSI 
KRAUM,3321,TREPPE,2151,FLUR, 
5555,EINGANG 

260 DATA 5161,SCHULHOF,6555, 
SCHULHOF,5555,SCHULHOF,5565, 

EINGANG,6151,FLUR,5555,TREPP 
E,5121,1.,2131,FLUR,3545,1., 
4121,SCHULHOF 

270 DATA 2552,SCHULHOF,5556, 
SCHULHOF,5522,2.,2131,FLUR,3 
535,LEERER RAUM,3121,1.,2141 
,FLUR,4535,1-,3111,1-,1213,E 
INGANG,1615 

280 DATA 2-,1214,2.,1131,FLU 
R,3545,2-,4121,TOILETTE,1144 
,FLUR,4554,FLUR,5153,FLUR,53 
54,FLUR,5555,FLUR,5453,FLUR, 
5154 

290 DATA FLUR,5534,2.,3121,T 
OILETTE,1411,1-,1412,1.,1312 
,1.,1412,TREPPE,1512,2.,1312 
,2.,1412,TOILETTE,1441,TOILE 
TTE,4111 

300 DATA LEERER RAUM,2133,4. 
,3214,4.,1214,4.,1213,TREPPE 
,1215,4.,1214,4.,1213,TOILET 
TE,1144,TOILETTE,4111 
310 DATA 3.,2341,FLUR,4455,F 
LUR,5451,FLUR,5354,FLUR,5553 
,FLUR,5453,FLUR,5351,FLUR,54 
35 4- 4121 

320 DATA 3.,2141,FLUR,4535,5 

.,3111,5.,1412,KAKAOSTAND,13 

12.5.. 1312.5..1141,FLUR,4535 
,4.,3121 

330 DATA LEERER RAUM,2141,FL 
UR,4545,5.,4121,,0,,0,,0,5., 
2131,FLUR,3545,4-,4121 
340 DATA TREPPE,2151,FLUR,55 

35.5.. 3121..0..0..0.5-,2141, 
FLUR,4555,TREPPE,5121 

350 DATA 6.,2141,FLUR,4535,5 
..3121,,0,,0,,0,3-,2141,FLUR 





,4545,3-,4121 

360 DATA 6.,2131,FLUR,3545,5 
.,4111,4.,1213,4.,1214,4-,12 

14.4.. 1131,FLUR,3545,3.,4121 
370 DATA TOILETTE,1144,FLUR, 
4554,FLUR,5153,FLUR,5354,FLU 
R,5455,FLUR,5454,FLUR,5154,F 
LUR,5544,3.,4121 

380 DATA TOILETTE,1411,6.,14 ' 

12 . 6 .. 1312,LEERER RAUM,1412, 
TREPPE,1512,3.,1412,3.,1412, 
TOILETTE,1441,TOILETTE,4111 
390 DATA LEERER RAUM,2244,6. 
,4214,6.,1213,6.,1214,TREPPE 
,1215,7.,1214,7.,1213,7.,123 
3,LEERER RAUM,3223,BIOLOGIER 
AUM,2431 

400 DATA FLUR,3455,FLUR,5351 
,FLUR,5454,FLUR,5554,FLUR,54 
53,FLUR,5351,FLUR,5345,8.,43 
21 ,BIOLOGIERAUM,2141,FLUR,45 

35 

410 DATA FHVS IKSAMMLUNG ,3144 
420 DATA FHVSIKRAUM,4412,FIL 
MSAAL,1412,7.,1312,7.,1141,F 
LUR,4535,8.,3121,BIOLOGIERAU 
M,2141,FLUR,4545,PHVSIKRAUM, 
4421 

430 DATA , 0 ,, 0 ,, 0 , 8 . ,2131 , FL 
UR,3535,8.,3121,TREPPE,2151, 
FLUR,5545,LEERER RAUM,4121,, 
0, ,0,,0,8.,2141,FLUR,4555 
440 DATA TREF'PE ,5121 , CHEMI ER 
AUM,2144,FLUR,4545,PHVSIKRAU 

M, 4124,,0,,0,,0,KUNSTRAUM,21 
44,FLUR,4545,8.,4121,CHEMIES 
AMMLUNG,2434 

450 DATA FLUR,3535,PHVSIKSAM 
MLUNG,3431,PHVSIKRAUM,3213,F 
ILMSAAL,1214,KUNSTRAUM,1214, 
KUNSTRAUM,1441,FLUR,4535,9. , 
3121 

460 DATA CHEMIERAUM,2444,FLU 
R,4553,FLUR,5154,FLUR,5353,F 
LUR,5455,FLUR,5453,FLUR,5154 
,FLUR,5544,9.,4121,CHEMIESAM 
MLUNG,2442 

470 DATA CHEMIERAUM,4312,9., 

1412.9.. 1312,TREPPE,1512,9., 

1312.9.. 1412,TOILETTE,1441,T 
OILETTE,4111 

480 DATA ZIGARETTEN,COLABUEC 
HSE,STUECK KUCHEN,PAUSENBROT 
,DIETRICH,SPORTBEUTEL,SCHULR 
ANZEN 

490 DATA WAND,FENSTER,GESCHL 
OSSENE TUER,OFFENE TUER,DURC 
HGANG,EINGANG 

500 DATA JUNGE,LEHRER,HAUSME 
ISTER,JUNGE,LEHRER,HAUSMEIST 
ER,MAEDCHEN 

510 DATA WESTEN,WEST,W,NORDE 

N, NORD,N,OSTEN,OST,O,SUEDEN, 


L 

I 

S 

T 

I 

N 

G 

S 


SUED,S,OBEN,RAUF,R,UNTEN,RUN 
TER,U 

520 DATA GEHE,GEH,NIMM,GREIF 
E,VERLIERE,GIB,FRAGE,BEFRAGE 
530 FOR 1=1 TO 7 :s FÜR J=1 
TO 4 :: RANDOMIZE :: A=INT(R 
ND*3>+1 

540 RANDOMIZE :: G(I,J)=INT< 

RND*81)+1 ss FOR L=30 TO 50 
STEP 9 :: IF L<G(I,J)AND G<I 
,JXL+4 THEN 540 
550 NEXT L s: G<I,J)=G(I,J)+ 

A*100 :: IF 1=7 AND J=1 THEN 
0=G(I,J):: ON A GOSUB 780,7 
90,800 ELSE 580 
560 FOR L=1 TO 4 :: IF VAL(S 
EGT(STRT(W),L,1))>3 THEN 540 
570 NEXT L 

580 RANDOMIZE :: A=INT(RND*3 
)+1 :: RANDOMIZE :: P<I,J)=I 
NT (RND*81)+1+A*100 
590 IF P(I,J)=141 THEN 580 
600 NEXT J :: NEXT I :: R<1> 

=-l :: R(2)=—9 :: R(3)=l :: 
r (4)=9 :: R(5)=100 :: R< 6 >=- 
100 i: G(6,2),G( 6 ,ö),G<6,4), 

G<7,2),G<7,3),G<7,4)=0 
610 0=141 :: RESTORE 480 :: 

FOR 1=1 TO 7 :: READ GT(I) : 

: NEXT I :: FOR 1=1 TO 6 :: R 
EAD NT(I):: NEXT I 
620 B =8 :: ON INT<0/100)GOSU 
B 780,790,800 ss IF SEGTCOT, 

LEN(OT),1)="." THEN OT=QT(VA 
L (SEGT(OT,1,1)))KLASSE" 

630 PT="KEINE" :: FOR 1=1 TO 
7 s: FOR J=1 TO 4 :: IF G(I 
, J)=0 THEN B=I 

640 IF P <I,J)=0 THEN GOSUB 8 
10 

650 NEXT J :: NEXT I :: CALL 
CLEAR ss CALL DELSPRITE(ALL 
>:: FOR 1=1 TO 4 ss N(I)=VAL 
(SEGT(STRT(W) ,I , 1) ) = = NEXT I 
:: GOSUB 1090 s: GOSUB 1480 
660 GOSUB 1500 s s DISPLAY AT 
(8,1)5 XT<INT(0/100)):OTs"NOR 
DENQ "5 NT(N(2)):"SUEDENQ";NT( 

N(4))s"OSTENQ ";NT(N(3))s"WE 
STENQ";NT(N(1)) 

670 DISPLAY AT<14,1)s"GEGENS 
TAENDEQ";GT(B)s"PERSONENQ-. . 

.";PT ss FOR 1=1 TO 7 ss FOR 
J=1 TO 4 ss IF G <I,J)=400 T 
HEN Z=Z+1 ss DISPLAY AT(Z,12 
):GT(I) 

680 NEXT J :s NEXT I :: Z=0 
.. IF 0=141 AND G(7,1)=400 T 
HEN 760 ELSE GOSUB 690 :: GO 
TO 730 

690 M=M+1 :: ACCEPT AT(21,1) 

:E$ :: FOR 1=1 TO LEN(ET):: 

IF SEGT(ET,I,1>=" " THEN AT= Sp 


37 



SEG*<E*,l,I-l)ss F*=SEG*(E*, 
I+1,LEN(E$)-I)ss I=LEN<E*) 
700 NEXT I s s RESTORE 520 s: 

FOR 1=1 TO 4 :: FÜR J=1 TO 
2 ss READ L$ :: IF L*=A* THE 
N C=I ss J=2 ss 1=4 
710 NEXT J s s NEXT I :: IF S 
EG$(F$,1,4)="NACH" THEN D*=S 
EG$(F*,6,LEN(F*)-5) ELSED$=F 
$ 

720 IF C=0 THEN DISPLAY AT(1 
8 ,l)s"DAS WORT ";A$s"KENNE I 
CH NICHT" s: GOTO 620 ELSE R 
ETURN 

730 IF <E=2 OR E=3)AND(C=l O 
R C=4)THEN DISPLAY AT(18,l)s 
"DER ";P$;" SCHICKT DICH AUF 
DEN HOF" ss 0=141 ss GOTO 7 
50 

740 ON C GOSUB 820,850,870,8 
90 

750 E=0 ss C=0 :: IF M>160 T 
HEN DISPLAY AT(18,1)s"BEDAUE 
RE"s"DIE ZEIT IST ABGELAUFEN 
" s: GOTO 770 ELSE 620 
760 DISPLAY AT(18,1):"GRATUL 
IERE":"DU HAST ES GESCHAFFT" 
770 DISPLAY AT(20,1):"WILLST 
DU NOCHEINMAL SUCHEN J ODER 
N" ss CALL KEY(0,K1,S1)ss I 
F S1=0 THEN 770 ELSE IF Kl=7 
4 THEN RUN ELSE END 
780 RESTORE 210 xs FOR 11=10 

I TO O ss READ 0*,W ss NEXT 

II ss RETURN 

790 RESTORE 300 ss FOR 11=20 

I TO O ss READ 0$,W ss NEXT 

II ss RETURN 

800 RESTORE 390 ss FOR 11=30 

I TO O ss READ 0*,W ss NEXT 

II ss RETURN 

810 RESTORE 500 ss FOR L=1 T 
O I ss READ P$ ss E=L ss NEX 
T L ss RETURN 

820 RESTORE 510 ss FOR 1=1 T 
O 6 s s FOR J=1 TO 3 s s READ 
L* 

830 IF L$=D$ AND(N(I) >3 OR(N 
(I)=3 AND (G(5,1)=400 OR G(5 
,2)=400 OR G(5,3)=400 ORG<5, 
4)=400)))THEN V=I ss 1=6 ss 
J=3 ELSE IF 1=6 THEN 1080 
840 NEXT J s: NEXT I ss IF ( 
V=5 AND O>300)OR(V=6 AND 0<2 
00)OR((V=5 OR V= 6 )AND 0*<>"T 
REPPE" ) THEN 1080 ELSE 0=0+R( 
V)s s RETURN 

850 FOR 1=1 TO 7 ss FOR J=1 
TO 4 ss IF G(I,J)=0 THEN IF 
G*(I)=F$ AND H<4 THEN G(I,J) 
=400 ss H=H+1 :: 1=7 ss J=4 

ELSE 1080 ELSE IF 1=7 THEN 1 
080 


L 

I 

S 

T 

I 

N 

G 

S 


860 NEXT J ss NEXT I ss RETU 
RN 

870 FOR 1=1 TO 7 s s FOR J=1 

TO 4 *ss IF G$(I)OF$ THEN 88 

0 ELSE IF G(I,J)=400 THEN G< 

I,J)=0 ss H=H—1 ss J=4 ELSE 

IF J=4 THEN 1080 

880 NEXT J ss NEXT I ss RETU 

RN 

890 IF SEG*(F*,1,4)<>"NACH" 
THEN 1040 ELSE IF E=0 THEN 1 
080 

900 FOR 1=1 TO 7 ss IF G$(I) 
=DT THEN U=I ss 1=7 ELSE IF 
1=7 THEN DISPLAY AT(18,l)s". 

..DANACH KANNST DU NICHT- 

..FRAGEN" 

910 NEXT I s s IF (E=7 OR E=4 
)AND U=7 THEN DISPLAY AT(18, 
1)s MT(INT(E—1)/3)&"WEISS ES 
NICHT" ss RETURN 
920 IF E=1 THEN 980 ELSE IF 
E=5 OR E=6 AND U<6 THEN DISP 
LAY AT(18,1):"DER ";P$;"SCHI 
CKT DICH AUF DEN HOF" ss 0=1 
41 s: RETURN 

930 FOR J=1 TO 4 ss IF G(U,J 
)< >400 AND G(U,J)< >0 THEN F= 
VAL(SEG*(STR$(G(U,J)) , 1, 1) ) s 
s DISPLAY AT(18,1)s"IM " ; B* ( 
F)s: Y1=J ss J=4 
940 NEXT J ss IF F=INT(O/100 
)THEN ON F GOSUB 1050,1060,1 
070 ELSE RETURN 
950 IF SEG$(S$,2,1)="." THEN 
S$=Q$(VAL(SEG$(S$,1,1)))&"K 
LASSE" 

960 IF S$="" THEN S$="DEN HA 
ST DU" 

970 DISPLAY AT(19,1)s S$ cs S 
*="" ss RETURN 

980 DISPLAY AT(18,1)s"DER JU 
NGE ANTWORTET NICHT ERWILL S 
EINE ANTWORT BEZAHLT HABEN" 
990 Y=0 ss GOSUB 690 ss ON C 
GOTO 820,850,1000,890 
1000 DISPLAY AT(18,1)SIZE(84 
>s"" ss FOR J=1 TO 7 ss IF G 
*(J)=D$ THEN T=J ss J=7 
1010 NEXT J ss FOR J=1 TO 4 
ss IF G(T,J)=400 THEN G(T,J) 
=300 ss J=4 ELSE IF J=4THEN 
DISPLAY AT(18,1)s"DAS HAST 
DU NICHT" ss ACCEPT AT(21,1) 
:E* ss J=4 ss Y=1 ss GOTO 10 
30 

1020 IF T>2 THEN DISPLAY AT< 
18,1)s"DER JUNGE GIBT DIR TR 
OTZDEM KEINE AUSKUNFT" ss J= 
4 ss Y=1 ELSE 930 
1030 NEXT J ss IF Y=1 THEN 9 
80 ELSE 930 

1040 DISPLAY AT(18,1)s"WONAC 


3ft 



H WILLST DU FRAGEN?" :: M=M- 
1 :s GOTO 690 

1050 RESTORE 210 ss FOR 1=10 
1 TO G(U,Y1):s READ SS,W$ :: 

NEXT I ss RETURN 
1060 RESTORE 300 s s FOR 1=20 
1 TO G(U,Yl)ss READ S*,W* :: 

NEXT I ss RETURN 
1070 RESTORE 390 s s FOR 1=30 
1 TO G(U,Y1> s: READ SS,W$ ss 
NEXT I ss RETURN 
1080 DISPLAY AT(18,1)s"DAS G 
EHT NICHT" s: RETURN 
1090 IF 0$="SCHULHOF" THEN G 
OTO 1410 ELSE IF AA=1 THEN A 
A=0 :: GOSUB 1420 
1100 DATA ( ) **-****bc , *"»< DDDD 
=** , *-*F****/-** , **F****/** , ** 

+X 

1110 DATA 3,<)*,jkl,mno,pqr, 
st>,u:+,:++ 

1120 DATA 2 , ()*,*H< ,*GF, *GF , 
*G>,*;+,s++ 

1130 DATA 3,***,DDD,**-*,-***, 
-,+++,+++ 

1140 DATA < YJE E Y= , F \ 3\ , F_ ‘ a 

_/,>-? 

1150 DATA () **bc , *dhi-f */ , *e-*- 
+g*,:++++X 

1160 DATA <DDDD=,F*J9*/,F*KL 
*/,>—NQ—? 

1170 DATA 3,*bc,vwx,yz(,I> ~, 
?AB,+XC,++X 

1180 DATA 2,bc,J>,G*,G*,G*,M 
*,+X 

1190 DATA 3,***,DDD,■***,***, 

-,+++,+++ 

1200 CALL C0L0R(2,11,11,3,10 
,15,4,11,11,8,11,11,9,11,11, 
10 , 11 , 11 , 11 , 11 , 11 , 12 , 11 , 11,1 
3,11,11,14,11,11) 

1210 RESTORE 1090 ss FOR 1=1 
TO 7 ss READ R$ ss DISPLAY 
AT<I,1)SIZE(10)sR$ ss NEXT I 
1220 ON N(2)GOTO 1270,1230,1 
240,1240,1250,1240 
1230 RESTORE 1140 ss GOTO 12 
60 

1240 RESTORE 1160 ss GOTO 12 
60 

1250 RESTORE 1150 
1260 FOR 1=2 TO 5 s: READ R$ 
:s DISPLAY AT(I,3)SIZE( 6 )sR 
$ :: NEXT I 

1270 ON N(3)GOTO 1320,1280,1 
290,1290,1300,1290 
1280 RESTORE 1170 ss GOTO 13 
10 

1290 RESTORE 1180 ss GOTO 13 
10 

1300 RESTORE 1190 

1310 READ LI := FOR 1=1 TO 7 



: : READ R* ss DISPLAY AT(I, 

1 1—LI)SIZE <L1)s R$ ss NEXT I 
1320 ON N<1)GOTO 1370,1330,1 
350,1350,1340,1350 
1330 RESTORE 1110 ss GOTO 13 
60 

1340 RESTORE 1130 ss GOTO 13 
60 

1350 RESTORE 1120 
1360 READ LI s s FOR 1=1 TO 7 
s: READ R$ ss DISPLAY AT(I, 
1 )SIZE(LI)sR* ss NEXT I 
1370 CALL COLOR<2,2,15,4,2,1 
5,8,2,15,9,2,15,10,2,15,11,2 
,15,12,2,15,13,2,15,14,2,15) 
1380 IF N(1)=5 AND N<2)=5 TH 
EN CALL HCHAR(2,5,127)s s CAL 
L HCHAR(5,5,44) 

1390 IF N(2)=5 AND N<3)=5 TH 
EN CALL HCHAR(2,10,128)s: CA 
LL HCHAR(5,10,56) 

1400 RETURN 

1410 RESTORE 1430 s s AA=1 s s 
GOTO 1450 
1420 RESTORE 1440 
1430 DATA 0000666600666666,6 
66666,0000070F1F1F1F1F,1F1F1 
F1F1F1F1F1F,0000E0F0F8F8F8F8 
,F 8 F 8 F 8 F 8 F 8 F 8 F 8 F 8 
1440 DATA FF808382828282FF,F 
F01C141414141FF,704C45454545 
4545,0000C03017141414,C03F10 
1010D0505,45457D4545454545 
1450 CALL COLOR(2,11,11,10»1 
1,11,11,11,11):: FOR 1=104 T 
O 109 ss READ R* s s CALL CHA 
R<I,R*)ss NEXT I ss IF 0*0" 
SCHULHOF" THEN RETURN 
1460 RESTORE 1470 s s FOR 1=1 
TO 7 s s READ I* s s D'ISPLAY 
AT(1,1)SIZE(10)s1$ ss NEXT I 
s: CALL COLOR(2,15,15,3,10, 
15,10,2,7,ll,2,7)ss RETURN 
1470 DATA hhhhhhhhhh,iiiiiii 
iii,hhhhhhhhhh,iiiiiiiiii,hh 
hhjlhhhh,iiiikmiiii,******** 
** 

1480 CALL CHAR(55,K$(B))ss I 
F B <8 THEN DISPLAY AT(7,4)SI 
ZE(1)s"7" 

1490 RETURN 

1500 IF E<1 THEN RETURN ELSE 
CALL VCHAR(4,7,42,4)ss CALL 
VCHAR(4,8,42,4) 

1510 CALL CHAR(33,CC$(E))ss 
DISPLAY AT(4,5)SIZE(2)s"02" 
s: DISPLAY AT(5,5)SIZE(2)s"1 
3" ss CALL SPRITE(#3,33,CA(E 
),25,49,#4,34,2,33,49,#5,35, 

CA(E),25,57) 

1520 CC=CB(E)s s CALL SPRITE( 
#6,36,2,33,57,#7,o7,CC,36,49 
,#8,38,CC,36,57,#9,39,CC,41, 





49,#10,46,CC,41,57) 

1530 CALL SPRITE(#11,52,CC,4 
9,49,#12,53,CC,49,57):: RETU 
RN 



L 

I 

S 

T 

I 

N 

G 

S 


BANDIT 



Das Spiel läuft nur mit 
Ext. Basic und benötigt 
ca. 11000 Byte. Ist das 
Spiel gestartet und sind 
alle Felder erstellt, blei¬ 
ben noch ca. 100 Byte 
Speicherplatz. 

Bei diesem Spiel handelt 
es sich um eine Kombi¬ 
nation des altbekannten 
Pokerspiels mit einem 
Geldspielgerät. Nach¬ 
dem das Spiel gestartet 
wurde, erscheint in der 
obersten Bildschirmzeile 
die Anzeige für Serie und 
Kredit. Darunter die fünf 
Spielkarten von der 
Rückseite gesehen. Unter 
den Karten fünf Felder, 
1—5 numeriert. Als letz¬ 
tes folgen noch zwei 
Risikoleisten, eine von 
0 — 90, die andere von 
0 - 100 . 

Nachdem ein kurzer Ton 
gegeben worden ist, 
kann der gewünschte 
Einsatz eingegeben wer¬ 
den. Dafür drückt man 


die Tasten 1—9. Die Ein¬ 
gabe wird mit 0 beendet. 
Ein Spiel kostet 0.30 DM. 
Jetzt werden die fünf 
Karten aufgedeckt. Die 
Karten, die eine Gewinn¬ 
kombination nach den 
Regeln des Pokerspiels 
ergeben, werden in dem 
entsprechenden Feld 
durch einen roten Punkt 
angezeigt. Diese Karten 
werden vom Computer 
automatisch gehalten. 

Will der Spieler noch an¬ 
dere Karten halten, so 
muß er die entsprechen¬ 
de Zahltaste drücken (1 — 
5). Es erscheint dann der 
rote Punkt. Durch noch¬ 
maliges Drücken der Taste 
wird der Punkt wieder 
gelöscht. Die Karten, die 
gehalten werden, werden 
bei der zweiten Ziehung 
nicht nochmal ausgeteilt. 
Auch die Karten, die 


Bille lesen Sic weiter auf Seite 44 


10 

i 

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

11 

i 

* 


* 

12 

i 

* 

POKERGELDSPIELER 

* 

13 

i 

* 


* 

14 

i 

* 

Copyright by 

* 

15 

i 

* 


* 

16 

i 

* 

Michael Lindenbaum 

* 

17 

i 

* 


* 

19 

i 

* 

Benoetigte Geraete 

* 

20 

i 

* 

TI99/4A Konsole 

* 

21 

i 

* 

Ext. Basic 

* 

22 

i 

* 

Cassettenrec. 

* 

23 

i 

*(oder DISK+32K—Erw. 

)* 

24 

i 

* 


* 

26 

i 

* 

Speicherbelegung 

* 

27 

i 

* 

10231 Bytes 

* 

28 

i 

* 


* 

29 

i 

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


100 OPTION BASE 1 

110 DIM BL(4,13),WE(5),FA(5) 

,WEG(5),GE(20,2),TE*<20),CO( 
4) 

120 CRE,SER=0 :: CALL CLEAR 

:: RANDOMIZE 

130 CALL CHARDEF 

140 CALL FARBE 

150 CALL BILD1 

160 CALL DATEN<GE<,),TE*(),C 

0 <> ) 

170 IF CRE<.3 THEN CALL CRED 
IT(CRE) 

180 IF SER>0 AND S1=0 THEN S 
ER=SER—1 :: GOSUB 390 
190 S1=0 :: IF CRE>=.3 THEN 
210 

200 CALL CLEAR :: CALL CHARS 
ET :: CALL DELSPRITE(ALL):: 
STOP 

210 CALL MISCH(WE(),FA(),BL( 
,),WEG()) 

220 CALL AUSTEI<1,5,4,WE(),F 
A(),CO<),WEG()) 

230 CALL AUSTEI (2,4,6,WEO ,F 
A(),CO(>,WEG()) 

240 CALL PAARE (WEO ,WEG() ,GE 
W) 

250 IF GEW=0 THEN CALL FLUSH 
(FA(),WEG(),GEW):: CALLSTRE 
ET (WEO , WEG ( ) ,GEW) 

260 CALL HALTEN(WEG())s: CRE 
=CRE—.3 :: GOSUB 380 
270 CALL ZWEZIE(WE() ,FAO ,BL 
(,),WEG(),CO()) 

280 FOR 1=1 TO 5 :: IF WEG(I 
)=0 THEN 300 
290 NEXT I :: GOTO 340 
300 FOR 1=1 TO 5 :: WEG(I)=0 
:: NEXT I 

310 CALL PAARE(WE(),WEGO,GE 
W):: IF GEW>0 THEN 340 
320 CALL FLUSH (FA O ,WEGO ,GE 
W) : : CALL STREET (WEO ,WEGO , 
GEW) 











330 IF GEW=0 THEN 350 
340 GGSUB 420 :: CALL WIN(GE 
W,GE(,),WEG(),TES(),CRE,SER, 
Sl) 

350 FOR 1=1 TO 5 :s CALL COL 
0R(#I+5,1):: WEG(I)=0 :: NEX 
Tis: DISPLAY AT(18,1):RPTS 
("J",28) 

360 CALL COLOR(#11,1):: CALL 
RUECK (1,5,4, WEG ().):: CALL R 
UECK(2,4,6,WEG()) 

370 GOTO 170 

380 DISPLAY AT(1,20)SIZE(9): 
USING "###-##JDM":CRE :: RET 
URN 

390 DISPLAY AT(1,7)SIZE(3):U 
SING "###":SER :: RETURN 
400 FOR 1=333 TO 999 STEP 33 
3 :: CALL SOUND<150,I,6,1+11 
,7,1-11,8):: NEXT I :: RETUR 
N 

410 FOR 1=666 TO 222 STEP -2 
22 :: CALL SOUND(150,I,8,1-1 
1,7,1+11,6):: NEXT I :: RETU 
RN 

420 FOR 1=333 TO 666 STEP 33 
3 :: CALL SOUND(150,I,5):: N 
EXT I :: RETURN 
430 SUB CHARDEF 
440 CALL CHAR(96,"00F71515F5 
8585F7",97,"00F71515751515F7 
•• ,98, "008785A5A5F52527" ,99," 
00F78585F59595F7") 

450 CALL CHAR(100,"00F79595F 
59595F7",101,"002F61Al2F2828 
2F",102,"002F68A82F29292F",1 
03,"00E8282AEA8F82E2" ) 

460 CALL CHAR(104,"002765A52 
5252527",105,"00F71414F78181 
F7",106,"00F78585F51515F7",1 
07,"00F79595F51515F7", 1080 
05FD5555555555F") 

470 AS="0000000103060C18" :: 

CALL CHAR(112,AS,120,AS):: 
A$="00000080C0603018" :: CAL 

L CHAR(113,AS,121,AS) 

480 AS=RPTS("18",8):: CALL C 
HAR(114,AS,122,AS):: AS="000 
000FFFF" :: CALL CHAR(115,AS 
,123,AS) 

490 AS="180C060301000000" :: 

CALL CHAR(116,AS,124,AS):: 
AS="183060C080000000" :: CAL 
L CHAR <117,AS,125,AS) 

500 AS="00000081C3663C18" :: 

CALL CHAR(118,AS,126,AS):: 
AS="183C66C381000000" :: CAL 
L CHAR(119,AS,127,AS) 

510 CALL CHAR(88,RPTS<"7F",8 
),89,RPTS("FE",8),90,"007F7F 
7F7F7F7F7F",91,"00FEFEFEFEFE 
FEFE") 

520 CALL CHAR(92,RPTS("7F",7 



),93,RPTS("FE",7),94,"00FFFF 
FF FF FFFFFF",95,RPTS("FF",7)) 
530 CALL CHAR(128,"007E313B3 
633337E",129,"007E3211191137 
7E",130,"007B72363C363673",1 
31,"003F666C746466EF") 

540 CALL CHAR(132,"6CFEFEFE7 
C383810", 133,"10387CFEFE7C38 
10",32,"10387CFEFED61038",33 
,"10381054EE541028") 

550 CALL CHAR(139,"C0E070381 
C0E0703",136,"9E91909F81918F 
E0",137,"007E7E7E7E7E7E",138 
,"3C7EFFFFFFFF7E3C") 

560 CALL CHAR(111,"007C04081 
020407C",81,"004444281010101 
0",74,"") 

570 SUBEND 
580 SUB FARBE 

590 CALL MAGNIFY(2):: CALL S 
CREEN(12) 

600 CALL COLOR(0,16,16,1,2,1 
6,8,16,2,12,13,12,lö,9,16,14 
,6,16) 

610 SUBEND 
620 SUB BILD1 

630 CALL HCHAR(1,1,74,768) 

640 DATA "SERIEJ000J J J CREDIT 
J000.00JDM" 

650 DATA "JJJJJJJJJJJJJJJJJJ 
JJJJJJJJJJ" 

660 DATA CJJJJJJJZ—CJJ 

JJJJJZ^"' C" 

670 DATA "--.YJJJJJJJX...YJJ 
JJJJJX...Y" 

680 DATA " . . - YJZ^'^CJX-YJZ 

C JX. . . Y" 

690 DATA "...YJX...YJX.- -YJX 
..-YJX.. .Y" 

700 DATA ". . . YJX. . . YJ*X. . . YJX 
YJX .Y" 

710 DATA ".«•YJX.«.YJX«..YJX 
YJX- Y" 

720 DATA "...YJX...YJX...YJX 
...YJX...Y" 

730 DATA " YJX...YJX YJX 

...YJX...Y" 

740 DATA "_ 3JX...YJX _ 3JX 

. . . YJX_ 3" 

750 DATA "JJJJJX...YJJJJJJJX 
...YJJJJJJ" 

760 DATA "psqJJX_UJJpsqJJX 

_ 1 JJpsqJ" 

770 DATA "rlrJJJJJJJJJr3rJJJ 
JJJJJJr5rJ" 

780 DATA "tsuJJJpsqJJJtsuJJJ 
psqJJJtsuJ" 

790 DATA "JJJJJJr2rJJJJJJJJJ 
r4rJJJJJJJ" 

800 DATA "JJJJJJtsuJJJJJJJJJ 
tsuJJJJJJJ" 

810 DATA "JJJJJJJJJJJJJJJJJJ 
JJJJJJJJJJ" 



820 DATA "JJpsvsvsvsvs^{^{^£ 

830 DATA "JJr0r*rbrdrfz2z5zh 
z'zbzkzJJJ" 

840 DATA "JJtswswswsws.{.{.{ 
. C. OJJJ" 

850 DATA ,, JJpsvsvsvsvs~<;' v <:~C 

860 DATA "JJr0rarcrergz3z6ze 
zizjzlzJJJ" 

870 DATA "JJtswswswsws.{.{.{ 
. t.T. OJJJ" 

880 RESTORE 640 :: FOR 1=1 T 
0 24 :: READ M* :: DISPLAY A 
T(I,l)sM* s: NEXT I 
890 CALL HCHAR(3,2,90):: CAL 
L VCHAR(4,2,88,7):: CALL HCH 
AR(11,2,92) 

900 CALL SPRITE(#1,136,2,44, 
21,#2,136,2,60,69,43,136,2,4 
4,117,44,136,2,60,165,#5,136 
,2,44,213) 

910 CALL SPRITE(46,138,1,101 
,21,47,138,1,117,69,48,138,1 
,101,117,49,138,1,117,165,41 
0,138,1,101,213) 

920 CALL SPRITE(411,138,1,14 
9,37) 

930 SÜßEND 

940 Süß DATEN(GE(,),TE*(),C0 
() ) 

950 DATA -2,53,.3,53,.4,69,. 

6,69,-8,85,1.2,85,1.6,101,2. 

4,101,2,117,3,117 

960 DATA 5,133,6,133,10,149, 

12,149,20,165,25,165,40,181, 

50,181,90,197,100,197 

970 DATA oWILLING,DOPPELoWIL 

LING,DRILLING,FULLJHOUSE,STR 

ASSE,FLUSH 

980 DATA DRILLINGJAS,VIERLIN 
G, VIERLINGJAS,STRAIGHTJFLUSH 
,ROQALJFLUSH 
990 DATA 132,133,32,33 
1000 RESTORE 950 s: FOR 1=1 
TO 20 s: READ GE(I,1),GE(I, 2 
>:: NEXT I 

1010 RESTORE 970 s: READ TE* 
<1) = s READ TE*<2) 

1020 FOR 1=5 TO 8 :: READ TE 
* (I) : s NEXT I :s READ TE*(11 
>:: READ TE*(12)ss READ TE*< 
16):s READ TE*(18)ss READ TE 
*( 20 ) 

1030 RESTORE 990 :s FOR 1=1 
TO 4 :: READ CO(I):: NEXT I 
1040 SÜßEND 
1050 SUB CREDIT(CRE) 

1060 CALL SOUND(150,400,5) 
1070 CALL KEY(0,K,S):s IF S= 
0 OR K<48 OR K>57 THEN 1070 
1080 IF K=48 THEN 1090 ELSE 
CRE=CRE+<K—40):: GOSUB 380 - 


L 

I 

S 

T 

I 

N 

G 

S 


s GOTO 1060 
1090 SÜßEND 

1100 SUB MISCH(ME(),FA(),BL( 
,),WEG()) 

1110 FOR 1=1 TO 4 ss FOR J=1 
TO 13 ss BL(I,J)=1 :: NEXT 
J ss NEXT I 
1120 FOR 1=1 TO 5 
1130 CALL ZUF(A,B,BL(,)) 

1140 FA(I)=A ss WE(I)=B ss B 
L(A,B)=0 s: NEXT I 
1150 SUBEND 

1160 SUB AUSTEI(A,B,Z,WE(),F 
A(),CO(),WEG()) 

1170 FOR I=A TO B STEP 2 ss 
IF WEG(I)=1 THEN 1220 
1180 A=CO(FA(I))ss D=WE(I)s s 
B=—((D< 9)*(D+49) + (D=9)*(104 
)+(D>9)*(D+118)):: C=-((FA(I 
)<3)*(10)+(FA(I)>2)*(2)) 

1190 CALL SOUND(250,-4,0)ss 
S=—3+(1*6)s: CALL C0L0R(4I,1 
)s: FOR J=0 TO 2 :s CALL VCH 
AR(Z,S+J,30,7):: NEXT J 
1200 CALL HCHAR(Z,S,A):: CAL 
L HCHAR(Z,S+2,A):: CALL HCHA 
R(Z+6 ,S,A):: CALL HCHAR(Z+6, 
S+2,A) 

1210 CALL PATTERN(41,B)ss CA 
LL COLOR(41,C) 

1220 NEXT I 
1230 SUBEND 

1240 SUB PAARE(WE(),WEG(),GE 
W) 


1250 FA=1 :: GEW,NO,PAR,DR=0 
1260 FOR 1=1 TO 4 ss FOR J=I 
+ 1 TO 5 

1270 IF WE(I)=WE(J)THEN PA=P 
A+l ss WEG(I),WEG(J)=1 
1280 NEXT J 

1290 IF PA=4 AND WE(I)=13 TH 
EN GEW=16 ss GOTO 1370 
1300 IF PA=4 THEN GEW=12 ss 
GOTO 1370 

1310 IF PA=3 AND WE(I)=13 TH 
EN DR=5 s s NO=WE(I):s GOTO 1 
360 

1320 IF PA=3 THEN DR=1 s s NO 
=WE <I)s s GOTO 1360 
1330 IF PA=2 AND WE(I)ONO T 
HEN PAR=PAR+1 

1340 IF DR=5 THEN GEW=11 ss 
GOTO 1370 

1350 IF DR=1 AND PAR=1 THEN 
GEW =6 s s GOTO 1370 
1360 PA=1 ss NEXT I ss GOTO 
1380 

1370 IF GEW>0 THEN SUBEXIT 
1380 GEW=—((PAR=1)*(1)+(PAR= 
2) * (2) + (DR=1 ) * (5) ) 

1390 SUBEND 

1400 SUB FLUSH(FAO ,WEG(),GE 
W) 




1410 FÜR 1=2 TO 5 ss IF FA(1 
)=FA(I)THEN 1420 ELSE 1430 
1420 NEXT I ss GEW=8 ss FOR 
1=1 TO 5 ss WEG(I)=1 :s NEXT 
I 

1430 SUBEND 

1440 SUB STREET(WE<),WEG(),G 
EW) 

1450 FOR 1=1 TO 5 ss HI<I)=W 
E (I)s s NEXT I 

1460 FOR 1=1 TO 5 s: FOR J=I 
+ 1 TO 5 

1470 IF HI(I)>HI(J)THEN A=HI 

(I):: HI<I)=HI(J):s HI(J)=A 

1480 NEXT J :: NEXT I 

1490 FOR 1=2 TO 5 :: IF HI(1 

)<>HI (I)-(I-DTHEN SUBEXIT 

1500 NEXT I :: FOR 1=1 TO 5 

:: WEG(I)=1 :: NEXT I 

1510 IF GEW=0 THEN GEW=7 ELS 

E IF HI(1)=9 THEN GEW=20 ELS 

E GEW=18 

1520 SUBEND 

1530 SUB HALTEN(WEG()) 

1540 FOR 1=1 TO 5 :: CALL CO 
LOR(#1+5,WEG(I)*6+1):: NEXT 
I 

1550 A=0 :: CALL SOUND(150,4 
00,5) 

1560 A=A+1 :: IF A>200 THEN 
SUBEXIT ELSE CALL KEY(0,K,S) 

: ; IF S=0 OR K<48 OR K>53 TH 
EN 1560 

1570 IF K=48 THEN 1600 
1580 IF WEG(K—48)=1 THEN WEG 
(K—48)=0 ELSE WEG(K—48)=1 
1590 CALL COLOR(#(K-43),WEG( 
K-48)*6+1):: GOTO 1550 
1600 SUBEND 

1610 SUB ZWEZIE<WE<),FA<),BL 
( ,) ,WEG() ,CO()) 

1620 CALL RUECK(1,5,4,WEG()) 

1630 CALL RUECK(2,4,6,WEG <)) 

1640 FOR 1=1 TO 5 

1650 IF WEG(I)=0 THEN CALL Z 

UF(A,B,BL(,))s s FA(I)=A ss W 

E(I)=B ss BL(A,B)=0 

1660 NEXT I 

1670 CALL AUSTEI (1,5,4,WEO , 
FA() ,CO() ,WEG())s s CALL AUST 
EI(2,4,6,WE(),FA(),CO(),WEG( 
) ) 

1680 SUBEND 

1690 SUB AUS(GEW,GE(,),ZE> 
1700 CALL LOCATE(#11,ZE,GE(G 
EW,2))ss IF GEW>10 THEN F=5 
ELSE F=7 

1710 CALL COLOR(#11,F)s s FOR 
1=1 TO 5 :: FOR J=GEW TO GE 
W+8 STEP 2 :: CALL LOCATE(#1 
1,ZE,GE(J,2)):: CALL KEY(0,K 
,S):= IF SO0 THEN 1730 
1720 NEXT J :: NEXT I 


L 

I 

S 

T 

I 

N 

G 

S 


1730 CALL PEEK(-31879,A)ss B 

=-((A<10) + (A<30) + (A<90) + (A<t 

70))*2 ss GEW=GEW+B 

1740 CALL LOCATE(#11,ZE,GE<G 

EW,2))ss SUBEND 

1750 SUB RISIKO(GEW,GE(,),CR 

E,SER,ZE,S1) 

1760 IF GEW>8 THEN F=5 ELSE 
F=7 

1770 CALL LOCATE(#11,ZE,GE(G 
EW,2))s s CALL COLOR(#11,F)s : 

FOR 1=1 TO 150 ss NEXT I 
1780 IF GEW>18 THEN CALL MEL 
1 :: K=65 :: GOTO 1810 
1790 S2=37 :: S3=GE(GEW+2,2) 
:: FOR 1=1 TO 35 s: CALL LOC 
ATE(#11,ZE,S2)s s CALL KEY<0, 
K,S)s: IF S< >0 THEN 1810 
1800 H=S2 :: S2=S3 :: S3=H : 

: NEXT I :: K=65 

1810 IF K=65 THEN CALL ALL(G 

EW,GE(,) ,CRE,SER,ZE,S1) : : SU 

BEXIT 

1Ö20 IF K=84 THEN CALL TEIL( 
GEW,GE(,),CRE,SER,ZE,S1):: G 
OTO 1780 

1830 CALL PEEK(—31879,A):: I 
F A/2=INT(A/2)THEN 1860 
1840 CALL LOCATE(#11,ZE,GE(G 
EW+2,2)):: GOSUB 400 :: GEW= 
GEW+2 :: IF GEW>8 THEN F=5 
1850 GOTO 1780 

1860 CALL LOCATE(#11,ZE,37): 

: GOSUB 410 
1870 SUBEND 

1880 SUB ALL(GEW,GE(,),CRE,S 
ER,ZE,S1) 

1890 CALL LOCATE(#11,ZE,GE(G 
EW,2))s s CALL MEL ss IF GEW< 
9 THEN CRE=CRE+GE(GEW,1)ELSE 
SER=SER+GE(GEW,1):s CRE=CRE 
+.3 ss GOSUB 390 ss Sl=l 
1900 GOSUB 380 s s SUBEND 
1910 SUB SERIE(GEW,GE(,),CRE 
,SER,Sl) 

1920 GEW=8 ss IF SER<10 THEN 
CALL RISIKO(GEW,GE(,),CRE,S 
ER,173,Sl)ELSE CALL COLOR(#1 
1,7)s s CALL ALL(GEW,GE(,) ,CR 
E,SER,173,S1) 

1930 CRE=CRE+.6 ss GOSUB 380 
:: SUBEND 

1940 SUB WIN(GEW,GE(,),WEG<) 
,TE$(),CRE,SER,S1) 

1950 IF GEW=0 THEN SUBEXIT 
1960 IF GEW/2=INT(GEW/2)THEN 
ZE=173 ELSE ZE=149 
1970 FOR 1=1 TO 5 :s CALL CO 
LOR(#1+5,WEG(I)*2+1):: NEXT 
I :: A=LEN(TE*(GEW)):: DISPL 
AY AT(18,(28—A)/2)SlZE(A):TE 
T(GEW) 

1980 IF GEW=1 THEN CALL ZWIL 



L (Z) 

1990 IF GEW=11 OR GEW=12 THE 
N CALL AUS(GEW,GE(,),ZE>:: G 
OTO 2040 

2000 IF GEW>18 THEN CALL ALL 
(GEW,GE(,),CRE,SER,ZE):: SUB 
EXIT 

2010 IF GEW=16 OR GEW=18 THE 
N 2030 

2020 IF (SER>0 AND GEW>l)OR( 
SER>0 AND Z=4)THEN CALL SERI 
E(GEW,GE(,),CRE,SER, S1) : : GO 
TO 2050 ELSE IF SER>0 THEN S 
UBEXIT 

2030 IF (Z=4 OR GEW=2)THEN C 
ALL AUS(GEW,GE(,),ZE) 

2040 IF (Z=4 OR GEW>1)THEN C 
ALL RISIKO(GEW,GE(,),CRE,SER 
,ZE,S 1 ) 

2050 IF Z=4 THEN CALL VCHAR( 
19,29,74,4):: Z=0 
2060 SÜßEND 

2070 SUB TEIL(GEW,GE(,>,CRE, 
SER,ZE,S1) 

2080 IF GEW<11 THEN SUBEXIT 
2090 GEW=GEW—2 :: CALL LOCAT 
E(#11,ZE,GE(GEW,2)):: CALLM 
EL :: SER=SER+GE(GEW,1):: IF 
GE(GEW+2,1)/2< >INT(GE(GEW+2 
,1)/2)THEN SER-SER+1 
2100 GOSUB 390 :: FOR 1=1 TO 
150 :: NEXT I :: Sl=l :: SU 
BEND 

2110 SUB RUECK(A,B,Z,WEG()) 
2120 FOR I=A TO B STEP 2 :: 
IF WEG (IX >0 THEN 2140 
2130 CALL SOUND(250,-4,0):: 
CALL COLOR(#1,1):: CALL PATT 
ERN(#I,136):: S=-3+(I*6):: F 
OR J=0 TO 2 :: CALL VCHAR<Z, 
S+J,139,7):: NEXT J :: CALL 
COLOR(#1,2) 

2140 NEXT I 
2150 SUBEND 

2160 SUB ZUF <A,B,BL <,)) 

2170 A=INT<RND*4)+1 :: B=INT 
<RND*13)+1 :: IF BL(A,B)=0 T 
HEN 2170 
2180 SUBEND 

2190 SUB ZWILL <A):: A=A+1 :: 

CALL VCHAR<19,29,137,A):: F 
OR 1=1 TO 200 :: NEXT I :: S 
ÜBEND 

2200 SUB MEL :: FOR 1=222 TO 
1110 STEP 222 :: CALL SOUND 
<150,1,7,1-22,8,1+22,6):: NE 
XT I :: SUBEND 

2210 SUB MELI :: RESTORE 222 
0 :: FOR 1=1 TO 44 :: READ A 
,B :: CALL SOUND<A*125,B,0,B 
-2,5,B+2,5):: NEXT I 
2220 DATA 2,783,2,783,2,880, 
3,739,1,783,2,880,2,987,2,98 


L 

I 

S 

T 

I 

N 

G 

S 


7.2.1046.3.987 

2230 DATA 1,880,2,783,2,880, 
2,783,2,739,4,783,2,43000,2, 
1174,2,1174 

2240 DATA 2,1174,3,1174,1,10 
46,2,987,2,1046,2,1046*2,104 

6.3.1046.1.987 

2250 DATA 2,880,2,987,1,1046 
,1,987,1,880,1,783,3,987,1,1 
046,2,1174 

2260 DATA 1,1318,1,1174,1,10 
46,1,987,2,880,4,783,2,43000 
2270 SUBEND 
2280 END 


POKER- BANDIT 


Fortsetzung von Seite 40 


der Computer hält, kön¬ 
nen wieder gelöscht wer¬ 
den, nur die entsprechen¬ 
de Zahltaste drücken. 

Die Eingabe wird mit 0 
beendet. Nun startet der 
Computer die zweite 
Ziehung. Alle Karten, die 
nicht gehalten wurden, 
werden neu ausgeteilt. 

Die Karten, die nach der 
zweiten Ziehung einen 
Gewinn ergeben, werden 
durch einen grünen Punkt 
im entsprechenden Zahl¬ 
feld angezeigt. Die Art 
der Gewinnkombination 
wird geschrieben und der 
entsprechende Gewinn 
leuchtet in einer der bei¬ 
den Risikoleisten auf. 
Drückt man die Taste 
“A“, so wird der Gewinn 
ganz angenommen. 

Ab 5 bzw. 6 Sonderspie¬ 
len kann man den Gewinn 
halbieren. Dazu muß die 
Taste “T“ gedrückt wer¬ 
den. Wird irgendeine be¬ 
liebige andere Taste ge¬ 
drückt, so wird der Ge¬ 
winn riskiert, entweder 
das Doppelte oder nichts. 
Das Risikoverhältnis ist 
1 : 1 . 

In Sonderspielen wird je¬ 
der Gewinn auf 3 DM 
erhöht. Ab 9 Sonderspie¬ 
len kann wieder riskiert 
werden. 


Zwillinge müssen vier¬ 
mal erscheinen, dann 
wird ein Gewinn ausge¬ 
spielt. Auf der rechten 
Bildschirmseite erscheint 
für jedes Zwillingspaar 
ein blaues Feld. 

Gewinnplan _ 

Royal Flush = 100 Sonder¬ 
spiele 

Straight Flush = 50 Son¬ 
derspiele 

Vierling As = 25 Sonder¬ 
spiele 

Vierling = Ausspielung 
6—100 Sonderspiele 
Drilling As = Ausspielung 
5-90 Sonderspiele 
Flush = 2.40 DM 
Straße = 1.60 DM 
Full House = 1.20 DM 
Drilling = 0.80 DM 
Doppelzwilling = Ausspie¬ 
lung 0.30 DM — 3 Son¬ 
derspiele 

4mal Zwilling = Ausspie¬ 
lung 0.20 DM - 2 Son¬ 
derspiele 


Achtung! Wichtig für die 
Eingabe: 

Zeilen 670-750: 

Die Punkte sind als 
‘CTRL K‘ einzugeben! 
Zeilen 840 und 870: 
Punkte sind als ‘FCTN V‘ 
einzugeben! 


Die nächste 
TI-REVUE 
am 27. Juni 







SU RGEON 


Das vorliegende Programm 
ist sowohl in Basic als 
auch in XBasic lauffähig. 
Sprache ist jedoch nur 
mit dem TE-II-Modul in 
Verbindung mit dem 
Sprachsynthesizer mög¬ 
lich. Falls in Basic oder 
XBasic auf dem Bild¬ 
schirm ausgedruckt wer¬ 
den soll, was der Compu¬ 
ter mit dem TE-II-Modul 
+ Sprachsynthesizer 
spricht, sind die folgenden 
Programmänderungen vor¬ 
zunehmen: 

990REM 

1040REM 

1050FOR 1=1 TO LEN 
(E$) 

1052IF I>26 THEN 
1060 

1054CALL HCHAR 

(23,1+I.ASC(SEGS 
(ES,1,1))) 

1056NEXT I 
Zu Anfang wird gefragt, 
ob das Spiel mit oder 
ohne Sprache gespielt 
werden soll. “J“ darf nur 
mit dem TE-IIrModul+ 
Sprachsynthesizer ge¬ 
drückt werden, andern¬ 
falls erfolgt Programm¬ 
absturz. Danach können 
Sie wählen zwischen 
Spielbeschreibung und 
Spielbeginn. Die Spielbe¬ 
schreibung ist ausführlich 
und kann hier daher auf 
ein Minimum beschränkt 
werden. 

Aufgabe ist es, mit einer 
Sonde aus der Blutbahn 
Ihres Patienten verschie¬ 


denste Erreger zu entfer¬ 
nen. Dafür steht Ihnen 
allerdings nur eine be¬ 
schränkte Zeit zur Ver¬ 
fügung. Der Durchgang 
durch die Arterien ist 
schwierig, da sie sich 
entsprechend dem Herz¬ 
schlag erweitern und ver¬ 
engen. Dadurch kann die 
Sonde zerquetscht wer¬ 
den. Nur voll erweiterte 
Arterien können pas¬ 
siert werden. Um Erreger 
aufzunehmen, ist die 
Sonde über diese hinweg¬ 
zuführen. Daraufliin er¬ 
scheint der Hinweis, wo 
die Sonde aus der Blut¬ 
bahn herauszuführen ist, 
um den Erreger abzule¬ 
gen. Je nach Leistung 
(Zeit, Zahl der entfern¬ 
ten Erreger) wird Ihnen 
ein Titel verliehen. Die 
folgenden Grade sind 
möglich: Anfänger, Stu¬ 
dent, Intern, Surgeon. 

Die Steuerung erfolgt 
mit Joystick 1. Um die 
Sonde in alle acht Rich¬ 
tungen bewegen zu kön¬ 
nen, vergessen Sie nicht, 
die Alpha-Lock-Taste 
auszurasten! 

Neben dem Blutgefä߬ 
system und dem Desin¬ 
fektionseimer werden 
auf dem Bildschirm unter 
dem Tl-Symbol die ent¬ 
fernten Fremdkörper, 
unten in der Mitte die 
aktuelle Punktzahl, 
rechts daneben der HI- 
Score angezeigt. 



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

11 REM* SURGEON * 

12 REM* * 

13 REM* Copyright by * 

14 REM* * 

15 REM* Manfred Lipowski * 

16 REM* ' * 

17 REM*Benoetigte Geraete* 

18 REM* TI99/4A Konsole * 

19 REM* Joystick 1 * 

20 REM* optional: * 

21 REM* TE-II-Modul plus * 

22 REM*Sprach-Synthesizer* 

23 REM* * 

24 REM* Speicherbelegung * 

25 REM* 11033 Bytes * 

26 REM******************** 

27 REM 

100 CALL CLEAR 
110 RANDOMIZE 
120 SPR=0 

130 CALL SCREEN(11) 

140 FOR A=1 TO 12 
150 CALL COLOR(A,16,7) 

160 NEXT A 

170 PRINT :::::: 

180 PRINT ".S U R G E 

O N": : ".(TE-2 MODU 

L)": .MIT SPRACHE ? <J 

/N)": : : s : : : s : : : s 

: _(c) M.LIPOWSKI 1985" 

190 CALL KEY <0,K,S) 

200 IF S=0 THEN 190 
210 IF K=78 THEN 260 
220 IF K=74 THEN 230 ELSE 19 
0 

230 OPEN #1:"SPEECH",OUTPUT 
240 PRINT #1: ""'WELLCOME TO S 
URGEON . . PLEASE ^WAIT" 

250 SPR=1 

260 CALL CLEAR 

270 CALL SCREEN(l) 

280 CALL COLOR(1,1,1) 

290 DATA 33,00000000031F7FFF 
,34,00000000FFFFFFFF,35,0000 
0000C0F8FEFF,40,FF7F1F03,41, 
FFFEF8C,42,FFFFFFFF 
300 DATA 43,0,104,0039203030 
2039,105,007C101010101,106,0 
012A04242A212,112,1C161210F1 
81C06 

310 DATA 113,203C0603010101, 
114,C0C018CCE6E2C2D2,115,F6E 
44C183060C,116,0004066585846 
4,117,0048C84848484E 
320 DATA 136,0000183C3C18,13 
7,081C7E3C183C381,138,00040C 
18306,139,000014183C3,140,00 
245A66182418 

330 DATA 141,001C3464407018, 
142,0000000008,143,000030281 
40C,120,FFFFFFFFFFFFFFFF 







340 DATA 96,0008081C081C36,9 
7,000002167C1602,98,0040683E 
684,99,00361C081C0808,123,FF 
FFFFFFFFFFFFFF 

350 DATA 88,F8E0C0808,89,000 
0008080C0E0F8,90,1F07030101, 
91,000000010103071F,92,F8E0C 
08080C0E0F8 

360 DATA 93,1F0703010103071F 

,95,00FF,37,0044442810284444 

,38,004444281010101,39,007C0 

4081020407C 

370 RESTORE 290 

380 FOR A=1 Tü 40 

390 READ B,B$ 

400 CALL CHAR(B,B*> 

410 NEXT A 

420 D*(1> ="C3E7FFFFFFFFE7C3" 
430 D*(2)="B181C3FFFFC38181" 
440 D$(3)="0000S1FFFF810000" 
450 D$ (4) ="000000FFFF000000" 
460 D$ (5) ="000081FFFF810000" 
470 D$(6)="8181C3FFFFC38181" 
480 D$(7) ="C3E7FFFFFFFFE7C3" 
490 F*(1)="FFFF7E3C3C7EFFFF" 
500 F$(2)="FF3C181818183CFF" 
510 F$(3)="3C1818181818183C" 
520 F$(4)="1818181818181818" 
530 F$(5)="3C1818181818183C" 
540 F*(6)="FF3C181818183CFF" 
550 F$(7)="FFFF7E3C3C7EFFFF" 
560 CALL CHAR(121,D$ <4)) 

570 CALL CHAR<122,F*(4)) 

580 CALL SCREEN(12) 

590 DATA 1,6,12,2,6,14,3,5,1 

,4,5,1,5,2,1,6,2,1,7,2,1,8,7 

,1,9,16,7,10,1,1 

600 DATA 11,13,1,12,7,1,14,1 

5,7 

610 CALL SOUND(99,-1,1) 

620 FOR A=1 TO 9 
630 CALL COLOR(A,2,1) 

640 NEXT A 

650 PRINT "SPIELANLEITUNG ? 

J N": ::::::::::: 


L 

I 

S 

T 

I 

N 

G 

S 


660 CALL KEY(0,K,S) 

670 IF S=0 THEN 660 
680 IF K=74 THEN 690 ELSE 70 
0 

690 GOSUB 4160 
700 RESTORE 590 
710 FOR A=1 TO 13 
720 READ B,C,D 
730 CALL COLOR(B,C,D) 

740 NEXT A 

750 CALL HCHAR(24,22,72) 

760 CALL HCHAR(24,23,83) 

770 CALL HCHAR(24,24,58) 

780 CALL HCHAR(24,30,43,3) 
790 CALL HCHAR(23,30,43,3) 
800 DATA "tu.SURGEON 


... qs" 

xyxxxxxyxxxxxxxy xxx " 


810 DATA "xXZxXZx\.» . 3xX_ 

.ZxX Zx","x.-xYCxxxyxxx... 


• ■ ■ ■ 

xY. . 

..X", 

>•-7 t, 

Z • m 4 X 

y% 

XX 

X...Zx. 

m • m • 

. . XX 

X . - . z 

ii 




820 

DATA 

"xY. 

. . - z . 

m 

. . 

*7 - _ - _ 

..Zx 

X. . . 

X ", "x 

X X X X X 

X 

XX 

xYCxY. . 

. •.. 

Cx. . 

. Cx" , 

II 

m 

• m 

.Zxxxxx 

xxxx 

yxxx 

xxxx 

II 




830 

DATA 

"xxx 

x y x x x 

Y 

. . 

..ZxX.. 

■. ■ . 

. x X " 

, "x\. 

_Zx 

X 

XX 


• • • • 

. x . - 

hji " , 

"xxyx 

X 

X . 

- . Zx Y C 

xY. . 

.... 

CxY" 





840 

DATA 

"xX 

X xx. . 

. 

Cx 

x yx x x y x 

yxyx 

X X X X 

xxx C" 

, "xY. 

. 

. . 

CxxxxX 

ZxX. 

.... 

.ZxX" 

, " X X X 

V 

yx 

xxX. . . . 


Cx Y. xY" 

850 DATA ". Cxxxxxxxxx 

yx xx xx xx","x x xxxx x x x x X Zx X.- 

_Zx...Zx","xX-z.x. 

.CxY...x" 

860 DATA "z..xxxxY- z . 

..xxx...z","x..x X Zx x x yx xx . . . 

_xX_x" , "xYCxYCx\ _ UxY 

. Cx Y Cx ! #" 

870 DATA "xxxxxxxxxyxxxxxyxx 
xxxxxyxxx (*)" 

880 RESTORE 800 
890 FOR A=1 TO 22 
900 READ A$ 

910 FOR B=1 TO LEN(A*> 

920 CALL HCHAR<A,1+B,ASC(SEG 
*(A*,B,1))) 

930 NEXT B 
940 NEXT A 

950 CALL HCHAR(21,31,34) 

960 E$="^WELLCOME TO SURGEON 
. ODOCTOR" 

970 GOSUB 990 
980 GOTO 1070 

990 IF SPR=0 THEN 1000 ELSE 
1050 

1000 TON=INT(RND*400)+220 
1010 FOR T=0 TO 30 STEP 2.5 
1020 CALL SOUND(-99,TON,T) 
1030 NEXT T 
1040 RETURN 
1050 PRINT #1:E* 

1060 RETURN 
1070 Z=0 
1080 ML1=0 
1090 SC=0 
1100 ZZ=120 
1110 BA=0 
1120 LP=0 

1130 CALL GCHAR(1,2,S) 

1140 IF SOI 16 THEN 100 
1150 CALL HCHAR(23,1,32,28) 
1160 CALL HCHAR(4,29,32,4) 
1170 CALL HCHAR(24,1,32,19) 
1180 CALL COLOR(9,16,7) 

1190 CALL COLOR(10,1,1) 

























1200 CALL HCHAR(13,31,123) 
1210 TE2=0 
1220 XX—13 
1230 YY=30 

1240 CALL HCHAR (XX,YY , 97 ) 

1250 E$="YQUR A >ROBOT PROBE" 

1260 GOSUB 990 

1270 GOSUB 3330 

1280 Z=Z+1 

1290 TE2=TE2+1 

1300 CALL CHAR(121,D$(Z)) 

1310 CALL CHAR(122,F$(Z)) 

1320 IF Z<7 THEN 1340 
1330 Z=0 

1340 IF BA=0 THEN 1360 
1350 IF (Z=2)+(Z=3)+(Z=4)+(Z 
=5) + C Z=6)THEN 1060 
1360 CALL SOUND(-4250,-5,Z*4 
) 

1370 CALL JQYST(1,X,Y) 

1380 IF TE2>150 THEN 2520 

1390 IF (X=0)*(Y=0)THEN 1280 

1400 IF X=—4 THEN 1450 

1410 IF X=4 THEN 1470 

1420 IF Y=—4 THEN 1490 

1430 IF Y=4 THEN 1510 

1440 GOTO 1370 

1450 P=97 

1460 GOTO 1520 

1470 P=98 

1480 GOTO 1520 

1490 P=99 

1500 GOTO 1520 

1510 P=96 

1520 CALL HCHAR(XX,YY,Z Z) 
1530 XX=XX+(Y/-4) 

1540 YY=YY+(X/4) 

1550 CALL GCHAR(XX,YY,Z Z) 
1560 IF ZZ=120 THEN 1570 ELS 
E 1590 
1570 BA=0 
1580 GOTO 2500 

1590 IF (ZZ=121)+(ZZ=122)THE 
N 1600 ELSE 1630 
1600 IF (Z=l)+(Z=7)+(Z=0)THE 
N 1610 ELSE 1860 
1610 BA=1 
1620 GOTO 2500 
1630 IF ZZ >135 THEN 2560 
1640 IF (TI = 1 )*(Z Z= 1 23)THEN 
2660 

1650 CALL HCHAR(XX,YY,P) 

1660 FOR A=0 TO 30 STEP 5 
1670 CALL HCHAR(XX,YY,96) 
1680 GOSUB 3980 
1690 CALL COLOR(9,14,1) 

1700 CALL HCHAR(XX,YY,98) 

1710 GOSUB 3980 

1720 CALL SOUND(-999,-7,A) 

1730 CALL HCHAR(XX,YY,99) 

1740 GOSUB 3980 

1750 CALL COLOR(9,16,1) 

1760 CALL HCHAR(XX,YY,97) 


L 

I 

S 

T 

I 

N 

G 

S 


1770 GOSUB 3980 
1780 NEXT A 
1790 E$="'>AUTCH" 

1800 GOSUB 990 

1810 IF ZZ <88 THEN 1820 ELSE 
1830 

1820 ZZ=32 

1830 CALL HCHAR(XX,YY,ZZ) 

1840 CALL HCHAR(L,M,120) 

1850 GOTO 2040 

1860 CALL HCHAR(XX,YY,P) 

1870 FOR A=0 TO 30 STEP 5 
1880 CALL HCHAR(XX,YY,96) 

1890 GOSUB 3980 

1900 CALL COLOR(9,11,7) 

1910 CALL HCHAR(XX,YY,97) 

1920 GOSUB 3980 

1930 CALL SOUND(-999,- 6 ,A) 

1940 CALL HCHAR(XX,YY,99) 

1950 GOSUB 3980 

1960 CALL CQL0R(9,16,7) 

1970 CALL HCHAR(XX,YY,98) 

1980 GOSUB 3980 
1990 NEXT A 
2000 E$="^>_OUPS" 

2010 GOSUB 990 

2020 CALL HCHAR(XX,YY,ZZ) 

2030 CALL HCHAR(L,M,120) 

2040 G=INT(RND*3)+1 
2050 ON G GOTO 2060,2090,212 
0 

2060 E$="WHAT HAVE "YOU DONE 

?" 

2070 GOSUB 990 
2080 GOTO 2140 

2090 E$="PLEASE "• HELP ME DO 
CTOR" 

2100 GOSUB 990 
2110 GOTO 2140 

2120 E$=""DOC . PLEASE " >CAU 
TION" 

2130 GOSUB 990 

2140 E$="NEUES SPIEL ? J N" 

2150 TY=23 

2160 GOSUB 4010 

2170 IF ML1 >6 THEN 2240 

2180 E$="SORRY . PLAY AGAIN 

. HEAD "HIGH" 

2190 GOSUB 990 
2200 E$="ANFAENGER" 

2210 TY=24 

2220 GOSUB 4010 

2230 GOTO 2430 

2240 IF ML1>13 THEN 2310 

2250 E*="YOU ARE A - ^>STUDE 

NT" 

2260 GOSUB 990 
2270 E$="STUDENT" 

2280 TY=24 

2290 GOSUB 4010 

2300 GOTO 2430 

2310 IF ML1>19 THEN 2380 

2320 E$="YOU ARE A ^>INTERN" 





2330 GOSUB 990 
2340 E*="INTERN" 

2350 TY=24 
2360 GOSUB 4010 
2370 GOTO 2430 
2380 E*="SURGEON" 

2390 IF ML2<>1 THEN 2340 

2400 TY=24 

2410 GOSUB 4010 

2420 GOSUB 4060 

2430 E*="^NEW ^>GAME . J OR 

X 'N ?" 

2440 GOSUB 990 
2450 CALL KEY <0,K,S) 

2460 IF S=0 THEN 2450 

2470 IF (K=74) + (K= 106) THEN 1 

070 

2480 CALL CLEAR 
2490 STOP 

2500 CALL HCHAR(XX,YY,P) 

2510 GOTO 1280 

2520 CALL SOUND(-1,-1,30) 

2530 E*="^TIME IS '>OUT x ">DO 

CTOR“ 

2540 GOSUB 990 
2550 GOTO 1860 
2560 ZZ=120 

2570 CALL HCHAR(XX,YY,P) 

2580 TI=1 

2590 CALL SOUND(-1,-l,30) 
2600 CALL COLOR(10,16,6) 

2610 IF SPR=0 THEN 2640 
2620 PRINT #ls ,,A >OUPS ^'DOCTO 
R" 

2630 GOTO 1280 

2640 CALL SOUND(-99,110,9,11 

2,7) 

2650 GOTO 1280 

2660 IF SPR=0 THEN 2820 

2670 CALL SOUND(—1,—1,30) 

2680 GOSUB 3890 

2690 CALL HCHAR(XX,YY,P) 

2700 QT =INT(RND*5) +1 

2710 ON QT GOTO 2720,2740,27 

60,2780,2800 

2720 PRINT #1 s"EXIT . DOCTER 

•i 

2730 GOTO 2810 

2740 PRINT #1:"RIGHT DOC" 

2750 GOTO 2810 

2760 PRINT #1s"YOU ARE VERY 

GOOD DOCTOR" 

2770 GOTO 2810 

2780 PRINT #1:"FINE . YOU HE 
LP ME DOCTOR" 

2790 GOTO 2810 

2800 PRINT #1:"YOU ARE THE B 
EST DOC" 

2810 GOSUB 3920 

2820 CALL COLOR(14,2,1) 

2830 CALL HCHAR(XX,YY,P) 

2840 FOR LM=1 TO 7 

2850 CALL SOUND<-299,800-LM* 


L 

I 

S 

T 

I 

N 

G 

S 


10,LM) 

2860 CALL HCHAR(13+LM,31,ML) 
2870 CALL HCHAR(13+LM,31,32) 
2880 NEXT LM 

2890 FOR LM=0 TO 30 STEP 2.5 
2900 CALL SOUND(-99,-7,^M) 
2910 NEXT LM 
2920 GOSUB 3890 
2930 GOSUB 990 

2940 E*=”IN X \>THE . 'DUSTBIN 

II 

2950 GOSUB 990 

2960 GOSUB 3920 

2970 TE3=150 

2980 TE3=TE3—TE2 

2990 SC=SC+LP+TE3 

3000 FOR 1=1 TO LEN(STR*(SC) 

) 

3010 CALL HCHAR(24,14+I,ASC( 
SEG*(STR*(SC) ,1,1))) 

3020 IF SCCHS THEN 3050 
3030 HS=SC 

3040 CALL HCHAR (24,24+1 ,ASC( 
SEG*(STR*(SC) ,1,1) )) 

3050 CALL SOUND(—1,—1,9) 

3060 NEXT I 
3070 ML1=ML1+1 

3080 FOR 1=1 TO LEN(STR*(ML1 
) ) 

3090 CALL HCHAR (4,29+1 ,ASC(S 
EG*(STR*(ML1),1,1)>) 

3100 NEXT I 

3110 IF ML1< = 19 THEN 3180 
3120 GOSUB 3890 
3130 IF SPR=0 THEN 3150 
3140 PRINT #1:"THIS GAME IS 
OVER . . YOU ARE THE SURGEON 


3150 GOSUB 3920 

3160 ML2=1 

3170 GOTO 2140 

3180 I=INT(RND*3)+1 

3190 GOSUB 3950 

3200 ON I GOTO 3210,3240,327 

0 

3210 E*="^>FINE DOC" 

3220 GOSUB 990 
3230 GOTO 3290 
3240 E*="•'"THANKS DOC" 

3250 GOSUB 990 

3260 GOTO 3290 

3270 E*="^THANKS ^DOCTOR" 

3280 GOSUB 990 

3290 GOSUB 3920 

3300 E*= “ O+K LETS+^GO . ' % NEX 

T '->ROUND -^>DOCTOR" 

3310 GOSUB 990 
3320 GOTO 1180 
3330 M=INT(RND*20)+1 
3340 L=INT(RND*20)+2 
3350 CALL GCHAR(L,M,U) 

3360 IF UO120 THEN 3330 
3370 CALL GCHAR(L,M+1,U) 



3380 CALL GCHAR < L,M—1,U1) 
3390 CALL GCHAR(L+l,M,U2) 
3400 CALL GCHAR(L-l,M,U3) 
3410 IF (U=121) + <U=122) + < U1 = 
121) + <U1=122) + (U2=121) + (U2=l 
22) + < U3=121) + < U3=122)THEN 33 
30 

3420 ML=INT(RND*8)+1 

3430 ÜN ML GOTO 3440,3490,35 

40,3590,3640,3690,3740,3790 

3440 ML=136 

3450 LP=100 

3460 FA=16 

3470 E*=" A VIRUS" 

3480 GOTO 3830 
3490 ML=137 
3500 LP=150 
3510 FA-16 

3520 E*="WHITE "VIRUS" 

3530 GOTO 3830 
3540 ML=138 
3550 LP=50 
3560 FA=12 
3570 E^="^>WORM" 

3580 GOTO 3830 
3590 ML=139 
3600 LP=200 
3610 FA=15 

3620 E$= ""'LITTLE TUMOR" 

3630 GOTO 3830 
3640 ML=140 
3650 LP=400 
3660 FA-10 

3670 E$=""GREAT "TUMOR" 

3680 GOTO 3830 

3690 ML=141 

3700 LP—300 

3710 FA—16 

3720 E$="^TAPEWORM" 

3730 GOTO 3830 
3740 ML=142 
3750 LP—50 
3760 FA—4 

3770 E$=" A >BACTERIA" 

3780 GOTO 3830 
3790 ML=143 
3800 LP=350 
3810 FA-12 

3820 E$="^GREAT "">BACTERIA" 
3830 CALL HCHAR(L,M,ML) 

3848 CALL COLOR <14,FA,7) 

3850 GOSUB 3890 

3860 GOSUB 990 

3870 GOSUB 3920 

3880 RETURN 

3890 IF SPR—0 THEN 3910 
3900 PRINT #ls"//63 255" 
3910 RETURN 

3920 IF SPR-0 THEN 3940 
3930 PRINT #l:"//40 64" 

3940 RETURN 

3950 IF SPR—0 THEN 3970 
3960 PRINT # 1 :"//1 0.16" 


3970 RETURN 
3980 FOR ZE=1 TO 16 
3990 NEXT ZE 
4000 RETURN 

4010 FOR 1 = 1 TO LEN <E$) 

4020 CALL HCHAR(TY,2+I,ASC(S 
EG$(E$,I, 1 ))) 

4030 CALL SOUND(1,-3,19) 

4040 NEXT I 
4050 RETURN 

4060 DATA 6,262,2,196,6,262, 
2,196,2,262,2,196,2,262,2,33 
0,6,392 

4070 DATA 6,349,2,294,6,349, 
2,294,2,349,2,294,2,247,2,29 
4,8,196 

4080 IF ML1<19 THEN 4150 
4090 RESTORE 4060 
4100 FOR D=1 TO 18 
4110 READ A,B 

4120 CALL SOUND<A*99,B,0,B+B 
4130 NEXT D 

4140 CALL SOUND(1,-l,30) 

4150 RETURN 

4160 PRINT ".S U R G 

E 0 N": "__ 

ll 

4170 PRINT "ERREICHEN SIE DE 
N TITEL": :"EINES SURGEON.DI 
ES IST": :"JEDOCH KEINE LEIC 
HTE AUFGABE" 

4180 PRINT :"VERSUCHEN SIE V 
IEREN,TUMORE": :"WUERMER UND 
BACTERIEN AUS": :"DEM ARTER 
IENSScSTEM IHRES" 

4190 PRINT :"PATIENTEN MIT D 
ER ROBOTSONDE": : "'U ENTFERN 

EN .>>": : s : 

4200 CALL KEY <0,K,S) ' 

4210 IF S=0 THEN 4200 

4220 CALL CLEAR 

4230 PRINT "HABEN SIE NUN ET 

WAS ENTFERNT": :"LEUCHTET DA 

S E’/.IT SCHILD AUF": : "BRINGE 

N SIE DEN FREMDKOERPER" 

4240 PRINT :"BIS 'UM ENDE DE 
R BLUTBAHN.": :"DORT WIRD ER 
DANN AUTGMA": :"TISCH IN DE 

N ABFALLEIMER" 

4250 PRINT :"GEWORFEN.SIE BE 
KOMMEN DANN": :"DIE JEWEILIG 
E PUNKT'AHL DES": :"FREMDKOE 
RPERS PLUS DIE VER" 

4260 PRINT :"BLEIBENDE 'EIT 

GUTGESCHRIE": :"BEN. 

. »" 

4270 CALL KEY(0,K,S) 

4280 IF S-0 THEN 4270 
4290 CALL CLEAR 
4300 PRINT "VERLASSEN SIE DI 
E BLUTBAHN": :"IST DAS SPIEL 
'UENDE UND IHR”: :"ERREICHT 


L 

I 

S 

T 

I 

N 

G 

S 








ER SPIELGRAD WIRD" 

4310 PRINT :"ANGE'EIGT.ANFAE 
NGER,STUDENT" : :"INTERN ODER 
SURGEON.": :"IHRE ROBOTSOND 
E IST IN JEDE" 

4320 PRINT :"RICHTUNG STEUER 

BAR.ALSO": :"VORSICHT. 

. >>" 

4330 CALL KEY(0,K,S) 

4340 IF S=0 THEN 4330 

4350 CALL CLEAR 

4360 PRINT M ";CHR$(136>;" VI 

RUS.100 P": 

CHR$<137);“ WEISSER VIRUS... 
..150 P“ 

4370 PRINT :"";CHR$(138)?" W 

ORM.50 P" : : H ” 

;CHR$<139);" KLEINER TUMOR.. 
_200 P“ 

4380 PRINT :"”;CHRT<140);" G 
RÖSSER TUMOR..... 400 P": :"" 

;CHR$(141);" TAPEWORM. 

1..300 P" 

4390 PRINT :"";CHR$(142);" B 

ACTERIE.50 P": 

;CHR*<143);" GROSSE BACTERIE 
...350 P" 

4400 CALL KEY(0,K,S) 

4410 IF S=0 THEN 4400 
4420 CALL CLEAR 
4430 RETURN 


L 

I 

S 

T 

I 

N 

G 

S 


BÖRSE 


Verk. günstig: TI 99/4A + 
Exp. Box + Floppy (int.) + 
Ex. B. + Zub. i. orig. + wie 
neu, Tel. 0821/516766, ab 
19.00 Uhr. 


Verk. Module: Orig. Mini 
Memory 150,— DM, Othello, 
Statistik, u.a. Je 35,— DM. 

U. Rücker, Sandstr. 66, 

4330 Mülheim/Ruhr. 


Verk. TI 99/4A + Rec.-Kabel 
für 120,— DM, Peter Müller, 
Tel: 069/778761. 

TI 99/4 A + Exb. + Parsec + 
Joyst. + Rec. Kabel + 
TI-Revue (komplett) + Pro¬ 
gramme 300,— DM. Tel: 
02134/96724, ab 20.00 Uhr. 

Suche Chess Modul bis 40,— 
DM. Tel: 02421/17673. 


Hey Leute! Wer hätte denn 
Bock mit mir den „Turbo“- 
Club zu gründen? J. Klaas 
Tel: 02562/1362. 


Verk. Schachmodul 60,— 
DM, Attack 20,- DM, Sta- 
tistikm, 30,- DM, RS232 
cxt. 200,- DM. Suche 
RS232 int. Laufw. TE (2). 
Tel: 04131/55457. 


Olivetti - PR2400 Thermo¬ 
drucker, V24, 7x10 Graphik, 
240 Zcilcn/min. 150 - 19200 
Baud neuw. 1100,— DM, 
Buchungsjoumal 100,— DM. 
Hans-Dieter Freitag, Wallstr. 
5, 6312 Laubach 5. 


TI 99/4 A + Esbas II Plus + 
Module + Cass.Rec. + Hefte 
+ Programme + Rec.-Kabel 
+ Joystick zu verk. — für 
600,- DM. Tel: 02305/25 
687. 


Maschinen-PGM’s auf Kasset. 
Textverarbeitung 70,— DM, 
Editor/Assembler 60,— DM 
Tel: 0561/887129, L. Krauss. 


Verk. Ext.-Spiele. Liste geg. 
1,— DM. Bei: Axel Kwias, 
Sadowastr. 19 a, 5600 Wup¬ 
pertal. 


Speichererweiterung 32 K, 
batteriegepuffert, KontroII- 
LED, extern durchgcf. BUS 
für 190,- DM. Tel: 0241/ 
86447. 


Minimem -Modul + Softw. 

+ E/A-Handbuch + TI-Spc- 
zial f. TMS 9900-Assemblcr 
+ Literatur, 250,- DM, Tel: 
0511/8252. 


Verk. Spiclmodule: Congo 
Bongo, Amazing Burger 
Time, Car Wars, Tombstonc 
City u. Hunt the Wumpusü! 
je 20,- DM!!! Tel: 0231/63 
6829. 


CI6 CI6 CI6 
Suche alles über C 16. Ange¬ 
bote an: E, Hillenkötter, Tel: 
02363/5997 - 


Verk.: TI + Box + 1 Disk + 
Contr. + ExBasic + Joystick+ 
3 Mod + Casska. + Superkass. 
+ Disk — Software 1000,— 
SFr. Schnell! Bei R. Hiestand, 
Luziaweg 4, CH-8807 Freien¬ 
bach. 


Verkaufe für TI 99 Siemens 
Floppy mit DiskkontrollcrU! 
Ruft S. Altstadt an: Tel: 
07253/22681. 


Bastler sucht defekte Feile 
und Schaltpläne für TI/99 
meldet Euch bei: S. Altstadt, 
Hochstr. 23, 6909 Mühlhau¬ 
sen. Tel: 07253/22681. 


Verk. noch nicht benutzte 
Atronic-Schnittstelle zum 
Originalpreis, 505,— DM. Dr. 
Jörg Preiffer, C.-H.-Str. la, 
7637 Ettenheim. Tel: 
07822/5591. 


INfo über RI-CC 40 gesucht. 
(Monitor-Interf.-Verbindungs 
Kabel zum TI 99/4A...) Ste¬ 
fan Ostendorf, Gasselsticge 
57, 4400 Münster. 


***Suche*** 
für TI passend Drucker u. 
Schnittstelle oder Atronics 
Nur günstige Angebote. Ncu- 
mann Torfstich, Tel: 029 
48/1850. 


TI 99/4 A Konsole, Drucker 
Interface MBI Module Datcn- 
vcrwaltung + Tcxtvervv., Bü¬ 
cher, Cassetten, 10 Stück, 

TI-Revue 480,- DM, Tel: 
0231/656812. 


Suche RS232 für TI 99/4 A 
Scikosha GP 100. Buys, Tel: 
0228/349324. 


Verk. TI-Pcri-Box mit Disk 
und Controller, 32 KRam, 
Ccntronic Schnittstelle, VB 
1000,- DM, Tel: 06071/22 
315. 


Verk. Original TI-Disk-Drive 
F. Box 200,- DM, Tel: 
089/7003732. 


Suche Tl-Writer oder gutes 
Ex-Basic Tcxtverarbcitungs 
Programm. Carsten Biesok, 
Dicselstr. 15, 2903 Ofen. 


Suche externes TI-Laufwcrk 
Angebote an: Jörg Kliem, 
Elsa-Brandström 37, 5042 
Erftstadt. 


Thermo Drucker Minitherm 
Modell 1201 von CD für 
Bastler VB 120,— DM. Mo¬ 
nitor Drehfuß 25,— DM, TMS 
9901 (neu) 20,- DM. Daniel 
Pylatiuk, Bessungcr Str. 127, 
6103 Griesheim. 


!!!Suche dringend!!! 
TI-Ex-Basic + d + Handbuch! 
Tel: 021 1/689176, ab 19.00 
bis 22.00 Uhr. 


Verk. 32 K 200,- DM, 
Assembler 70,— DM, James- 
Bon d-Programm 10,— DM. 
Jörg Römer, Kurze Gasse 3, 
6570 Kirn. 


Textvcrarbeitungsprogr. ge- Verk. Original Tl-Joystick’s 
sucht. Cass/DSK. Hans Enderl zum Preis von 30,— DM. 


Am Gcorgstollcn 2, 7290 
Freudenstadt. 


NOTEN DATEI-Progr. 
Ideal für alle Lehrer. Punkte/ 
Note, Zeugnisnoten etc. in 
Exbasic. Tel: 07441/7228. 


Oliver Siffrin, Tel: 
06821/7522. 


Verk. Ext.-Spiele. Liste geg. 
1,— DM. Bei: Axel Kwias, 
Sadowastr. 19 a, 5600 Wup¬ 
pertal 1. 


Suche billiges, aber gut er¬ 
haltenes Grafik-Tablett für 
TI 99/4 A mit Ex-Ba. Tel: 
08105/22123. 


Verk. original TI Box mit 
Laufwerk und allen Kar¬ 
ten und vielen mehr. An¬ 
ruf lohnt sich! Tel: 07231/ 
41436. 


Verk. TI-Konsole, Recorder, 
Module, Ext. Basic, Joysticks, 
Software. Tel: 07456/ 

578. 


Verk. TI 99/4 A. M.P. Box 
RS232 Laufwerk + Contr. 
+ R. Module: DVA, Stat, 
Text u. DV. Diskma. N., 
Fußb. + Othello 1900,- 
DM. Tel: 02596/2302. 


Suche Progr. für 32 K + Ex- ; 
Basic auf Kass. Biete pro 
Progr'. 2 meiner TI- oder Ex 
Basic Programme. Andreas 
Scholz, Londoner Ring 6, 
6700 Ludwigshafen. 

Suche im Tausch gegen Par¬ 
sec, Invaders und Carwars 
eine TI 99/4 A Defektkonso¬ 
le. Hauptsache Tastatur und 
Gehäuse sind in Ordnung! 
Evtl, mit Pal Modulator und 
Netzgerät. Dringend! Andreas 
Scholz, Londoner Ring 6, 
6700 Ludwigshafen, Tel: 
0621/666424. 


TI Module, Schach 20,- DM, 
Yathzee, Blasto, Munch-Man 
je 25,- DM. Tel: 
01/9354252. 






































CLUB- ECKE 




te in der gesamten Bundes¬ 
republik sowie in allen 
anderen Ländern. 

Ob alle diese Ziele zu ver¬ 
wirklichen sind, wissen 
wir erst, wenn bekannt 
ist, wieviele Interessenten 
Im Kreis Pinneberg es gibt. 

(Norddeutschland) soll Wer sich also bei uns mel- 

ein neuer Computerclub den möchte, schreibt 
entstehen. Wir wollen uns bitte an: 

hauptsächlich mit dem TI T.I.S.S. 

beschäftigen, aber auch Thorsten Ziehm 

Interessenten mit ande- An der Au 17 
ren Systemen können sich 2081 Haseldorf 
gerne bei uns melden 

(ein SX-64 ist vorhanden). Die letzte Mitteilung für 
Unser Hauptziel ist es, heute kommt vom 
eine Clubzeitschrift zu Club der Toten: 

entwerfen und einen ver¬ 
stärkten Software-Aus- Der Club der Toten (CDT) 
tausch einzuleiten. Ferner zieht Zwischenbilanz, 
denken wir an ein regel- Immer mehr Clubs be- 
mäßiges Treffen und evtl. schäftigen sich entweder 


Beginnen möchten wir Die nächste Nachricht 
heute mit einer Mitteilung kommt aus dem Norden 
des Computer Clubs wo in der Gegend um 

Karben, dessen Einleitung Pinneberg Tl-User zur 
nichts hinzuzufügen ist: Gründung eines Clubs 

Da die Clubecke in der gesucht werden: 
letzten TI-REVUE-Aus- 
gabe wirklich sehr klein 
war, will sich der Compu¬ 
ter-Club Karben mal wie¬ 
der an dieser Stelle 
melden. 

Leider beschränken sich 
unsere Clubaktivitäten 
in der Hauptsache auf un¬ 
sere Club-Zeitung, den 
TI-REPORT, und dem 
Programmtausch. Doch 
wir hoffen, durch weite¬ 
ren Mitgliederzuwachs 
auch von mehr Clubakti¬ 
vitäten berichten zu 
können. 

Die Clubzeitung erscheint 
alle drei Monate. Layout 
und alles das, was für die 
Entstehung der Zeitung 
notwendig ist, wird 
vom TI erledigt. 

Im TI-REPORT kann man 
Testberichte, Program¬ 
mierhilfen, Preislisten usw. 
finden. Auf den 26 
„Drucker-Seiten“ der er¬ 
sten Ausgabe dieses Jah¬ 
res ist sicher für jeden 
User etwas dabei. Beson¬ 
ders interessant ist der 
CCK für den, der auch 
aufs Geld achten muß 
(und das gilt ja wohl für an einen Datenaustausch 
jeden!), denn immer mehr m it Hilfe eines Akkustik- 
Firmen bieten für Club- kopplers. Wir sind be- 
mitglieder Rabatte an. müht, einen guten Kon- 
Auch ein neues Adventure takt zwischen Tl-Usern 
für das Adventuremqdul herzustellen, der auch 
wurde von den Mitglie- nach längerer Zeit nicht 
dem des Clubs entwickelt, vergessen wird. 

“Last Mission“ ist für Wer sich bei uns melden 
DM 30,— zu haben. Für möchte, sollte mindestens 
Clubmitglieder kostet es eine TI-Konsole, einen Kas- 
DM 20,—. settenrekorder und das 

Der Beitrag im CCK beträgt Extended-Basic Modul 
für 3 Monate DM 4,—; besitzen, 

billiger ist es kaum zu ha- Da ich selbst eine kom- 

ben. Darin enthalten ist plette Anlage habe, d.h. 

die TI-REPORT-Ausgabe mit Diskettenstation, 

für diesen Zeitraum und 32-KB, Editor/Assem- 

die Programmtauschliste. bler usw., sind auch TI- 

Der Programmtausch Fans mit anders ausgestat- 

(ganz legal!) kostet — teten Anlagen herzlich 

außer Porto — nichts. willkommen. Sehr inter- 

Weitere Informationen essiert sind wir auch an 
über den Club gibt es für Usern mit neuem Zube- 
80 Pf. Rückporto. hör, wie z.B. von 

Unsere Adresse: Atronic oder Radix 

Computer-Club Karben (CPS99, 256 KB usw.). 

Jochen Schmitt Wir sind bis jetzt leider 

Am Hellenberg 24 nur drei aktive TI-Anwen- 

6367 Karben 1 der, suchen aber Kontak- 


mit anderen Computern 
oder hören ganz auf. 
Schade! 

Aber der Tl-User muß 
nicht verzweifeln, denn es 
gibt da ja noch den Club 
der Toten und wir bieten 
weiterhin: Clubinfo, Soft¬ 
waretausch, Einkaufsge¬ 
meinschaften, nach 
Wunsch Treffen, usw. 
(und das für 12,— DM/ 
Jahr). Aber jetzt kommt 
der Hammer: 

Der Club der Toten bietet 
ein starkes Computerma¬ 
gazin für TI-99/4A und 
VIC=20Ü! Es heißt 
2099er!!! 

Wie der Name entstanden 
ist, kann man sich ja wohl 
denken. (20 von VIC=20 
und 99 von TI-99/4A und 
er von 64er) 

Wir wollen aber nicht et¬ 
wa der TI-REVUE Kon¬ 
kurrenz machen.sondern 
noch mehr Literatur für 
den Tl-User bieten, der 
es wirklich nötig hat. 


Die erste Ausgabe, einigen 
von Euch wohl schon be¬ 
kannt, kam vor 2 Monaten 
heraus, jetzt gibt es schon 
Ausgabe Nr. 2. 

Wir wollen aber nicht al¬ 
len Nicht-CDT-Mitglie- 
dem die 2099er vorent¬ 
halten, daher machen wir 
folgendes Angebot: 

Wer uns zwei 50 Pfg-Mar- 
ken schickt (Porto und 
Verpackung) erhält die 
2099er Ausgabe Nr. 2. 
Unsere Adresse: 

2099er 
Am Hang 5 
2054 Geesthacht 
In der 2099er sind auch 
Angaben zum Club der 
Toten gemacht. 


Übrigens solltet Ihr natür¬ 
lich allen Anfragen an die 
Clubs Rückporto beile¬ 
gen. Das war’s dann für 
heute, bis zum nächsten 
Mal auf der Club Seite. 
Noch ein kurzer Brief 
für alle Clubs zum Nach¬ 
denken: 


Wie ich der TI-REVUE 
entnehme, gründen und 
treffen sich immer wieder 
neue TI-99-Clubs, schön 
für‘alle! Der TI ist und 
bleibt ein guter und 
leistungsfähiger Computer 
und man kennt inzwischen 
ja schon Leute, die der¬ 
art auf ihn schwören, daß 
sie mit einem Apple 
oder anderem PC nicht 
tauschen würden. 

Es ist auch schön, wenn 
Erfahrungen mit dem TI 
ausgetauscht werden; 
was mich nur so ärgert ist, 
daß jeder Club sein eige¬ 
nes Süppchen kocht, 
sprich: eine eigene Club¬ 
zeitung macht. Dadurch, 
so meine ich, ist uns allen 
nicht gedient, schon gar 
nicht Leuten, die weit 
vom nächsten Club ent¬ 
fernt wohnen und sich 
alles selbst erarbeiten 
müssen. 

Meine Bitte: Veröffent¬ 
licht Euer Wissen und 
Eure Erfahrungen, Tips 
und Tricks doch in einer 
käuflichen Zeitung, wie 
der TI-REVUE. 

Gerold Saß, Berlin 



SERVICE 


TI-FORTH: 

EINE MÄCHTIGE 
PROGRAMMIER¬ 
SPRACHE ! 

Dieser Artikel, und die eventuell noch folgenden, versteht sich als 
eine Art Einführung in Tl-Forth. Es wird jedoch vorausgesetzt, daß man 
schon einige Erfahrungen in der Arbeit mit Tl-Forth hat. Anhand einiger 
kleiner, aber nützlichen Routinen, und später mit größeren 
Programmen, werden verschiedene Aspekte des Tl-Forth besprochen. 


Das Wichtigste in Forth und auch 
eine der größten Unterschiede zu 
Basic, Pascal und anderen Program¬ 
miersprachen ist wohl der Stapel 
(= Stack) und die Stapelorientie¬ 
rung. 

Es gibt drei solcher Stapel, den 
Datenstapel, den Returnstapel und 
den Wörterstapel (= Dictionary). 

Alle Rechenoperationen verlaufen 
über den Datenstapel. Der Retum- 
stapel enthält die Rückkehradressen 
und die Zwischenwerte, und der 
Wörterstapel enthält die Forth- 
wörter, welche die Routinen und 
Programme sind. 

Es gibt verschiedene Wörter, die den 
Datenstapel manipulieren, aber drei 
der meistgebrauchten Forthwörter 
skid in Tl-Forth nicht enthalten. 

Es handelt sich dabei um die Befeh¬ 
le DEPTH, PICK und ROLL. Wir 
werden diese angesprochenen Wör¬ 
ter selbst definieren. Diese Defini¬ 
tionen finden wir auf Screen 1. 

DEPTH (-n) legt auf den Da¬ 

tenstapel die Anzahl der Elemente, 
sprich Zahlen des Datenstapels, 
vor dem Anruf von DEPTH. Wollen 
wir also wissen, wie groß unser 
Datenstapel im Moment ist, dann 
tippen wir: [DEPTH . <CR>]. 

Alles was zwischen den eckigen 
Klammern steht, muß eingegeben 
werden. Der Punkt bedeutet für 
Tl-Forth, daß es den obersten Sta¬ 
pelwert auf dem Bildschirm ausge¬ 
ben soll. Nachdem der Befehl mit 
ENTER bestätigt worden ist, ant¬ 
wortet Tl-Forth zum Beispiel mit 
der Meldung: 23 OK. Das heißt, daß 
es 23 Zahlen (eine Zahl entspricht 
2 Bytes) auf den Datenstapel vor 
den Anruf von DEPTH waren. Da 
wir die Zahl, die DEPTH auf den 
Datenstapel legt, wieder von ihm ge¬ 
nommen haben (mit .), sind cs im¬ 


mer noch 23. Wenn man wissen will 
welche Zahlen auf den Datenstapel 
stehen, dann kann man dies mit 
[.S <CR >] erreichen. Dieses Wort 
steht auf dem Screen mit dem Na¬ 
men -DUMP. 


DEPTH arbeitet wie folgt: Zuerst 
wird angegeben, daß man ein neues 
Wort definieren will, welches mit 
: geschieht. Dann folgt der Name 
des neuen Befehls, das ist in diesem 
Fall DEPTH. 

Danach erst wird die unterste Sta¬ 
pelposition und dann die oberste 
Stapelposition geholt, dabei lauten 
die Befehle SO und SP. Diese wer¬ 
den subtrahiert und durch 2 divi¬ 
diert, denn jede Zahl besteht aus 
2 Bytes. Das Ergebnis bleibt oben 
auf dem Datenstapel liegen. 

Dann muß nur noch das neue Wort 
abgeschlossen werden, was mit ei¬ 
nem Semicolon (;) erreicht wird. 

PICK (n 1-n2) kopiert die nl. 

Zahl des Datenstapels nach oben. 
PICK arbeitet wie folgt: Nach An¬ 
gabe des Namens des neuen 
Wortes wird die Zahl nl mit zwei 
multipliziert mit DUP + (addieren 
ist schneller als multiplizieren). 

Das Ergebnis wird zum Stack¬ 
pointer addiert und von dieser 
Adresse werden zwei Bytes geholt 
mit dem Wort . 


Die Programmiersprache FORTH ist in vielerlei Hinsicht revolutionär. 

Folgende Vorzüge von FORTH sind dabei besonders hervorzuheben: 

• FORTH ist schnell. Im Schnitt laufen FORTH-Programme mehr als 10 mal 
so schnell wie entsprechende BAS IC-Programme. 

• FORTH erfordert sehr wenig Speicherplatz. Die meisten Compiler blähen 
die Programmlänge enorm auf. Aufgrund der manchmal unglaublichen 
Codeeffizienz von FORTH lassen sich sehr leistungsfähige Programme 
auf relativ wenig Speicherplatz unterbringen. (In einer Projektstudie 
wurde festgestellt, daß ein kompiliertes FORTRAN-Programm von 64K in 
FORTH nur etwa 16K benötigte). 

• FORTH ist strukturiert. Wie alle moderneren Hochsprachen ( PASCAL, C ) 
enthält FORTH schachtelbare Strukturen für Verzweigungen und 
Schleifenbildung. 

• FORTH ist sowohl eine Interpreter- als auch eine Compilersprache. Die 
Programme können genauso einfach interaktiv entwickelt werden wie 
mit einem BASIC-Interpreter. Der genial einfache FORTH-Compiler sorgt 
dennoch für eine wesentlich höhere Ablaufgeschwindigkeit bei 
maximaler Codeeffizienz. 

• FORTH ist maschinennah. Daher kann FORTH in vielen Fällen die 
Assemblerprogrammierung vollständig ersetzen. 

• FORTH kann in beliebiger Richtung erweitert werden und so als 
problemorientierte Sprache für das jeweilige Anwendungsfeld optimiert 
werden. 

• FORTH ist eine offene Sprache. Da FORTH dem Programmierer keine 
Zwangsjacken anlegt, können nahezu beliebige Daten- und Programm¬ 
strukturen verwirklicht werden. 












SERVICE 


ROLL (n-) rotiert das n. 

Wort des Datenstapels nach oben. 
ROLL arbeitet wie folgt: Erst wird 
die n. Zahl nach oben kopiert, aber 
damit man die Zahl n nicht verliert, 
wird diese erst mit DUP dupliziert. 
Das hat aber zur Folge, daß eine 
Zahl mehr auf dem Stapel steht, 
daher fängt man an mit 1+. Dann 
geht’s weiter wie bei PICK mit 
DUP + SP + DUP, das letzte DUP 
dient dazu, daß man die Adresse 
der n. Zahl nicht verliert. Jetzt ro¬ 
tiert man die obersten drei Zahlen 
mit ROT ROT, so daß die Adresse 
der n. Zahl oben steht. Diese wird 
mit 2 subtrahiert und damit zeigt 
unsere Adresse nach die n-1. Zahl. 
Mit SWAP holt man jetzt wieder 
2n+l nach oben und geht damit 
in eine Schleife (n mal, von 0 bis 
2n-l). In der Schleife wird von der 
n-1. Zahl an jede Zahl um 2 Bytes 
nach unten in den Datenstapel ver¬ 
schoben mit DUP DUP SWAP 2+ !. 
Die Schleife wird beendet mit 
2 +LOOP, das heißt, die Index¬ 
variable wird um 2 erhöht. Wenn 
man aus der Schleife kommt, wird 
mit DROP DROP die übriggeblie¬ 
bene Adresse gelöscht und die üb¬ 
riggebliebene Zahl, weil man alle 
Zahlen nach unten verschoben hat. 
Beide Wörter, PICK und ROLL, 
haben den gleichen Effekt, mit 
dem Unterschied, daß PICK die 
Zahl in dem Datenstapel stehen 
läßt, während ROLL sie heraus¬ 
holt. 

Man kann beide Wörter noch mit 
Fehlermeldungen ausstatten, wenn 
sie mittels falscher Parameter 
(Screen 2) aufgerufen worden sind. 
Man muß dann aber im Forthstil 
die Fehlermeldung auf Screen 4 
oder 5 eintragen (Screen 4 und 5). 
Mit den Fehlermeldungen auf 
Screen 4 und 5 sind wir bei zwei 
nützlichen Routinen angelangt „ 
(Screen 3). Die Meldungen dafür 
stehen in Screen 4, Zeile 13 und 14. 


* 

Nutzen 

Sie 



Wie Sie sehen können, sind auf 
Screen 5 noch 5 Zeilen frei für Ihre 
eigenen Meldungen. 

BASE? (-) gibt auf dem Bild¬ 

schirm die hiesige Basis an, womit 
gerechnet wird. Es ist in Forth näm¬ 
lich sehr einfach mit einer anderen 
Zahlenbasis zu arbeiten, man 
braucht nur die gewünschte Basis in 
die Systemvariable BASE zu schrei¬ 
ben, also mit [8 BASE ! ] kann man 
octal rechnen. 

BASE? speichert die hiesige Basis 
auf dem Datenstapel und gibt den 
Inhalt von BASE dezimal auf dem 
Bildschirm aus, nachdem erst Mel¬ 
dung 14 ausgegeben ist. Am Ende 
wird die alte Basis wieder hergestellt, 
da man sie eventuell zur dezimalen 
Ausgabe auf dem Bildschirm ver¬ 
ändert hat. 

FREE? (-) gibt auf dem Bild¬ 

schirm die Anzahl der freien Bytes 
für Forthwörter und Datenstapel 
aus. Mit SP wird die untere Grenze 
des Datenstapels geholt und mit 
HERE die obere Grenze des Wörter¬ 
stapels. Diese werden subtrahiert 
und das Ergebnis auf dem Bild¬ 
schirm mit Meldung 13 ausgegeben. 
Weiter finden Sie auf Screen 3 
noch zwei Wörter, die mit dem 
Datenstapel rechnen. SGN und . 

SGN (nl-n2) gibt auf den 

Datenstapel das Zeichen von nl. 

-1 für negativ, 0 für 0 und 1 für 
positiv. Da eine Dividierung durch 
0 in TI-Forth 0 ergibt, ist die Defi- 
nierung des Befehls sehr einfach. 

(nl n2-n3) liefert auf den 

Datenstapel nl zur Potenz n2. 

Das Wort präpariert den Daten¬ 
stapel so, daß in der Schleife immer 
nl auf der zweiten Position des 
Datenstapels steht, man braucht 
dann diese Zahl nur zu holen und 
zu multiplizieren, nach der Schleife 
wird sie dann gelöscht. 

Das Wort .S haben wir schon ken¬ 
nengelernt. 

Es gibt die Zahlen, die im Daten¬ 
stapel stehen, auf den Bildschirm 
ohne den Datenstapel aus, 
ohne den Datenstapel zu ändern. 
Beim Entwickeln von eigenen 
Forthwörtem ist es sehr nützlich, 
wenn so was auch mit dem Return¬ 
stapel, gehen würde. 

Diesem Zweck dient das Wort .RS 
(Screen 6). 

Es gibt alle Returnadressen und 
Zwischenwerte, die auf dem Return¬ 
stapel stehen, auf dem Bildschirm 
aus. Für den Wörterstapel gibt es auf 
dem -DUMP Screen ein ähnliches 
Wort, VLIST. 



REVUE 

DAS MAGAZIN 
FÜR FREUNDE 
DER KOMPATIBLEN 

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


Nr. 6/86/Juni 


ENTWICKELT: 


Zwölf Seiten 
Dialog, Tips 
&THcks 

EiNGETiPPT 


Lisfings 
für Ihren 


Roh Prikimou-ski 


■ ■ 








LISTING 


J 


h 


SCR 

0 

1 

2 

3 

4 

5 

6 

7 

8 
9 

10 

11 

12 

13 

14 

15 

SCR 

0 

f 

X 

2 

3 

4 

5 

6 

7 

8 
9 

10 
11 
12 
- 13 

14 

15 


#1 

( DEPTH, PICK and ROLL > 
: DEPTH 

S0 SP ~ 2 / 1- . ; 

: pick 

DUP + SP + 5 


1+ DUP DUP + SP + DUP ROT ROT 2- SWAP 
0 DO 

DUP DUP SWAP 2~- * 2- 

LOOP 

DROP DROP ; 


#2 

( PICK und ROLL mit Feh 1er&nzeige ) 

: äPiCKU dup * sp + ; 

: FICK 

DUP DEPTH 2- SWAP - 0< 5 9ERR0R DUP 0> NOT 5 ?ERROR äPICKü 

: äROLLü 1+ DUP DUP + SP + DUF ROT ROT 2- SWAP 
0 DO 

DUP DUP SWAP 2+ ! 2- 
LOOP 

DROP DROP ; 

: ROLL 

DUP DEPTH 2- SWAP - 0< 5 9ERR0R DUP 
1 > NOT 5 7ERR0R äROLLü ; 


SCR #3 

0 < ?BASE, FREE, SGN und ) BASE->R DECIMAL 
1 

2 : 7BASE 

3 BASE DUP DECIMAL CR 14 MESSAGE SPACE . BASE * ; 

4 

5 : FREE 

6 SP HERE - . 13 MESSAGE 5 

7 

8 : SGN 

9 DUP ABS / ; 

10 

11 : 

12 DUP 0= IF DROP DROP 1 

13 Ei.SE SWAP i ROT 0 DO OVER * LOOP SWAP DROP ENDIP i 

14 

15 R->BASE 






LISTING 


i 


SCR #4 

0 ( ERROR MESSAGES ) 

1 empty stack 

2 dicticnary -full 

3 has incorrect address mode 

4 isn’t unique. 

5 bad arguraent 

6 disk error 

7 -full stack 

8 illegale index 

9 -f i 1 e i /a error 

10 -floatirig point error 

11 disk -fence Violation 

12 can’i load -from screen zero 

13 bytes -free 

14 base = 

15 TI FORTH-a -fig-FORTH extension 

SCR 1*5 

0 ( ERROR MESSAGES ) 

1 Compilation oniy, use in definition 

2 execution only 

3 conditionals not paired 

4 definition not finished 

5 in protected dictionary 

6 use only when loading 

7 o-f-f current editing screen 

8 declare vgcabulary 

9 bad jump token 

10 string to long 

11 
12 

13 

14 

15 

SCR #6 

0 < Return stack printer by R-H.H.Prikanowski 
1 

2 BASE->R HEX 

3 

4 : .RS 

5 CR 831C 2- R0 2- .Rö " OVER OVER = 

6 IF 

7 DO 

8 I ü. -2 

9 +LOOP 

10 ELSE 

11 DROP DROP 

12 ENDIF 5 

13 

14 R->BASE 

15 





TIPS & TRICKS 



JOYSTICK 
AM TI OHNE 

ADAPTER 


Platinen durch die mitt¬ 
lere Öffnung. Danach 
nimmt man die große 
Platine heraus und zieht 
die Stecker an der rechten 
Seite ab. Man zieht das 
alte Kabel raus und ersetzt 
es am besten durch ein 
flexibles öpoliges Kabel. 

In Bild (1) sieht man die 
Polung der neu anzubrin¬ 
genden Litzen. Für die 
große Platine benötigt 
man 5 Litzen, die 6. ist 


Viele Joysticks konnte 
man bisher nur über einen 
Adapter an den TI 99/4A 
anschließen. Dem soll 
nun abgeholfen werden. 
Diese Beschreibung zeigt 
den Umbau des Quick¬ 
shot II für den TI. 

Als erstes löst man die 
drei Schrauben am Griff 
des Joysticks. Danach 
nimmt man die Griffscha¬ 
len ab. Dann die Feuer¬ 
knöpfe abziehen und die 


Mit umgebautem 
Joystick direkt 
an den TI 


beiden kleinen Platinen 
herausnehmen. 

Als zweiten Schritt löst 
man die vier Schrauben 
der Bodenplatte. Dann 
nimmt man das Oberteil 
ab und führt die beiden 


für die beiden kleinen Pla¬ 
tinen bestimmt. Nun sucht 
man sich für jeden der 
fünf Anschlüsse eine Far¬ 
be aus und merkt sie sich 
für den Stecker. Danach 
werden an den Anschlüs¬ 
sen 1 —5 die jeweiligen 
Litzen angelötet. Wenn 
das geschehen ist, lötet 
man die beiden Litzen der 
kleinen Platinen ab. Sie 
werden ersetzt durch die 
6. Litze und durch ein 



kleines Kabel, das an Pol 3 
angelötet wird. Diese 
beiden Litzen führt man 1 
nun durch den Griffstum¬ 
mel, Bild (2), unter der 
großen Platine vorbei zu 
den Anschlüssen und dem 
öpoligen Kabel. 

Dann setzt man das Ober¬ 
teil der Grundplatte wie¬ 
der auf und schraubt es 
fest. Danach setzt man die 
linke Seite des Griffes an 
den Stummel und baut 
die kleinen Platinen wie¬ 
der ein. Nun werden die 
Feuerknöpfe angebracht 
und die andere Seite des 
Griffes festgeschraubt. 

Als Zugentlastung des her¬ 
ausführenden Kabels ist 
eine Stecknadel bestens 
geeignet. Man steckt sie 
einfach von innen durch 
das Kabel. 

AUF DIE 

NUMMERN ACHTEN! 


Wenn man den Stecker 
so vor sich liegen hat, 
daß die Lötstifte oben 
sind, kann man kleine 
Nummern erkennen. 
Nummer 1 und 2 sind 
nicht belegt, an Pol 3 
kommt Nr. 2 des Joy¬ 
sticks, an Pol 4 Nr. 9 und 
an Pol 5 die Litze Nr. 1. 
Nummer 6 ist wieder 
nicht belegt und an Pol 7 
kommt Litze Nr. 3, an 
Pol 8 Nr. 5 und an Pol 9 
die Litze Nr. 4. 

Am elegantesten ist es, 
wenn man den 9poligen 
Stecker mit einem 
Steckgehäuse versieht. 

Michael Brakhage 

STÜCKLISTE: 

1 Joystick Quickshot II 
(wenn noch nicht vor¬ 
handen) 

1 6poliges Kabel 
1 9poliger Stecker 
Die Preise für alles liegen 
zwischen DM 30,— (Con¬ 
rad) und 50,— (Elektro¬ 
nikfachhandel) 

Anm.d. Red.: Diese Art 
der Joystick-Anpassung 
funktioniert am TI 99/ 
4A nur, solange nur ein 
Joystick verwendet wird. 
Beim Anschluß von. 2 
Stück beeinflussen diese 
sich gegenseitig. 







TIPS & TRICKS 


Polbelegung: 
3 —Versorgung 
9—Feuer 



Stecker von hinten (Lötstifte) 


Polbelegung am Stecker: 

1 - 

2 - 

3— oben (2) 

4— Feuer (9) 

5— links (1) 

6 — 

7— Versorgung (3) 

8— unten (5) 

9— rechts (4) 


6 

7 

8 

9 

/ 


[ 

5 

1 









TIPS & TRICKS 


CALL FILES 
AUS 

ASSEMBLER 

In letzter Zeit erreichten mich einige Anfragen, wie CALL FILES 
aus Assembler her angesprochen werden kann. Richtig ist, daß dieses, wie 
so einiges Interessante mehr, leider in keinem Buch von Texas Instruments 
beschrieben worden ist. Dennoch ist es durchaus möglich, wir werden 
noch sehen, daß dies ganz einfach ist. 


CALL FILES wird häufig bei 
Assembler-Routinen, die vom Basic 
her aufgerufen werden, benutzt, 
um Platz im VDP-RAM zu reservie¬ 
ren. Dennoch möchte ich eigentlich 
vor dieser Anwendung warnen, 
denn dieser Platz wird ja nicht für 
das Assembler-Programm, sondern 
für den Disk-Controller reserviert. 

In unserem Assembler-Sonderheft 
ist da im Rahmen der „Soundliste 
für X-Basic“ eine viel bessere 
Methode beschrieben worden. 

Nun kann aber natürlich CALL 
FILES in einem Assembler-Pro¬ 
gramm benutzt werden, wenn tat¬ 
sächlich mehr als drei Dateien 
gleichzeitig auf den Diskettenlauf¬ 
werken eröffnet werden müssen. 

Das CALL deutet schon darauf hin, 
daß es sich dabei um ein Unterpro¬ 
gramm handelt. In diesem Fall liegt 
es im ROM des Disk-Controllers 
und wird damit ganz „normal“ 
über DSRLNK aufgerufen, nur, 
anstelle des DATA 8 brauchen wir 
ein DATA 10. Das DSRLNK 
braucht nun üblicherweise noch ei¬ 
nen Peripheral Access Block (PAB), 
der eine Menge Informationen ent¬ 
hält. Von diesem ist bei einem Un¬ 
terprogramm aber nur der Name 
nötig, alle anderen Angaben kön¬ 
nen wegfallen. Was sollte hier auch 
z.B. irgendein Opcode. 

Dafür braucht das Unterprogramm 
natürlich einige andere Werte, in 
unserem Fall bei CALL FILES die 
Anzahl der Files. Diese wird auf der 
Speicherstelle >834C, also im FAC, 
übergeben. Nun wäre es prinzipiell 
möglich, das Unterprogramm mit 
dem Namen FILES aufzurufen. Das 
hat aber einen entscheidenden Feh¬ 
ler. Dieses sucht sich seine ganzen 
Angaben aus dem VDP-RAM auf¬ 
grund der gesamten vom Basic er¬ 
richteten Pointer heraus. Texas 
Instruments hat für unseren Fall 
ein besonderes Unterprogramm im 
Disk-Controller installiert, welches 
auf den intelligenten „Namen“ 


>16 (ein Byte) hört. Damit wurde 
sichergestellt, daß dieses Programm 
auf gar keinen Fall aus dem Basic 
aufgerufen werden kann, denn der 
ASCII-Wert > 16 ist ja über die 
Tastatur nicht erreichbar. 

Das Beispiel zeigt nun, wie das Un¬ 
terprogramm aufgerufen wird. 

Zuerst wird der Name des Unter¬ 
programms in das VDP-RAM ge¬ 
schrieben. Hier ziemlich umständ¬ 
lich, aber das soll der besseren Deut¬ 
lichkeit dienen. Es wird also >0116 
in das VDP-RAM; gelegt. Dann wird 
auf >836C (Byte!) die Anzahl gelegt, 
in unserem Beispiel also 1, jedoch 
ist jeder Wert zwischen 1 und 9 
(bei manchen Disk-Controllern auch 
10 gleich >0A möglich). Der hier 
verwendete Befehl MOV könnte 
damit auch MOVB heißen. 


CALL FILES DARF NUR AM 
ANFANG EINES PROGRAMMES 
DURCHGEFÜHRT WERDEN 


Es folgt die übliche Pointerbelegung 
von >8356 für DSRLNK. Dann kom¬ 
men noch ERROR-Abfragen. Das 
JEQ ERROR wird ausgeführt, wenn 
das Unterprogramm nicht gefunden 
wurde, wenn also kein Disk-Control¬ 
ler angeschlossen ist. Trat während 
der Ausführung des Unterpro¬ 
gramms ein Fehler auf, dies ist zum 
Beispiel der Fall, wenn die Anzahl 
für die Dateien zu groß gewählt wur¬ 
de, ist die Speicherstelle >8350 un¬ 
gleich 0. Dieser Error wird durch ein 
Lesen von >8350 in ein Register und 
dem anschließenden JNE abgefragt. 
Das war dann schon das ganze 
Hexenwerk. CALL FILES darf aber 
immer nur zu Beginn eines Pro¬ 
grammablaufes durchgeführt wer¬ 
den. Es ändert den Bereich des frei 
zur Verfügung stehenden VDP-RAMs. 
Der Zeiger auf die höchste freie 
Speicherstelle im VDP-RAM steht 
auf >8370. Auf gar keinen Fall darf 
CALL FILES von einem Assembler¬ 
programm aufgerufen werden, wel¬ 
ches von einem Basic-Programm ge¬ 
startet wird und auch wieder zu ei¬ 
nem Basic-Programm zurückkehrt. 
Auch müssen, bevor CALL FILES 
aufgerufen wird, alle Dateien auf 
Disketten vorher geschlossen sein. 
Wird dies nicht beachtet, kommt es 
unweigerlich zu Fehlfunktionen des 


FILES 

BYTE 

>01 

*LAENGE DES NAMENS 


BYTE 

>16 

*NAME DES UNTERPROGRAMMS 

SUBP 

LI 

0, >0630 

*CALL FILES ; 


LI 

1,FILES 

*MIT SUB >16 


LI 

2,>0002 



BLWP 

0VMBW ' 

*PAB NAME SCHREIBEN 


LI 

1,>0100 

*IM ERSTEN BYTE ANZAHL FILES 


MOV 

1,@>334C 

^ANZAHL SETZEN 


MOV 

0,@>3356 

*P0INTER FUER DSRLNK BELEGEN 


BLWP 

0DSRLNK 



DATA 

10 

*SUBPROGRAMM AUFRUFEN 


JEQ 

ERROR 



MOV 

@>8350,1 

TERROR ABFRAGEN 


JNE 

ERROR 


* NUN 

HIER PROGRAMM 


WEITER 



ERROR 

LI 

0,>3000 

* HIER ERRORHANDLUNG EINFUEGEN ; 


MOV 

0,0 >8370 

* Z.B. FIKTIVER WERT ENDE DES RAMS 


END 






TIPS & TRICKS 


Basic-Programms bzw. des Disk- 
Controllers, welches Datenverlust 
und sogar die „Zerstörung“ der ein¬ 
gelegten Disketten zur Folge haben 
kann. Unter Zerstörung ist dabei 
natürlich nicht eine mechanische Be¬ 
schädigung gemeint, sondern der 
Verlust aller auf der Diskette befind¬ 
lichen Daten/Programme. 

Hemer Martin 



VIEL SPASS MIT 
APESOFT- 
GRAFIK, ABER ... 

* 

Viele Tl-User haben mittlerweile 
die Apesoftgrafik durch das neue 
Extended Basic II Plus kennenge¬ 
lernt und haben viel Spaß mit ihr. 
Leider gibt es jedoch für das Ape- 
soft-Basic nicht sehr viele Program¬ 
me, die helfen, Befehle zu ver¬ 
stehen. 

Mit diesem Bericht möchte ich da¬ 
zu aufmuntern, sich mal wieder mit 
der wirklich schönen Grafik von 
Apesoft zu beschäftigen. Einige 
Beispielprogramme sollen Anregun¬ 
gen für weitere neue Ideen mit 
Apesoft geben. 

Ein sehr interessanter Befehl des 
Apesoft ist “TURN“, mit dem sich 
schöne Grafiken erstellen lassen, 
wie dieses erste kurze Programm 
zeigt: 

100 REM TURN&RECT 
110 REM +++++++++ 

120 REM 

130 REM MATTHIAS ORF 
140 REM 
150 REM 

160 CALL L1NK(“GRAF1C“.0) 

170 CALL LINK(“WINDOW“.3.8) 
180 CALL LINK(“SETTO\65,60) 
190 FOR A=2 TO 40 STEP 2 
200 B=A+5 

210 CALL LINK(“RECT“,A.B,-A, 
B,A,-B,-A,-B) 

220 CALL LINK(“TURN“.9) 

230 NEXTA 
240 GOTO 240 
Bei diesem Programm wird ein 
Rechteck, das aus vier Einzelrecht¬ 
ecken besteht, nach jeder Ausgabe 
auf dem Bildschirm um neun Grad 
gedreht und wieder neu gedreht. 
Hierbei entsteht ein interessantes 
Muster. Die Zahl in Zeile 220 hinter 
TURN sollte man einmal.ändern, 
und schnell erhält man ein anderes 
Muster. 

Im nachfolgenden kurzen Pro¬ 
gramm dreht sich mittels TURN 
ein Quadrat um 89 Grad nach links, 
wobei ein schönes Muster entsteht. 
Hier sollte man auch einmal die 
Variablen in den Zeilen 190 und 
210 ändern, um andere Muster zu 
erhalten! 

100 CALL LINK(“GRAFIC“,0) 
110 CALL LINK(“WINDOW“.3.8) 
120 CALL LINK(“SETTO“,64,60) 
130 FOR 1=5 TO 92 
140 CALL LINK(“MOVE“,I) 

150 CALL LINK(“TURN“,89) 

160 NEXTI 
170 GOTO 170 


Ändert man bei diesem Programm 
in Zeile 150 die Zahl 89 in 170 um, 
so entsteht ein wunderschöner Stern. 
Mittels einer Umänderung kann man 
so mit Apesoft eine vollkommen 
neue und andere Grafik erhalten. 

Mit dem letzten Programm werden 
die schönen Farben mit Apesoft¬ 
grafik zusammen präsentiert. Es 
werden in immer neuen Farben, 
die mittels Zufallsgenerator gewählt 
werden, Säulen dargestellt. Drückt 
man während des Programmablaufs 
die Leertaste, so endet das Pro¬ 
gramm, ansonsten wird, wenn fünf 
Säulen auf dem Bildschirm darge- 
slellt sind, der Screen gelöscht 
und es werden fünf neue Säulen 
dargestellt. 

Man könnte in das Programm bei¬ 
spielsweise einbauen, welche Far¬ 
ben für Vorder-, und Hintergrund 
gewünscht werden, oder man könn¬ 
te das Programm total umkrempeln 
und für jede Säule einen Wert ein¬ 
geben lassen; es sind der Phantasie 
also keine Grenzen gesetzt. 

Zeile 260 sollte man einmal ver¬ 
größern oder verkleinern. Wird die 
Zahl verkleinert, so stehen die 
Säulen dichter nebeneinander, wird 
die Zahl vergrößert, so stehen die 
Säulen weit auseinander. 

100 RANDOMIZE 

110 CALL L1NK(“GRAFIC“,0) 

120 CALL LINK(“WINDOW“,3,8) 
130 CALL LINK(“CENTRE“,1,80) 
140 E=0 

150 A=INT(RND+100)+1 

160 V=INT(RND+13)+3 

170 H=INT(RND+13)+3 

180 CALL LINK(“SETCOL“,V,H) 

190 CALL LINK(“HSTDIA“,-X, 

-35,10,A,12) 

200 X=X-20 

210 IFX=-100THEN CALL LINK 
(“CLTBLE“):: X=0 :: GOTO 
220 ELSE 220 

220 CALL KEY(0,K,S)::IF K=32 
THEN 230 ELSE IF K 32 
THEN 140 

230 CALL LINK(CLTBLE“)::CALL 
CLEAR::END 

Vielleicht macht mal jemand aus die¬ 
sen und anderen Grafikbeispielen 
ein großes Apesoftgrafik-Demo und 
schickt dieses als Programm an die 
TI-REVUE! Alle Apesoftbesitzer 
würden sich bestimmt freuen, neues 
“Futter“ für diese Grafikerweite¬ 
rung zu bekommen. 

Wer noch an weiteren Programmen 
für Apesoftbasic Interesse hat, der 
kann von mir gerne noch weitere 
Programme erhalten. 

Ich freue mich über jeden Brief, 
egal ob positiv oder negativ zu die¬ 
sem Bericht. 

Matthias Orf 


59 




BÖRSE 


Suche billig TI-Markcting Mo¬ 
dul, C. Monzel, Tel: 0208/ 
35389. 


Verk. TI 99/4A + Ext. Basic 
3 32K-Erweiterung. Tel: 
06071/48198. 


Verk. TI 99/4 A + Ex.Basic + 
2 Tl-Joysticks + Ree. Kabel 
+ 30 Progr. + Zeitschrift, für 
250,- DM. Tel: 02445/8023. 


Verk. TI 99/4 A, Ccntr. Inler- 
f. , 9 Module (ExTB Diagno¬ 
se, Schach), 2 Joysticks, viel 
Literatur, VB 750,- DM, 

Tel: 02734/60447. 

TI 99/4 A, Ex Basic, Rec.Ka¬ 
bel, Joystick + Adapter + Mo¬ 
dul Datenvervv., div. Progr. 
Literatur. 450‘- DM. Tel: 
0202/626993. 


Wer will Spiele tauschen? 
W'ollen Sie eine Modultcsl- 
zeilschrift. Dann rufen Sie 
ab 18.00 Uhr die Nummer: 
05231/66544. 


Wer tauscht eines seiner Mo 
dule gegen 25 Superspiele, 
wie Slicks oder Moon Racc, 
ab 18.00 Uhr, Tel: 05231/ 
66544. 


Suche TI 32 K-RAM-Karte 
für P-Box. W. Rexin, Haupt- 
str. 135, 4800 Bielefeld 14. 


Verk. TI 99/4 A, Ex-Basic, 
Box, 32 K-RAM, RS232, 
Disk-Contr. + Disk-Manager, 

+ 1 Laufw. + 2 Module: 

Text u. Datei, Datenv. + Ana¬ 
lyse. Tel: 0231/871581. 

Preis: VB. 


Verk. Peri-Böx, Laufw., Con- 
tr., Manager 1050,— DM, Ex.- 
Bas. 130,— DM, Soccer 30,— 
DM, Joystick 40,— DM, Tel: 
05121/62716. 


Verk. Ext. 32 K Erweiterung 
(batteriegepuffert) und orig. 
Ex-Basic für 400,— DM. Sven 
Porstendorfer, Brahmsstr. 23 
2200 Elmshorn. 


Suche für TI-Artist und für 
Graphik. Hardcopy für Seiko- 
sha. GP-700 A und TI 99/ 

4 A. Tel: 0234/353958. 

Verk. Zeitlupenmodul (J/O 
Port) mit Standbild und Gc- 
schwindigkeitsrcgclung für 
60,— DM. Sven Porstendor¬ 
fer, Brahmsstr. 23, 2200 
Elmshorn. 


Suche cxt. o. internen Disk- 
contr. Michael Burcsch, Am 
Freidhof 23, 2200 Elmshorn 


Verk. ZIG Module u.a. MM, 
MRS, Pacman, Pole, Position, 
Preis? 32 RAM = 100,- 
DM. Tel: 02407/891 1, ab 
19.00 Uhr. 


Verk. TI 99/4 A + Zubeh. 
z.B.: RS232, 32 K RAM, Pe- 
ri-Box, Ed, As., Ext. Basic. 
Tel: 091 1/512793. 


Verk. TI 99/4 A + Ex.Basic + 
Joystick + Zubehör + Cass.- 
Rec. Alles nur 300,— DM + 
Hefte. Tel: 089/6377807. 

Verk. Original TI Disc-Contr. 
karte für Peri-Box 200,- DM 
M. Freuler, Grülstr. 58, CIl- 
8625 Gossau. Tel: 0193/ 
54252. 


Ü1HILFEÜ! 

Benötige dringend Ex.Basic- 
Handbuch (deutsch) evtl, 
im Tausche gegen Minus- 
Mission-Modul. Angebote 
an: Malte Slief, Tel: 0421/ 
832194. 

Suche X-Basic mit dt. Hand¬ 
buch (ca. 100,- DM). Tel: 
08142/14737. 


Suche günstig Peri-Box mit 
Anschlußkabcl, Controller, 
Disk, Disk Man. Tel: 07532/ 
801 1448, ab 16.00 Uhr, 
Klaus Kromcr. 


Commodore VC 20 (neu), 
Netzteil, Videointcrf. und 
Literatur, 150,— DM Olym¬ 
pia Kofferschreibmaschinc 
100,- DM. Max Markl, Vor¬ 
derstraße 11, 7240 König¬ 
stein 3, Tel: 06173/1588. 


Suche Diskkontr. für doppel¬ 
seitiges Laufwerk oder Schalt¬ 
plan (Copy). Tel: 0751/ 
45981, ab 18.00 Uhr. 


TI-Anfänger sucht kostenlos 
Programme in Ex.Basic (alles) 
oder gegen ger. Beträge auf 
Kass. Christian Monzel, Hing- 
bergstr. 128, 4330 Mülheim- 
Ruhr. 


Verk. RS232/Forth/Buch TI 
Intcrn/TI Rcchnungsstellung/ 
TI Adv.-Spielc/ Tausche Pro- 
gr./Mod. Zero Zap. Tel: 
07141/461147. 


Verk. Exbas. Handbuch 
dcutsch/cnglisch zus. 50,— 
DM. TI-Rcv. Ausg. 1 /84 - 
4/86 zus. 30,- DM. Tel: 089/ 
3137650. 


Suche: Tl-Kontakt im Raum 
Donauwörth. Ex-Basic + E/A 
+ Minimem. 32 K + Disk + 
RS. E. Hilgcr, Tel: 0906/91 
676. 


Verk. Schachmodul für 75,— 
DM. Michael Burcsch, Am 
Freidhof 23, 2200 Elmshorn. 


Suche Tauschpartner mit 
DSK für E/A- und Ex. Bas. 
Progr. P. van Eecke, Im Nau- 
ert 3, 6940 Weinheim. 

Verk. TI-99/4 A wegen Sy- 
stemwechsel. Info von: 
Markus Theimer, Schwcden- 
str. 2, 6203 Hochheim. 


Verk. TI Literatur: Tips & 
Tricks 20,- DM, 99 Special I 
25,- DM, 99 Special II 30,- 
DM, Chip Programmsamm¬ 
lung 10,— DM. Ausserdem 
einen Basic-Kurs auf 10 Kas¬ 
setten. Verkauf auch einzeln. 
Tel: 0214/401384, 1 7.00 bis 
20.00 Uhr. 

Hallo Tl-User! Das ist sensa¬ 
tionell! Verk. Tunnel of 
Doom-Modul für 30,— DM. 
Tausche außerdem Spiele in 
TI-Basic und extended Basic. 
Verk. Marketing-Planspiel 
und Ihr Finanzberatcr (je 
7,— DM) Also ran ans Tele¬ 
fon: Thorsten Löw, 07130/ 
7165. 


Verk. orig. Adventure-Modul 
(mit Pirate Adv.) 50,— DM. 
Norman Keller, Tel: 06081/ 
7477. 


Suche Edilor/Asscmbler (90), 
dt. E/A Handbuch (35), 

Tel: 09741/3654, ab 
17.00 Uhr. 


Suche: Diskcontr. DS6DD 
intern oder extern. Sprach¬ 
synthesizer, Modulgehäuse, 
Programmiere Ihre Eproms: 
z.B. für Modulplatine, Q- 
Save-Modul. Angebote an 
und Info von: Peter Rieger, 
Talstr. 64, 6750 Kaiserslau¬ 
tern, Tel: 0631/73669. 


Suche kaufm. Software, so¬ 
wie E/A Modul + Software. 
Angebote bitte an: Tel: 091 
23/12249, tägl. ab 18.00 Uhr. 


Achtung TI 99 User 
Ich möchte meine externe V. 
24 (RS232) Schnittstelle von 
Texas Instruments für 250,— 
DM verkauf. Sie können mich 
wochentags von 15.00 bis 
19.00 Uhr unter 08161/615 
37 erreichen. 


TI 99/4 A, Ext. B. + dt. 
Handbuch, Recorder + Rcc.- 
Kabcl, Tl-Joysticks, 120 Pro¬ 
gr., Literatur, für 330,— DM 
A. Hausendorf, Normanncn- 
str. 61,4200 Oberhausen I. 
Tel: 0208/863619. 


Endlich ist es da!!! Deutsches 
Handbuch für^TI-Writer und 
TI-Forth. Preis pro Buch: 
45,— DM. Ralph Weber, 
Langemarckstr. 54, 8906 
Gersthofen. 


TI 99/4 A + Ex. Bas. + Hand¬ 
buch + Rec. Kabel + Adap.. 
Joystick + Cetronics Schnitt¬ 
stelle 450,- DM. Tel: 024 
08/58090. 


Verk. TI 99/4 A. Sven von 
Loga, Königsforststr. 29, 
5000 Köln 91 (Brück) 

Verk. TI 99/4 A, 3 Module, 
Rec.Kabel, RS232-Schnitt- 
stclie, Druckcr-GP 100 A, 
VB 520 - DM. Tel: 0281/ 
2012128. 


Verk. TI Grafiktablett, VB 
150,— DM. Bei: Michael 
Hausier, Tel: 071 1/766526. 


Int. MSX-Club?l ? Man, das 
wär doch was! Von Anfang 
an dabei sein! Infos und Pro¬ 
gr. austauschen! Mit Clubzei¬ 
tung und Archiv! Heute noch 
cintreten. Info für 2,— DM 
(bar) bei: Helge Jans: Hohe 
Luft 18; 3111 Suhlendorf. 


Computer-Zeitschriften billig 
abzugeben, CPU, 1IC, Chip, 
Happy, CK, Comp.-Per, Total 
140,- DM. Tel: 06157/ 

4684. 


Seikosha-Druckcr 550 A mit 
Interface für TI 99/ 4 A, 18 
Schriftarten, kompl. mit 
deutscher Anleitung 900,-DM 
VB — auch einzeln. Tel: 
06142/562190. 


Verk. TI 99/4A Komplett- 
system. Kons. P.-Box 32K RS 
232, orig. LW, 2 Slim-line, 
LWa 180 K, Ext. Basic, Ed- 
Ass, Tl-Writer, 2 Joyst., Pac- 
Man, Tl-Invadcrs, Software + 
Literatur. — Auch einzeln! 

H. Rögner, Lammsg. 12, 

8500 Nürnberg. 


Verk. wegen Systemwech¬ 
sel TI 99/4 A mit viel Zube¬ 
hör! Auch einzeln. Tel: 0211/ 
422216 tägl. ab 18.00 Uhr. 


Verk. TI 99/4 A + Recorder 
+ RecKabel + Schachmodul 
+ Spiele + Buch + Zeitschr. 
nur 300,- DM. N. Borsch, 
Schöner Blick 31,8560 Lauf. 
Tel: 09123/12125. 


Verk. TI 99/4 A Modulator, 
CH 4, 30,— DM. Netzteile 
20,- DM. Trafo 20,- DM. 
Ed. Assembler, Buch 40,— 
DM, TI Intern 20,- DM. Tel: 
06155/4692; 












































BÖRSE 


TI 99 + TI Rec. + Ex Bas + 
Kabel für 2 Rec., Bücher, Hef¬ 
te, 50 Stück und anderes Zu¬ 
behör. Preis VB. Tel: 02041/ 
28321. 


Texas Disklaufw. Intern we¬ 
nig benutzt 280,— DM, 35 
Disk, voll, VB. Tel: 02041/ 
28321. 


Maschinensprache für Cass. 
Verkaufe Assembler + Disass. 
auf Eprom für den ROM- 
Bereich, Modulplatine mit 
TI E/A + Line by Line Ass. 

+ Disass. im ROM-ßereich für 
99,- DM, 32 K notw. Tel: 
04421/203151. 


Verk. TI 99/4 A + Exl. B. + 
Cass.Rec. + Kabel + TI Joy¬ 
stick + Prog.Cass. + viel Li¬ 
teratur. 400,- DM VB. Tel: 
02234/14615. 


Wer lauscht für TI-Ext.B. Pro¬ 
gramme? Melden bei Hclmar 
Schuschnig. Tel: 089/8369 
58. 


Verkaufe Text-Editor m. An¬ 
leitung 50,— DM. Module: 
„Amazing“ u. „Hustle“, zus. 
50,- DM. Tel: 040/6523901. 


Verk. TI 99/4 A, Ext. B. + 
Joystick Adapt, ca. 200 
Spiele (Cass.) 330,— DM. 
C. Traugott, Humboldlslr. 
130, 8500 Nürnberg 40. 


Verk. TI 99/4 A mit dt. 
Anleitung + Ext.B. + TI- 
Invader + Parsec + Joystick, 
400,- DM. Tel: 0911/ 
745157, ab 14.00 Uhr. 


Verk. C 16 + 64 K + Datas. 
+ 2 Joystick Adapter + 
Turbo-Tape + 5 Bücher + 
viele Programme für 400,— 
DM. Tel: 02445/8023. 


Assembler-Programme für 
E/A, XB, MM+ 32 K: Disk- 
Editor, Fasl-Copy, GPL- 
Disassembler. Info gg. Frei¬ 
umschlag. Alles sofort liefer¬ 
bar! M. Eichhorn, Ziegelheck 
1,6240 Königstein 4. 


Verkaufe TI wegen Hobby-' 
aufgabe. Habe alles: 2 Lauf¬ 
werke, P-Code, Ed. Assemb., 
alle Module, Sprachein-, aus 
gäbe, Matrixdrucker und vie¬ 
les andere. Rufen Sie 07174/ 
5206, ich schicke per Post 
Aufstellung. Auch Einzelkauf 
möglich. 

Verk. div. Module z.B.:' 
Schach 50,— DM, TE II 
60,— DM, Statistik 30,— DM 
u.v.m. - auch Progr. auf Dsk. 
o. Cass. Tel: 09223/12249. 


Verk. Drucker, Epson RX 
80 m. Interf. anschluß f. TI 
99 40,- DM, 600,- DM Tl- 
Thermodruckcr, 200,— DM 
Datcnverw.-Modulc, Text 

und Datei, je 50,— DM, Tel: 
04621/33294. 


Habe noch Module original 
verp. Ex 130,— DM, Munch 
Man 30,- DM, Yahtzee 20,- 
DM, Personal-Rep. 50,— DM, 
Datenverw. 30,— DM Or. Joy 
Amo Heinrichs, Hauptstr. 72 
a, 5068 Odenthal, Tel: 021 
74/40616. 


Hallo TI-Freaksü! 

Verk. tausche Software. 
Verk. Exlened Basic. Tel: 
0201/712816. 


IHRES GRAPHIK für X-Basic 
(Sinuskurvcn, Kreise u.v.a.) 
10,— DM (inkl. Kassette u. 
Porto, Schein) an: Julian Pye, 
Schönblick 7, 8050 Freising, 
Tel: 08161/62165 Prog. mit 
ausf. Anleitung. XB-Untcr- 
programme. 


Suche Schaltplan vom TI 99 
/4 A. Verk. geg. Höchstgeb. 
Schachmodul. Tel: 0208/ 
608869. 


Suche/Biete + Tausche TI 99/ 
4A Hardware + Original Soft¬ 
ware, G. Bürger, Im Pump 5, 
3051 Auhagen, ab 17 Uhr 
Tel. 05725/6409 


ACHTUNG TI-USER!!!!!! 

Da ich unbedingt Geld be¬ 
nötige, bin ich gezwungen, 
ein paar Zubehörteile meines 
TI.s zu verkaufen: Das wären 
das Household Budget Mana¬ 
gement 

Modul Preis VB 

Yahtzee-Mdoul Preis VB 

Zero Zap-Modul Preis VB 

Beginning Grammers-Modul 
(ideal für Englischanfänger) 

Preis VB 

Meldet euch unter 07156/349 
41 JAN 


Dringend. Suche das Modul 
möglichst billig!!! 
07156/34941 JAN 


Wer hat Interesse, mit mir 
E/A-Programme (hauptsäch¬ 
lich Spiele) zu tauschen? 
Ralph Benzinger, Wilhelm- 
str. 65, 6800 Mannheim 51 

Invaders (Modul) 30,—; 
Parsec (Modul) 35,—; Tomb- 
stone (Modul) 25,—; Schach¬ 
meister (Modul) 60,—; 
Superspiele (Buch 15,—je- 
wils + Porto (Nachnahme o. 
Vorauskasse) T. 06245/6315 


Verkaufe: Ti 99/4A 

100,- 

MODULE 


Return to Pirate’s 

30,- 

Adventure + 11 Adv. 

70,- 

Microsurgeon 

30,- 

Espial 

35,- 

Miner 2049 

30,- 

Dragon Mix 

5- 

EX Basic 

130,- 

Moon Mine 

22,- 

HARDWARE 


32 K-Erw. extern 


(CMOS-RAM) 

150- 

Joystick-Adapter 

12,- 

Sprach-Synthesizer 

82,- 

neuwert. Recorder 


+ Recorder-Kabel 

90,- 

30 Kassetten (6oo P.) 

45- 

oder pro Stück 

2,- 

diverse TI-Bücher 

95,- 

diverse Tl-Zeitschr. 

45,- 

TI Spezial 1 u. 2 

10,- 

Tunnels of Doom 

37,- 

Turbo Assembler (C) 

37,- 

bei Komplett-Abnahme ist 

der Preis 875 DM statt 1055 

DM 



Bestellungen an: 

A. Schlaht/Große Str. 79/ 
2802 Ottersberg 1 
Tel. 04205/1857 
Mo—Fr 18.30-20.00 h 


Verk. TI99/4A, X-Basic+ 
Handb., 32 KB+Centronics+ 
Druck.Kabel Datenverw.+ 
Analyse, Text u. Da e/A, div. 
Literatur, 31 Taps m. Pro¬ 
gramm. Rec.Kabel + Joy¬ 
stick, wegen Aufgabe alles 
zusammen nur: 650,— DM 
Tel. 0941/88288 ab 17 h 


Ti 99/4A Komplettsystem 
incl. Ex Basic, Box, Disk, 
32K, RS 232 Software, di¬ 
verse Module Orig. Tl-Soft- 
ware (Writer, Lagerverw., 
Rechnungsstellung) 

Div. Literatur (Special I + II, 
etc.) 

M. Mayr, Adolf-Damaschke- 
Str. 7, 6102 Pfungstadt 
VHB 2200,- DM 


TI 99/4A, Kassrec., Exp. Box 
Laufw. (DSDD) + Contr. 

(4 Laufw) -i Manager, 32 K, 
RS232, ExBas. Datenv. + 
Analyse, Stat., Joyst., TI- 
Text/Datei, ID-Data/ID- 
Konto, Lagerverw., teilwe. 
Neugeräte, kompl. VHB 
2.500,— evtl, einzeln, 05745/ 
2181 


Neue Software für Yamaha 
CS5, M: FM-Voicebankloader 
(3 Voicebanks in 1 mischen, 
192 Sounds ohne M-Macro 
anspielbar), FM-Sequence- 
chain (Composersongskop¬ 
peln), DX21-Simulator, 
Topsounds. Infocassette mit 
48 Voices, 3,20 DM bei 
Frank-Dieter Klefe, Rciche- 
nauerstr. 5, 7900 Ulm-Lchr 


Verk. od. Tausch! Home- 
financ. Dec. Houshold- 
Management + Carwars + 
Alpinter + Tombstone-City 
+ Musik-Maker + A-Maze- 
ing + Indoor-Soccer + alle¬ 
origin. TI-Module + 
Mini-Assembler v. Fa. Radix 
+ 60 Comp. Kurs in 6 SM 
** Su. Hard + Software od. 
sehr billig. *** Tel. Nr. 
08841/40346******** 


Suche die Steuerkarte die in 
der B-Box neben dem Trafo 
und Gebläse sitzt und die 
Stromverteilung für die 
Steckkarten und das Lauf¬ 
werk reguliert. Bitte anrufen 
telf. 071 1/843775 


* WORTSCHATZ * Das TI- 
Vokabel-Programm, das wirk¬ 
lich alles bringt. (ExBasci) 

2 Disketten inkl. 3000 Vo¬ 
kabeln Englisch, nach The¬ 
men geordnet: DM 30 
(Scheck od. NN) Info 1 DM 
od. Tel.: 0221 256696 
Ulrich Wolf Fahrenhcitstr. 

16, 5300 Bonn 1 


K K 000 N N TTT AAA K K 
TTT 

KK 00NNTAAKKT 
KK 0 0 NNN T AAA K K T 
K K 000 NNTAAKKT 
XB+32K yeah! 

U. Bolte, Am Sportplatz 
3065 Nienstaedt 1 


SUPERANGEBOT 
TI99/4A + Compact Peri¬ 
pherie System CPS99 + 
Seikosha 500 Drucker + E/A- 
Packet (Modul, Buch, Disk) 

+ EX-Basic + Schachmodul + 
sonst. Zubehör + alle Ti- 
Revue + Literatur + ca. 

300 Prgs. * nur 3000,- 
Tel. 06821/5531 


Wissen Sie zufällig von der 
Existenz eines Kassetten¬ 
interfaces für den CC-40 
(evtl, von Privatanbietern 
oder TI-Clubs)? Da der CC-40 
in vielerlei Hinsicht Software¬ 
kompatibel zu m TI 99/4a + 
ExBasic ist, wäre ich Ihnen 
dankbar, wenn Sie in Ihrer 
Zeitschrift auf dieses Gerät 
vielleicht einmal eingehen 
würden. 

Stefan Ostendorf, Gassel- 
stiege 57, 4400 Münster 


Suche TI-Writer, Multiplan 
verk. Tl-Cas. Finanzberater, 
Spiele 1,— + Sp. 2, Marke¬ 
ting B — für Anfänger je 
DM 10,— Mudol-Pac-Man 
50 DM, Konsole mit Kabel 
130,— DM. Drucke Listings 
kostenlos — nur Rückporto 
von Disk oder CAS. 

Tel. 06805/8393 


61 




































BÖRSE 


Verk. Ext. Basic 80,— DM. 
Mini Mcm. 80,— DM. Kon¬ 
sole 110,— DM. Chr. Lang, 
Tel: 0871/61574. 


Achtung TI-Freundeü! 
Verkaufe eine komplette TI- 
Anlage. Ela-Minimem-RS232 
usw. weit über 200 Program¬ 
me. Neupreis ca. 6500 DM 
für nur VB 4000 DM (nur 
komplett) Tel. 06101/86860 


Ich verkaufe: 

Das Spielen, Ler. Arb. Hand¬ 
buch zu 20 DM 
Ein Ext. Basic Handbuch 
(Englisch) zu 25 DM 
und eine Kassette m. ca. 30 
Spilcn zu 1 5 DM 
Tel.806525 oder evtl. 8591 15 
Andreas Berkenbrock, 4600 
Dortmund 16, Evinger Berg 8 


Verk.: Datenrecorder &: Kabel 
nur 60,— DM, Modul Munch- 
man für 20,— DM, Schach¬ 
modul für nur 50,— DM, 
Progr.kassetten mit divers. 
EX-Basic-Progs. (Anwender 
& Spiele) je 8,— DM, D. Bichl 
Tel. 06821/5531 


*** FAST GESCHENKT *** 
TI99/4A, Compact Peripherie 
System CPS99 (DS/DD), 
Druck. Seikosha 500 GP, 
Ex-Basic, E/A-Paket, Tl-Wri- 
ter, TI-Artist, Handbücher, 
Zeitschriften, ca. 300 Pro¬ 
gramme VB 2200,- DM, 

Tel. 06821/5531 


Verkaufe für den TI-99/A4 
100 Progr. 40,-DM 

200 Progr. 80,- DM 

300 Progr. 120,-DM 

EINZIGARTIG bei Manfred 
Schneider; Tel. 06874-6705 
(ab 14.00 Uhr) 


Verkauf3e für den TI-99/4A 
Verkaufe 2 Atari Joysticks, — 
I Quick-ShotH und das Mo¬ 
dul Parsec für nur 100,— DM 
Manfred Schneider, Nunkir- 
cher Str. 42a, 6648 Wadern- 
Büschfeld, Tel. 06874/6705 


Tausche 300 Programme für 
den TI gegen eine 32K-Ram 
Karte für die Peripherie-Box. 
Anruf genügt !!! Manfred 
Schneider Tel. 0684/6705 


Wer hat Lust einen Sprach¬ 
synthesizer gegen 300 Super¬ 
programme zu tauschen ??? 
Meldet euch bei: 

Manfred Schneider, Nunkir- 
cher Str. 42 a, 6648 Wadern- 
Büschfeld, Tel. 06874/6705 


Yamaha CX-5M Musikcom- 
putcr incl. gr. Tastatur 
YK-20 u. div. Zubehör zus. 
990,- DM Tel. 02161/16054 


Tausche 300 Programme ge¬ 
gen Diskkontrolerkarte für 
die Peripherie-Box ... 
Manfred Schneider, Nunkir- 
cher Str. 42 a, 6648 Wadern- 
Büschfeld, Tel. 06874/6705 


Verkaufe!!! „Zusammenfas- . 
sung von Call Load u. Call 
Peek“ Info gegen 80 Pf-Brief- 
marke 

2 Disks mit Text 20,— 

Ausdruck der Texte 10,— 

bei Zusend, von 2 Disks 10,— 
Schein o. Scheck an M. Kraus, 
Vaihinger Str. 64, 7132, 
Illingen, Tel. 07042/24415 


Hallo TI-Userü! Suche Kon- 
takkte zum Programmtausch 
X-Basic u. EIA-Modul DFÜ- 
Tel-Nr. bekannt 
Tel. 07042/24415 


TI 99 Anwenderprogramme 
in Ex Basic z.B. Schachlern- 
progr., Mathsassistant (über 
40 Rechenoperationen), 
Raglisten und Wahlauswerter 
uvm. Info bei Dirk Junghans, 
Am Fort-Bichler 9, 

6503 MZ-Kastel (auch Pro¬ 
grammtausch) 


Hallo TI-Utility-Anwenderü 
Verkaufe Widerstandsberech- 
nungs-Programm (22K) mit 
Bauteilbeschreibung (8K) auf 
Disk nur 10,— 

Schein o. Scheck an M. 

Kraus, Vaihinger Str. 64, 
7132 Illingen,'Tel. 07042/ 
24415, Info gcg. 80 Pf-Bricf- 
marke 


Suche günstig verschiedene 
!MODULE! 

Wer seine Module verkaufen 
will, Angebote bitte schicken 
an W. Röthlein, Obere Dorf¬ 
straße 12, 8833 Dollnstein 2 


CHTUNG * ACHTUNG * AC 
Suche Spiele für den TI99/4A 
(z.B. Donkey, Kong, Espial, 
Miner 2049, Fathom, Q-Bert 
usw.) sowie Sprachsynthesi¬ 
zer, TI-Maus und Grafikta¬ 
blett (Super-Sketch) 

Georg Staudacher, Westerstr. 
5,2943 Esens, Tel. 04971/ 
2574 


Achtung!!! 

Das original Ext.-Bas. Turm¬ 
springen aus der HC/März 
1986 (Summergamesvariante) 
jetzt vom Autor anfordern!! 
Gegen 10 DM im Briefum¬ 
schlag sende ich es auf Kas¬ 
sette zu! — Super Grafik — 
Super Sound — anfordern 
bei: 

H.H.T.S.S 
Christoph Hinsch 
Achtern Diek 5 
2082 Uetersen!!! 


***Vekaufe*** 

TI99/4A, Rec. Kabel, Re¬ 
corder (m. Bandzählwerk), 
Joystick, abges. 10-er Tasta¬ 
tur, Bücher, Zeitschr., div. 
Programme, nur komplett 
300,- 02353/10090 ab 
18.30 Uhr 


Verkaufe Tips 8c Tricks (Data 
Becker) wenig gebraucht für 
15,- DM. 

Suche alte TI-JOURNAL- 
HEFTE. Melden bei: Klaus 
Vietzke, Victor-Goll.-Str. 43, 
5170 Jülich. T. 02461/51660 


Verk. 99/4A Kons, Ex-Bas. + 
Handbuch (engl.), Mod: 

Chess, Munchman 2 Cass. 

Kab, 2 Joyst., Bas-Lerncas. 
Programmierhandb. dtsch 
für Bas + Ex-Bas., div. TI- 
Bücher, viel Lit. (TI-Revuc, 
Tl-Spez. usw.) alles orig. TI 
alles zusammen für DM 500,— 
VB. T. 040/2700500 ab 19 h 
Schmidt Gerd-Günter 
Hölderlinsallee 6 
2000 Hamburg 60 


Verkaufe wegen Systcm- 
wechsels TI + P-Box + Disklw 
+ 32 K + RS 232 + Centronics 
+ Farbdrucker Seikosha GP 
700 A + Ex Basic II + + E/A 
Modul + Speech Synt. + 5 
Module + ca. 550 Prgms. auf 
ca. 60 Disks + Joysticks u. 
Cass. Kabel + Extras * VB 
3200 DM * Interessenten 
melden sich bei Stefan Land¬ 
grebe, Schulstr. 8, 2915 
Ramsloh, Tel. 04498/440 


Verkaufe TI 99/4A + Re¬ 
corder + Ext. Bas + Miniem + 
Buch(D) + Schach + Car 
Race + Lit. + Csss. Inmann 
Werneria — 4040 Linz, 
Altenbergerstr. 74, 5500 
ÖS Tel. 0732/236431/348 


Verkaufe TI99/4A mir orig. 
Box TI-Drive, 2 Slim-Line- 
Drives, 32-KRam, RS232, 
TEX-Forth (D), Tl-Wriler, 
EX-Basic, APESOFT-Grafic, 
E/A, Joysticks, div. Software 
u. Bücher auch einzeln! 

Liste bei: R. Haberzttl, 
Goelhstr. 20, 85 Nürnberg 10 


Verkaufe Ext. RS232 von 
Atronic mit 32K, Funkschau 
ab 1963, Elo ab Heft 1 und 
Chip. 

Suche Modulcxpander und 

Exbasic 2 Plus 

Tel. 04331/6471 ab 18.00 


Verkaufe über 400 DIN A4 
Seiten deutsche Beschreibung 
für den Editor Assembler mit 
Tabellen und Beispielen 
A. Pack, Eickelcrstr. 60, 

4690 Herne 2 


Billig zu verkaufen! 
Konsul+Recor<^gr+Anschluß- 


Kabel 150,-. 

Konsol + Extended Basic 
+ Recorder 300,— 

Recorder Extra 60,— 

Extended Basic extra!! 175,— 
Floppy (nur Laufwerk)!! 

BASF 200,- 

Schach+Demolition Division 

55,- : 

Datenverwaltung + 

Alien Addition 60,— 

Statistik + Minus 
Mission 50,— 

ßeginning Grammar + 

Alligator MIX 40,- 

Parsec + Demolition 
Division 40,— 

Donkey Kong (von 
Atari) 20,— 

Yahzee (Kniffei) 20,- 

Tombstonc City 20,— 

Pack Man 25,- 

Tip Trick (Buch) 25,— 

Buch für Anfänger und 
Fortgeschrittene 25,— 

TI REVUE seit 

ab Erste 20,— 

Versandliste 50,— 

Rechnungsstellung 50,— 

Lagerverwaltung 50,— 

Joystick (Original Texas 
einpaar) 50,— 

Orhan Kiran 


Verkaufe TI 99/4 A, 2 1/2 
Jahre alt, kaum benutzt + 
Cassrec. + 7 Cassettcn mit 
Spielen + Lernprogrammen + 
viel Literatur + Fachzeit¬ 
schriften + Massig Listings + 2 
Atari Joysticks + 2 Module 
(Connect Four + Chrisholm 
Trail) mit sämtlichen An¬ 
schlußkabeln für 250,— DM 
Tel. 02733-3571 


TI 99/4A: Ext. Doppellauf¬ 
werk (Pertec) in Box + ext. 
Discontr. (Texasi) + Disk¬ 
manager 880,—, RS232 
(Atronic) ext. 2 Ports 240,— 
ext. 32K + Ccntronic. (Atro¬ 
nic) 220,-. Tel. 06182/ 
26186 


Orig. USA ExtB + Dt ; 

Handb 150,—„ 

Orig. Datenverw. u. 

Analyse 50,--:. 

Orig. Tl-Joysticks 25,— 

Chip-Spezial Listings 10,— 

Tl-Spezial Sonderh. 1 6,— 

TI-Revue 2/84-1/86 
komplett , 25,—^ 


Tel.: 040/5238242 Stowasser 


Ich suche im Raum Dort¬ 
mund Kontakt mit anderen 
TI 44-Besitzern zum Program¬ 
me und Probleme Austau¬ 
schen. Habe Monitorkabel 
zu verkaufen. Andreas Berken¬ 
brock, Evinger Berg 8, 

4600 Dortmund 16 



































BÖRSE 


Suche orig. TI Joysticks bis 
25,- DM Tel. 02592/61816 

Suche Tauschpartner in TI 
Basic und verkaufe Spiel- 
module: Alpiner und Tene 
Attack für je 30 DM, Tel. 
02592/61816 


Verk. TI99/4A-Konsole + 
Expansion System + Laufw. + 
Disk-cont. + Ex Basic-Disk 
Manager 2 + 2 Joystickcr + 
Module, Schachmeister + 
Othello + TI-Revue + Bücher 
für 1200,- DM. Tel. 0431/ 
726488 


Original TI-Modulc „Daten¬ 
verwaltung“ & „Statistik“ 
mit Anleitungen, sowie 
TI-Buch „Basic/Extcnded 
Basic“ zusammen mit DM 
100,— abzugeben. 

Emde, Schulstr. 3, 5810 Wit¬ 
ten, Tel. 02302/79353 


Suche! Beschreibung/Anlei¬ 
tung für Wycovc Forth, 3D- 
World Graphicprogr. und 
Exbasic 2 & Painter (Kuli 
Software auf DSK) in deutsch. 
Angebote Tel. 0208-70748. 
Verkaufe TI Basic/Ex Basic 
Buch orig. TI in deutsch. 
Schüller, Mühlenstr. 170, 
4330 Mülheim 1 


Als Besitzer von TI 99/4A 
mit Erw.box, Disk.-Iaufwer- 
ken und angeschl. Schreib¬ 
maschine suche ich Kontakt 
zu einem TI Kenner und 
Könner m. gleichartiger Aus¬ 
rüstung im Raum Mannheim. 
Ich erbitte ausschließlich 
schriftliche Kontaktauf¬ 
nahme, da ständig unterwegs. 
Jürgen Müller-Ibold, Lucas- 
Cranach-Str. 3, 6909 Wall¬ 
dorf/Baden 


Verk. TI99/4A Rec-Kabel 
+ Abdeckhaube + Literatur 
+ Software Preis Vß super¬ 
billig. Jörg Storm, Christle- 
seeweg 34, 89 Augsburg 
0821/63857 


Verkaufe Drucker Seikosha 
GP ’ \ Mark II + Pio- 

j 1 ’ U rafikpgm TI-Artist 
•^mit Hardcopy für 
jOA Preis 400 DM VB 
ylfgang Bürger, 5620 
;.>?/elbert 1, Birther Str. 35, 

' Tel. 02051 66950 nach 
20 Uhr 


Endlich! Schnittstelle 1/0 
für alle Ausbaustufen. Zählen, 
Messen, Steuern, Regeln mit 
der Konsole INFO 1,50 
in" Br.marken 
G. Haferkom, Schwarzen- 
beker Ring 50, HH 73 


+Suche: Intakten Sprach¬ 
synthesizer für TI 99/4A 
und defekte Module und 
Modulgehäuse. Angebot mit 
Preisangabe an: Peter 
Rieger, Talstraße 64, 6750 
Kaiserslautern 


**** 32K accugepuffert *** 
eingebaut in Konsole oder 
baue 32K in Ihre Konsole ein 
Biete: Orig. APESOFT- 
GRAIFC-Erweit., Tennis, 
Miner 2049 in Assem.; Flug- 
sim. uvm. auf Disk 
Preis VS. Tel.: 069/531595 


Verkaufe 300 Programme zu 
folgenden Preisen: 

100 Progr. 50,- DM 

200 Progr. 80,- DM 

300 Progr. 110,- DM 

Liste bei: Schneider Manfred; 

Nunkircher Str. 42a, 6648 

Wadern-Büschfeld 


Tausche meine Software 
gegen Module zu meinen 
Verkaufspreisen. Nähere In¬ 
formation bei Manfred 
Schneider; Nunkircher Str. 
42a; 6648 Wadern-Büsch- 
feld/Saar 
Tel. 06874/6705 


Suche Hardware im Tausch 
gegen Software (über 300 
Programme stehen Euch zur 
Auswahl). Näheres bei: 
Manfred Schneider, Nun¬ 
kircher Str. 42a, 6648 
Wadern-Büschfeld/Saar; 

Tel. 06874/6705 


Verkaufe Alien-Addition zum 
Preis von nur 10,— DM. 

Zu kaufen bei: Manfred 
Schneider, Nunkircher Str. 
42a, 6648 Wadern-Büschfeld, 
Tel. 06874/6705 


Verkaufe TI-99/4a 150,— 
Allig.Mix/Yahtzee/ZeroZap 
je 15,— 

Amazing/Blasto/CarWars/ 
Hustle NumberMagic/Super 
DemonAttack Tl-Inv. / Vid. 
Gamesl je 20,— 
ConnectFour/Parsec/Sneggit 
je 25,— BuckRodgers/Jungle 
Hunt/MASH Microsurgeon/ 
Miner2049er Moonsweeper/ 
Munchmobile/Othello Pers. 
Rec. Keeping/Pers.Rep. 
Generator Star Trek je 
30,—. Ex-Basic (Orig.) 100,— 
Tandberg 62 ohne Gehäuse 
200,—. J. Schneiderat, 
0211-632042 (9-15 Uhr 

werktags) 

Schnelle universelle Daten- 
verwaltung mit Kassette. 
Ex-Basic-DV-Programm auf 
Kassette gegen 10,— DM 
von Peter Hielscher, Am Wall 
22, 4401 Saerbeck 


ZAUBERSCHLOSS 
Das original Adventure aus 
der Tl-Süecial 4/86 !!!! Kein 
abgetipptes Programm und 
somit ohne Fehler. 

Direkt vom Autor: 

Thorsten Ziehm, An der Au 
17, 2081 Haseldorf, Tele¬ 
fon 04129/488 


DAS SUPER-ANGEBOT 
VERKAUFE: Minimemory, 
Attack Tl-Invaders, Carwars, 
Othello Pers. Rec. Keep., 
Pers. Rep. Gen. Minus-Mis¬ 
sion, Donkey-Kong. Alle 
Module mit original Verpak- 
kung und Beschreibung. 
Thorsten Ziehm, An der Au 
17, 2081 Haseldorf, Tel. 
04129/488 


DAS SUPER-ANGEBOT 
Drucke Ihre Progr. (Disk od. 
Kassette) 

Drucke Adressaufkleber!! 
Antilistschuth (Ex-Basic) 
Doppelseitige Disk-Nutzung 
Thorsten Ziehm, An der Au 
17, 2081 Haseldorf, Tel.: 
04129/488 


Verkaufe TI99/4A (100 DM) 
+ orig. Modulbox (200 DM) 

+ orig. TI-Diskkontroller 
(intern) (200 DM) + TI- 
Laufwerk f. Box (350 DM) + 
32-K-RAM (intern) 250 DM) 
+ Ext. Basic (100 DM) + 
Disk-Manager II + Recorder¬ 
kabel (10 DM) + 6 Hand¬ 
bücher (50 DM). Bei Kom- 
plcttabnahme: dM 1100,— 
Tel. 0221/843623 


Verk. Modul Video Games 
10,— Buch Progr. für den 
TI 99/4A von R. Heigen- 
moser 12,— Buch 36 TI 99 
Progr. 8,— von Len Turner 
Sybex Bücher Band 1 &2 
mti je 100 Progr. von D.H. 
Ahl a 10,- 
Tel. 02355/7607 


TI99/4A+Ext-Basic 360 DM 
(nur zusammen); Module 
Statistik, Report-Generator, 
Datenverwaltung je 75 DM, 
Minus Mission, Alien Addi¬ 
tion je 25 DM, Rec-Kabel 
15 DM Lernkassetten Basic- 
ExBasicje 15 DM 
Bei Nachnahme plus 2,50 DM 
Klaus Lindner, Weilerstr. 7 
5303 Bornheim 4, 

Tel. 02227/7040 


ACHTUNG ASSEMBLER¬ 
FREAKS! Suche Kontakt zu 
E/A-Usern zwecks Informa¬ 
lions- und Programmaus¬ 
tausch. Weitere Interessen¬ 
gebiete: DFÜ u. Hardware- 
selbslbau. G. Morgenthaler, 
Angelslr. 24, 7143 Vaihingen/ 
Enz 


Achtung!!! 

Das Programm Samurai aus 
der Tl-Spezial Nr. 4/86 
jetzt vom Autor !!! 

Gegen 10 DM im Briefum¬ 
schlag sende ich es auf 
Kassette zu! — Super Sound — 
Super Grafik — zwei Teile — 
keine Speichererweiterung 
nötig — nur Ext.Bas. — 

22,1 Byte — anfordern bei: 
H.H.T.S.S 

Christoph Hinsch 
Achtern Diek 5 
2082 Uetersen!!! 

— Bei Anfragen Rückporto 
beilegen!!! 


Verk. XB für 150,—, Speech 
synthi DM 100,—, Suche XB 
11 Plus. M. Bannert — Mozart- 
str. 5 — 8676 Schwarzen¬ 
bach - 09284/8338 
Verk. Software (TIB, XB, MC) 
z.B.: XB-Logo mit 32 Com- 
mands!! Joystickadapter nur 
DM 25,—!! Adv-Modul auf 
Cass. DM 25,-!! 09284-8338 
u 

Suche Spielmodule auf Cass. 
Ladezeit egal! Erstelle Pro¬ 
gramme nach Wunsch! 

M. Bannert, Mozartstr. 5, 
8676 Schwarzenbach, 

T. 09284/8338 


Verkaufe Assembler-Kurs für 
TI99 auf Cassette mit 2 
Handbüchern für 50,— DM. 
Matthias Orf, Birkenallcc 
34, D-3507 Braunatal 1, 

Tel. 0561/497990 


32k in die Konsole, Drucker¬ 
kabel, Einbau von Reset¬ 
knöpfen, Zehnertastaturen, 
Hardcopyausdrucke, Prg,- 
Speicher, Clubheft, uvm. gibt 
es für einen geringen Bei¬ 
trag im TI-CLUB BAUNA¬ 
TAL, Matthias Orf, Birken¬ 
allee 34, D-3507 Baunatal 1, 
Tel. 0561/497990. Info 
50 Pfg.oder Clubheft.30,— 
DM anfordern. 


Drucke Ihre Listings für nur 
4,— DM je Programm. Auch 
ausdrucken von Listen aus 
Datenverwaltung & Analyse, 
Multiplan, Tl-Writer ect. mög¬ 
lich. Cassette doer Disk + 

Geld an Matthias Orf, Birken¬ 
allee 34, D-3507 Baunatal 1, 
Tel. 0561/497990 ... oder 
Info 0,80 DM anfordem. 


Verk. RS232/Drucker Kabel/ 
TI-Forth + Buch/Buch TI 
intern/Daten Recorder/TI 
Adv. Spiele/Ti-Rechnungst./ 
Zero-Zap/Tausche Progr./ 

Div. Magazine Tl-Soft Club 
Belgien/Suche Beschr. zu ID- 
Data/D-Conto/Verk. TI Cas- 
setten Basickurs/07141/ 
461147 


63 






























TI 99/4 A 


PERIPHERIE 

RS 232 Karte (orig. TI) 379.— 

RS 232 Karte (Atronic) 299.— 
32-K-Karte (Atronic) 299.— 

Disccontroller DSDD 
(Atronic) 449.— 

Disccontroller DSDD 
(Corcomp) 499.— 

P-Code-Karte (orig. TI) 749.— 
Compact Peripherie System CPS 99 mit 
1 Diskettenlaufwerk DSDD + 10 Disket¬ 
ten 1399.— 

CPS 99 mit 2 Diskettenlaufwerken DSDD 
+ 10 Disketten 1749.— 

Diskettenlaufwerk intern DSDD (Epson) 
mit Einbausatz 399.— 

Externe 256-K-Erweiterung 589.— 
Externe 32-K-Erweiterung 199.— 
Externe32-K-Erweiterung 
batteriegepuffert 239.— 

Externe 32-K-Erweiterung 
+ 1 Centronicsschnittstelle 269.— 
Externe 32-K-Erweiterung + Centro¬ 
nicsschnittstelle + Kabel + Epsondruk- 
ker LX 80 1239.— 

dto. + Epsondrucker FX 85 1739.— 

dto. * Stardrucker NL 10 1259.— 

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 

Ext. Basic (Deutscher Nachbau) 199.— 
Extended Basic II Plus 279.— 

Mini Memory (Orig. TI) 169.— 

Editor/Assembler (32 K notw.) 179.— 
Tl-Writer (32 K notvv.) 299.— 

Multiplan (32 K notw.) 259.— 

Tl-Logo II (32 K notw.) 299.- 

Diskfixer (Navarone) 149.— 


Terminal Emulator II 85 — 

Connect four. Attack, Yahtzee je 29.— 
Alpiner. Car Wars* Chisholm Trail. 
Othello, Invaders. Munch Man je 39.— 
Black Jack. Fathom, Hopper, Dig Dug, 
Defender. Soccer. Parsec je 49.— 

Congo Bongo. Burgertime, Espial, 
Moonsweeper, Treasure Island, Bigfoot, 
Microsurgeon, Statistik je 59.— 

Star Trek. Tunnels of doom, Music Ma¬ 
ker. Jungle Hunt, Moon Patrol, Donkey 
Kong, Protector II je 69.— 

dto. + Stardr. 

Gemini 10 X 859.— 

Sprachsynthesizer 189.— 

Modulexpander. 3fach 125.— 

RGB-Modulator 179.— 

Akustikkoppler Dataphon S 21 d + ex¬ 
terne V-24-Schnittstelle + Verbin¬ 
dungskabel 539.— 

Ak. Dataphon S 21 d + Kabel 
für RS 232 Karte 299.— 

Tl-Maus. anschlußfertig 295.— 
Joystickinterface -* 2 Joysticks 
Quickshot II 89.— 

Cassettenrecorderkabel 29.— 

MBX-Sprachsteuereinheit + Basebail¬ 
modul. anschlußfertig 349.— 

Grafiktablett Supersketch + Dig Dug + 
Defender + Statistik 199.— 

Buck Rogers, Return to Pirate's Isle, Ad- 
venturemodul, Video Chess je 75.— 
Datenverwaltung + Analyse 79.— 
Popeye, Pole Position, Shamusje 89.— 
Video Chess 4 Defender + Dig Dug + 
Attack 4 Fathom nur 175~.— 

Statistik 4 Donkey Kong nur 89.— 
Oefender + Munchman + Soccer 99.— 

DISKETTEN- UND 
CASSETTENSOFTWARE 

Preisliste mit Gesamtübersicht erhalten 
Sie gegen Zusendung eines Freium¬ 
schlags (Kennwort: TI99/4A). 


Versandkostenpauschale (Warenwert bis DM 
1000.—/darüber): Vorauskasse (DM 8.—/ 
20.—), Nachnahme (DM 11.20/23.20), Aus¬ 
land (DM 18.—/30.—). 

Versand nur gegen Vorauskasse oder per NN; 
Ausland nur Vorauskasse. Gesamtpreisliste 
gegen Freiumschlag. 

CSV RIEGERT 

c.kui)kA(etr r 7SM Rpchberahausen. Tel. (0 71 61) 5 28 89 


128 KGRAM-KARTE 

für die Tf 99/4A-Peripheriebox. Erweiterbar auf 512K! 

Mit der 128 K GRAM-Karte, an deren Entwicklung wir beteiligt waren, ent¬ 
stand für den TI 99/4A-User das ideale Handwerkszeug für „GPL". 

Quick-Information 

CALL EDITHEM: Aufruf eines Hexmonitors aus dem Basic oder Extended 
Basic im Direktmodus, mit dem sich Speicherinhalte verändern lassen. 

CALL GRAM: Aufruf aus dem Basic o. Extended Basic im Direktmodus des 
LOADER-Utilityprogramms, welches das Laden und Abspeichem auf 
Diskette von Modulinhalten gestattet. 

CALL MODUL („NAME"): Umwandlung eines Tl-Basic-Programms in ein 
„Modul", d.h. das Programm wird in das GRAM verlagert und kann 
dort über das Titelbild ausgeführt werden. Bringt bis zu 13 KByte mehr 
Speicherplatz für Variable. 

LOADER-Utility: Dieses Hilfsprogramm kann einmal direkt über das Menue 
der GRAM-Karte oder über CALL GRAM bzw. CALL GRAM1 ,CALL 
GRAM2 und CALL GRAM3 für weitere GRAM-Karten) ausgewählt 
werden. 

LOAD-Datei: Ermöglicht über eine Datei im Format DISPLAY, VARIABLE 
80 das Laden von mehreren gespeicherten ROM/GROM-Inhalten. Eini¬ 
ge vorbestimmte Namen von LOAD-Dateien erscheinen im Menue der 
GRAM-Karte und können über einen Tastendruck angewählt werden. 

lieferbar Ende März. Preis. 698,00 DM 

GPL-ÄSSEMBLER 

für das Editor-Assembler-Modul 

Gebrauch von FMT, LABELS und Berechnungen im Adreßfeld zulässig! 

Dokumentation in Deutsch oder Englisch. Programm auf Diskette 99,00 DM 

Ausführliche Information über die hier beschriebenen Produkte gegen 80 Pf- 

DIN A5-Rückumschlag. Weiteres TI 99/4A-Zubehör in unserer Angebotsliste 

— kostenlos anfordern! 

Versand per Nachnahme (+ 5,00 DM) oder per Vorausscheck <+ 3,50 DM) 

ELEKTRONIK- SERVICE 
Peter Kleinschmidt Linning 37 4044 Kaarst 2 Tel. (02101) 603208 


Das große 
TE-Assembler 
Sonderheft 
Nur im 
Bahnhofs¬ 
buchhandel 
oder beim Verlag! 


/Vir lassen den TI-USER nicht im Stich! 


ntlnnic 


Hardware-Soft ware-Zubehör 

Das komplette Angebot für f 
TI 99/4A-Besitzer '*& 


Hardware 

CPS 99, Disk-Station 
Speichererweiterungen 
Schnittstellen 
Disk-Controller 
Drucker 


Software 

Professionelle 

und 

Spiele-Software 


Zubehör 

z.B. Disketten 
Drucker-Papier 
Kabel 


Bücl 

viele Tr ' 
für de, 
Tl-Besitz 


B FORDERN SIE DIE PREISLISTE AN! 

— Der ATRONIC-Service löst (fast) alle Probleme — 

atronic-Produkte bekommen Sie bei jedem guten Tl-Händler oder direkt bei: 
atronic • Meiendorfer We.g 7 • 2000 Hamburg 73 • Tel. 0 40 / 6 78 93 08-09 • Tx. 2 174 031