Skip to main content

Full text of "TI Revue Special Collection"

See other formats


Zubehör 

von 

Altronic! 


Verwaltung 


Multi- 

Color- 

IVIodus 










Grüß Gott - 
Gruezi - 
Guten Tag 

Die Sommerzeit bringt immer ein gewisses "Sommer¬ 
loch" in der Computerei. Wir merken das immer 
auch an den geringer werdenden Leseranfragen. 
Dennoch haben wohl zwei kleine Bemerkungen in 
unseren letzten Heften über einen 80-Zeichen-Zusatz 
ziemlich für Aufregung gesorgt. 

Diese 80-Zeichen-Erweiterung, die wir da gesehen 
haben, ist ein kleines Kästchen, welches seitlich an 
die Konsole angeschlossen wird. Zusätzlich muß 
intern der bisherige Video-Controller entfernt wer¬ 
den. Auf den Steckersockel kommt ein Kabel, das 
mit der Erweiterung verbunden wird. Die 80-Zeichen- 
Erweiterung besitzt einen RGB-Ausgang zum Moni¬ 
tor, einen Modulator für Composite Video, und HF 
(für den Fernseher) soll es extra geben. 

Alle Programme laufen wie bisher, d.h., der Tl- 
VJriter zum Beispiel kann nun nicht plötzlich mit 
80 Zeichen arbeiten, das müßte jemand umschreiben. 
Es steht aber zusätzlich ein 80-Zeichen-Modus zur 
Verfügung, der praktisch wie ein Drucker oder wohl 
besser Terminal angesprochen wird. Dann lassen sich 
mit dem Ding auch noch die 16 Grundfarben aus 
512 verschiedenen Farben auswählen. 

Weiter wird es eine wunderschöne Grafik geben, die 
Auflösung beträgt 256 Punkte auf 208. Jeder einzel¬ 
ne Punkt kann dabei aus 256 Farben ausgewählt 
werden. In diesem Grafikmodus sind theoretisch 
auch mehrfarbige Sprites möglich, wie hier aber eine 
automatische Bewegung realisiert werden kann, konn¬ 
te uns von den Entwicklern noch niemand sagen. 

■ Das ist doch schon etwas. Aus den USA kommt noch 
eine weitere Neuheit, die auf einer TI-Show in Los 
^Angeles vorgestellt wurde: Eine P-Box-Karte zum 
Anschluß einer "normalen" PC-Tastatur. Jetzt müßte 
eigentlich nur noch irgend jemand auf die Idee kom¬ 
men, die Konsole in die P-Box zu verfrachten und 
fertig wäre der "neue" Computer. 

Wie wir allerdings erfahren mußten, gibt es momen¬ 
tan noch größere Probleme. Gesprochen wird hier 
sowohl von Hardware- wie auch Software-/nkompa- 
tibi/ität zum bisherigen System. Wir werden natür¬ 
lich am Ball bleiben. Bis zum nächsten Monat viel 
Spaß mit Eurem TI 99/4A wünscht Euch 

Euer TI-REVUE-Team 


Nicht vergessen: Seit 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 Lesertelefone zur Verfügung. Für technische 
und Assembler-Fragen Tel. Nr. 0731/33220 und zu 
den Listings bzw. Fragen zu den Abonnements und 
dem Kassettenservice Tel. Nr. 089/1298013. 


TI99/4A 


PERIPHERIE 


RS 232 Karte (Orig. TI) 379,- 

RS 232 Karte (Atronic) 299,- 

32 K-Karte (Atronic) 299.— 

Disccontroller DSDD (Atronic) 449,— 
Disccontroller DSOO (Corcomp) 499,— 
P-Code-Karte (Orig. TI) 699,— 

Compact Peripherie System CPS 99 
mit 1 Diskettenlaufwerk DSDD 
+ 10 Disketten 1399,— 

CPS 99 mit 2 Diskettenlauf¬ 
werken DSDD + 10 Disketten 1749,- 
Diskettenlaufwerk intern DSDD 
(Epson) mit Einbausatz 399- 

Externe 256 K-Erweiterung 589,- 

Externe 32 K-Erweiterung 199,— 

Externe 32 K-Erweiterung 
batteriegepuffert 239,— 

Externe 32 K-Erweiterung mit 
1 Centronicschnittstelle 269,— 

Externe 32 K-Erweiterung mit 
Centronicschnittstelle + Drucker¬ 
kabel + Epsondrucker LX 80 1199,— 

dto. + Epsondrucker FX 85 1699,— 

dto. + Stardrucker 

Gemini-lOX 859,— 

dto. + Stardrucker NL 10 1259,— 

Sprachsynthesizer 189,— 

Modulexpander 3fach 125.— 

RGB-Modulator 179,— 

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

Ak. Dataphon S 21 d + Kabel für 
RS 232 Karte 299,- 

Tl-Maus anschlußfertig 295,— 

Fernbedienung (Orig. TI) 65,- 

Joystickinterface + 2 Joysticks 
Quickshot II 89,— 

MBX-Sprachsteuereinheit + 
Baseballmodul anschlußfertig 349,- 

Grafiktablett Supersketch + Dig 
Dug + Defender + Statistik 199,— 


MODULSOFTWARE 
Extended Basic (dt. Nachbau) 199,- 
Extended Basic II Plus 279,- 

Mini Memory (Orig. TI) 169,— 

Editor/Assembler (32 K notw.) 179,— 
Tl-Writer (32 K notw.) 259 — 

Multiplan (32 K notw.) 259,— 

Tl-Logo II (32 Knfitw.) 299 - 

Diskfixer (Navarone) 149,— 

Terminal Emulator II 85,— 

Connect four, Attack je 29- 


Alpiner, Car Wars, Chisholm Trail, 
Othello, Invaders, Munch Man je 39,- 
Blackjack, Fathom, Hopper, Dig 
Dug, Defender, Soccer, Parsec je 49,- 
Congo Bongo. Burgertime, Espial, 
Moonsweeper, Treasure Island, Big- 
foot, Microsurgeon, Statistik je 59,— 

Star Treck. Tunnels of doom, Music 
Maker, Jungle Hunt. Moon Patrol, 
Donkey Kong, Protector II je 69,— 

Buck Rogers, Return to Pirate's Isle, 
Adventuremodul, Video Chess je 75,- 
Popeye, Pole Position, Shamus, 
Datenverwaltung + Analyse je 79,— 

Video Chess + Defender + Dig 
Dug + Attack + Fathom nur 175,— 
Donkey Kong + Statistik nur 89,— 
Defender + Munch Man + Soccer 99,- 

Microsurgeon + Treasure Island 99,- 

Congo Bongo + Burgertime 99.- 

BÜCHER 

Editor/Assembler Handbuch dt. 98.- 

TI-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,- 

DISKETTEN- UND 
CASSETTENSOFTWARE 

Preisliste mit Gesamtübersicht erhalten 
Sie gegen Zusendung eines Freiumschla¬ 
ges (Kennwort: TI-99/4 A) 


Versandkostenpauschale (Warenwert bis 1000,— DM / darüber: 
Vorauskasse (8,—/20,— DM), Nachnahme (11,20/23,20 DM), 
Ausland (18.-/30,- DM). Lieferung nur gegen NN oder 
Vorauskasse; Ausland nur Vorauskasse. Preisliste (Computertyp 
angeben) gegen Zusendung eines Freiumschlages. 

CSV RIEGERT 

Schloßhofstr. 5, 7324 Rechberhausen, Tel. 07161/52 889 


Soweit die Redaktion der TI-REVUE. 

Allerdings hat auch der Verlag noch ein Anliegen. 

Er bittet alle Tl-Freaks, sich des Abonnement-Ange¬ 
botes zu bedienen. Das hat einen realen Hintergrund: 
Zur Zeit wird erwogen, die TI-REVUE ab etwa 
Anfang 1987 voll auf reinen Abo-Vertrieb umzustel¬ 
len. Das sichert — durch die Einsparung der nicht 
gerade niedrigen Vertriebskosten — die Beibehaltung 
des derzeitigen Verkaufs- bzw. Abo-Preises für min¬ 
destens weitere eineinhalb Jahre. 

Vielleicht denken Sie einmal darüber nach. 

Um allen Gerüchten gleich den Boden zu entziehen: 
Selbstverständlich wird die TI-REVUE nicht einge¬ 
stellt. Nur: Stetig steigende Kosten, vom Porto über 
Satz bis hin zum Druck und Papier — auch die 
Handelspartner möchten eine höhere Marge — zwin¬ 
gen aber jedes Unternehmen, entweder diese Kosten 
durch Einsparungen an anderer Stelle aufzufangen 
oder aber die Preise entsprechend zu erhöhen. 
Letzteres aber wollen wir doch alle nicht. 


2 




p ' 





Pokelisten für den TI? 

Fehler im Assembler 
Eprommer-Software ohne Assembler 
Erstellen von Mergeformat-Dateien 
Initialisieren in Maschinensprache 
TI-Artist kopiergeschützt 
Kassetten-Programme mit Namen 
Selbstgebaute Speicher¬ 
erweiterung defekt? ab Seite 4 




Plotter für den TI: 

Bauen Sie ihn doch selbst ab Seite 6 


Neues von Atronic: 

Die drei Musketiere 

ab Seite 54 

Assembler: 

So findet der TI seine 
Programme 

ab Seite 8 

Dateiverwaltung: 

Tips fürs Seiberstricken 

ab Seite 10 

Multicolor-Modus: 

Auch das kann der TI 

ab Seite 12 

Call Sound: 

Geheimnisse entschleiert 

15 

Club-Ecke 

Neue Tl-Clubs in der Schwe '12 
und in München 

ab Seite 56 

Uhr: 

Vier Möglichkeiten in einem 
Kurzprogramm 

ab Seite 56 

Börse: 

Zum Suchen und Finden 

ab Seite 58 

Dies & Das: 

Tabellen darstellen 
Histogramm mit 54 Balken 
Modulplatine und -Expander 
von Navarone 

Errorhelp für Ex-Basic 
Buchbesprechung 

ab Seite 51 


f ‘ V»v :■. - 


Galaxy: 

Luftmanöver 

ab Seite 17 

Derby: 

Für Turf- und Wettfans 

ab Seite 21 

Trapper: 

Ein interessantes 

Denkspiel 

ab Seite 23 

Umsatzsteuer: 

Für Freiberufler und Selb¬ 
ständige, für monatliche und 
vierteljährliche Auswertung 

ab Seite 35 

Kassenbuch: 

Sagt alles über Ihre 

Finanzen 

ab Seite 45 




Matrix-Drucker, auch 
noch so gute, können 
einen Plotter nicht ersetzen. 
Unser Vorschlag: Bauen 
Sie sich doch selbst 
einen! 

Ab Seite 6 


Atronic hat wieder 
etliche Neuigkeiten für 
den Tl-User parat. 

Wir haben die"'Drei 
Musketiere“ getestet. 
Ab Seite 54 



Drei Spiele, drei 
Anwender-Programme: 
Die Listings in diesem 
Heft bieten Jedem etwas 
Ab Seite 17 


3 




DIALOG 


BRIEFE BRIEFE BRIEFE 

Leserbriefe und Fragen sind uns stets willkommen. 
Wir beantworten sie entweder direkt oder auf 
der Leserbriefseite 


POKELISTE FÜR DEN 
TI 


Seit ich mir mit Erfolg 
die Speichererweiterung 
aus Heft 9/85 zusammen¬ 
gebaut und dadurch die 
Voraussetzung für 
Assembler geschaffen ha¬ 
be, habe ich eine Frage: 
Gibt es eine zusammen¬ 
gefaßte Liste, in der alle 
Adressen, die in der 
TI-REVUE zufällig ver¬ 
streut sind, aufgezeigt 
werden? 

Ferner würde mich noch 
interessieren, wann end¬ 
lich eine Baubeschrei¬ 
bung für einen Disket¬ 
tenkontroller heraus¬ 
kommt, da Laufwerke 
schon zu sehr günstigen 
Preisen vom Elektronik¬ 
versandhandel angeboten 
werden. Es hat aber ohne 
Diskettenkontroller kei¬ 
nen Wert, ein solches sich 
anzuschaffen. 

Roland Bathen, 

Weissach 


Eine zusammenfassende 
Liste aller Pokes (CALL 
LOAD) ist nirgendwo 
erhältlich. Vielfach er¬ 
geben sich durch Versu¬ 
che oder durch Zufälle 
neue CALL LOAD’s, so 
daß eine solche Liste nie 
alle Adressen beinhalten 
könnte. Wir können Ih¬ 
nen zu unserem Be¬ 
dauern leider keine wei¬ 
tere Lektüre dazu nen¬ 
nen, werden in der TI¬ 
RE VUE aber immer 
wieder aufs Neue dar¬ 
auf eingehen. 

Ein Diskettenkontroller 
für den Selbstbau ist bei 
uns nicht in Planung, 
da dieses Objekt beson¬ 
ders wegen der benötig¬ 
ten Software eine Num¬ 
mer zu groß ist. Vielleicht 


kann aber hier ein Leser, 
der sich schon einmal ei¬ 
nen solchen Controller 
gebaut hat, weiterhelfen. 


FEHLER IM 
ASSEMBLER¬ 
PROGRAMM 


Wenn ich den Quellcode 
eines Assemblerpro¬ 
gramms für eine grafi¬ 
sche Hardcopy zu 
assemblieren versuche, so 
unterbricht der Computer 
immer nach einiger Zeit 
den Assembliervorgang 
und gibt einen DSR- 
ERROR 0302 aus. Wie 
kann ich den Fehler kor¬ 
rigieren, so daß der 
Computer mein Pro¬ 
gramm ohne abzubrechen 
assembliert? 

Andreas Genth, 

Moosburg 

Der DSR-Fehler, der wäh¬ 
rend der Assemblierung 
auftritt, hat nichts mit 
dem Assemblerprogramm 
zu tun, sondern mit dem 
Diskettenlaufwerk bzw. 
mit der Diskette, die Sie 
verwenden. Benutzen Sie 
zuerst einmal eine neue 
Diskette. Formatieren 
(initialisieren) Sie diese 
neu, copieren den Quell¬ 
code auf diese Diskette 
(über den Editor des 
Assemblers) und dann ver¬ 
suchen Sie, das Programm 
mit dieser Diskette erneut 
zu assemblieren. Funktio¬ 
niert dies dann nicht, so 
versuchen Sie bitte ein¬ 
mal, anhand des Testpro¬ 
gramms im Diskmanager, 
den Fehler im System 
Disk-Con trollerj Laufwerk 
zu finden. Funktioniert 
es jedoch, so nehmen Sie 
die Diskette, bei der der 
Fehler auf trat, und initia¬ 
lisieren diese neu. Sie hat 


dann entweder einen me¬ 
chanischen Fehler, das 
merken Sie dann während 
dem Initialisieren, oder 
sie wurde einem starken 
Magnetfeld ausgesetzt, 
durch welches Informa¬ 
tionen auf der Diskette 
vernichtet wurden. 


EPROMMER SOFT¬ 
WARE OHNE 
EDITOR ASSEMBLER 


Bei dem Schaltmodul aus 
Heft 5/85 hätte ich, da 
Sie bei dieser Ausgabe die 
Bezeichnung des IC5 
und IC6 vergessen haben, 
gern gewußt, welche 
IC’s dort zu verwenden 
sind. Weiter wüßte ich 
gerne, da ich kein Disket¬ 
tenlaufwerk besitze, ob 
man die Eprommer 
Software aus der TI- 
REVUE 7/85 auch ohne 
das Editor Assembler 
Modul z.B. mit dem EX- 
Basic Assembler aus TI- 
Assembler-Spezial pro¬ 
grammieren kann. Dieser 
läßt ja nur 2 Zeichen als 
Labels zu und die Befeh¬ 
le ‘BYTE 4 usw. sind 
ihm ja unbekannt. Als 
letztes möchte ich gerne 
wissen, wie man den In¬ 
halt der Groms in ein Re¬ 
gister kopieren kann. Wie 
bekomme ich z.B. den 
Inhalt aus >6000G in 
RI2; bitte schreiben Sie 
mir die Assemblerroutine, 
die dies bewerkstelligt. 
Klaus Paltian, 

Solingen 

Um auf Ihre Fragen einzu¬ 
gehen, fangen wir am 
besten von vorne an. 

Wir haben leider die IC- 
Bezeichnungen im Heft 
vergessen. Die IC’s, die 
verwendet wurden sind 
für IC5 ein 74LS90 und 
für IC6 ein 74 LS3 73. 

Das Eprommer-Listing ist 
ursprünglich für den 
Assembler des Editor / 
Assembler-Moduls ge¬ 
schrieben. Mit einigen 
kleinen Änderungen mü߬ 
te er anhand des Assem¬ 
blers aus TI-Assembler- 
Spezial ebenfalls funktio¬ 
nieren. Die Labels kön¬ 
nen Sie ja auf 2 Zeichen 
kürzen, jeweils zwei 
BYTE-Befehle können 


Sie, sofern sie inner¬ 
halb eines Labels stehen, 
zu einem DATA-Befehl 
zusammenfdssen (z.B. 
BYTE ‘B‘, BYTE E‘ 
wird zu DATA ‘BE') und 
$ bedeutet den augen¬ 
blicklichen Stand des 
Programmcomputers. 

Das Auslesen eines 
Groms erfolgt so: 

LI RI ,>6000 

*Gromadresse 
MOVB RI,@> 9CO2 
SWPB RI 
MOVB RI,@> 9CO2 
*Grom 

A dresszäh ler vo lIs tä 11 dig 

beschrieben 

NOP 

MOVB@>9800,R12 
*Byte aus 
Grom lesen 


ERSTELLEN VON 
MERGE-FORMAT- 
DATEIEN 


Ich versuche, durch ein 
BASIC Programm eine 
Merge-Zeile auf Diskette 
zu erzeugen. Leider 
kommt bei mir nur eine 
Zeile mit der Nummer 
4864 zustande, anstatt 
der gewollten Zeile Nr. 1. 
Die Daten, die zur Erzeu¬ 
gung der Merge-Datei ver¬ 
wendet werden, erklären 
sich folgendermaßen: 

19 (Zeilenlänge), 0 1 
(Zeilennummer), Token 
siehe TI-REVUE 1/86,0 
2(?), 255 (Zeilenende?). 
Können Sie mir erklären, 
was die Werte, die mit 
einem Fragezeichen ver¬ 
sehen sind, bedeuten und 
warum mein Programm 
nicht nach Wunsch funk¬ 
tioniert. Die Werte müs¬ 
sen jedoch alle existieren, 
da ich sie mir von Disket¬ 
te mit einem Diskeditor 
geholt habe. 

Peter Kliem, 

Erftstadt 

Um die Zeile im Basic- 
Token richtig zu stellen, 
sind nur wenige Ände¬ 
rungen. vonnöten. Zu¬ 
erst einmal muß die Zei¬ 
lennummer vor der Länge 
der Zeile stehen. 

Zweitens wird das Ende 
einer Zeile in BASIC 
mit 0 markiert, was Ihr 
zweites Fragezeichen be¬ 
trifft. Haben Sie diese 


4 




DIALOG 


Änderungen vorgenom¬ 
men, so müßte Ihr Pro¬ 
gramm eigentlich funk¬ 
tionieren. Die Zeilenlänge, 
die Sie verwendeten, war 
die Länge des Datensat¬ 
zes auf der Diskette. Die¬ 
se fällt jedoch weg, da 
sie nur vom DOS, bzw. 
von der Einleseroutine 
interessant ist, nicht für 
die Zeile an sich. 

Die Datas müssen also 
dann berichtigt folgender¬ 
maßen heißen: 

0, 1 (für die Zeilennum¬ 
mer), ... (die Basic- 
Token), 0, —1 (für das 
Zeilenende). 


INITIALISIEREN IN 
MASCHINENSPRACHE 


Auf die Gefahr hin, daß 
Sie Bekanntes wiederho¬ 
len. möchte ich Ihnen die 
Schritte zur Initialisierung 
einer Diskette aus der 
Maschinensprache mittei- 
len. Der Subroutinen- 
Call ist >1 1 im Gegensatz 
zu >10 (schreiben, lesen). 
Die Nummer des Lauf¬ 
werks auf Byte > 834C ist 
identisch wie bei lesen/ 
schreiben. Der read/write 
Index auf Byte > 834D 
enthält die Anzahl der zu 
initialisierenden Spuren. , 
Die meisten Controller 
lehnen hierbei eine Zahl 
ungleich >28 (decimal: 
•40) ab. Nach dem Initia¬ 
lisierungsvorgang steht in 
diesem Byte die Anzahl 
der Sektoren pro Spur, 


welche je nach Controller 
variieren kann. Die 
Sektomummer in dem 
Wort >8350 enthält im 
High-Byte die Dichte, 
mit der die Diskette ini¬ 
tialisiert werden soll. 

Die Werte, die diese an¬ 
geben, sind >01 für Single 
Density und >02 für 
Double Density. Das 
Low-Byte enthält die An¬ 
zahl der Seiten, die auf 
der Diskette initialisiert 
werden sollen. Die Werte 
dafür sind >01 für Single 
Sided und >02 für 
Double Sided. Je nach Art 
der Beendigung des Vor¬ 
ganges, Abbruch oder 
normales Ende, steht im 
High-Byte von >8350 der 
Fehlercode. Der PAB- 
Buffer auf > 834E ist ohne 
Belang. Der PAB-Pointer 
wird wie allgemein be¬ 
kannt verwendet. 

Ich hoffe, daß Sie mit 
dieser Information etwas 
anfangen können und sie 
dadurch Ihnen eine Hilfe 
bietet. 

Christopher Winter, 
Obertshausen 

Wie Sie sich wohl denken 
können, ist uns die Initia¬ 
lisierung aus der Maschi¬ 
nensprache bekannt. Die 
Adresse des PAB- 
Buffers, die Sie als belang¬ 
los angegeben haben, ist 
dabei durchaus interessant. 
Hier wird das ‘Trackbild ‘ 
im VDP vor der Initiali¬ 
sierung aufgebaut. 


Ansonsten möchten wir 
uns für Ihren Hinwies 
bedanken, da er so viel¬ 
leicht einige Fragen ande¬ 
rer Leser beantwortet. 


ALLGEMEINE TIPS 


Der Grund meines Schrei¬ 
bens hegt bei folgenden 
Punkten: 

1. Die Möglichkeit, an¬ 
hand des Sprachsynthe¬ 
sizers und des Terminal 
Emulator II in Basic mit 
LIST“SPEECH“ ein ge¬ 
sprochenes Listing zu er¬ 
halten. ist auch mit 
Minimem möglich. 

2. Bei LIST“MINIMEM“ 
wird eine D/V 80 Datei 
erzeugt, welche dann im 
Minimem gespeichert ist. 

3. Das Mergen von zwei 
langen X-Basicprogram- 
men wird beschleunigt, 
wenn man zuerst das Pro¬ 
gramm, das die hohen 
Zeilennummern enthält, 
einlädt und darauf das 
Programm mit den nied¬ 
rigeren Zeilennummern 
dazumerged. Die Begrün¬ 
dung liegt darin, daß die 
hohen Zeilennummern 
am Anfang des RAM- 
Bereichs gespeichert wer¬ 
den und die niedrigeren 
darauf folgen. Dies ist 
auch der Grund, weshalb 
Schleifen, die am Ende 
eines Programms stehen 
schneller laufen, als 
solche, die am Anfang 
des Programmes stehen. 

4. In X-Basic + 32k er¬ 


gibt CALL LOAD. 
(-31878,36) ein Ver¬ 
schwinden des Cursors, 
welcher ASCII 30 hat, 
CALL LOAD(-31878,37) 
ein Verschwinden aller 
Zahlenziffem. 

CALL LOAD(-31878,0) 
stellt alles wieder auf 
Normalbetrieb um. 
Michael Möller, 

Frankfurt 

Vielen Dank für die von 
Ihnen aufgezeigten Tips. 
Wir möchten hier aber 
nochmal darauf hinwei- 
sen, daß Poke's immer 
auch von der Version des 
Betriebssystems abhän- 
gen und so auf einer an¬ 
deren Konsole auch an¬ 
dere Wirkung zeigen 
können. 


TI-ARTIST 

KOPIERGESCHÜTZT 


Aufgrund mehrerer An¬ 
fragen am Lesertelefon 
ist zu sagen, daß es nicht 
auf normalen Wege oder 
mit einem Sektorkopier¬ 
programm möglich ist, 
die Diskette des TI-Artists 
zu kopieren, da diese ge¬ 
schützt ist. Jegliche Än¬ 
derungen, die an der Dis¬ 
kette vorgenommen wer¬ 
den, führen zu einer Fehl¬ 
funktion und Zerstö¬ 
rung des Programms. Wir 
empfehlen deshalb, die 
Diskette so zu belassen, 
wie man sie im Handel 
erhält. 


albs IMMER NEUESTE HARDWARE FÜR DEN TI-99/4A 


EXTENDED-BASIC (Mechatronic) 198,- 

mit deutschem Handbuch 

EXTENDED-BASIC U 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 


DIREKT VOM HERSTELLER 

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 


5 






SERVICE 


PLOTTER-MAL SELBST 
GEBAUT 


Zu den reizvollsten Anwendungen eines Computerhobbys gehört 
sicherlich das Plotten, das heißt, das programmgesteuerte Zeichnen von 
Funktionen, Kurven und Grafiken aller Art. Plotter für Heimcomputer 
sind relativ teuer, außerdem ist der Selbstbau viel interessanter. 

Mit dieser Anleitung soll nun beschrieben werden, wie man mit einfachen 
Mitteln einen Plotter bauen kann, der gesteuert von dem TI 99/4A über 
ein CRU-Interface, ansehnliche Zeichnungen anfertigen kann. 


Dieses Kapitel stellt wohl für den 
Computerbastler das größte Problem 
dar, wenn nicht gerade eine feinme¬ 
chanische Werkstatt zur Verfügung 
steht. Daher habe ich besonderen 
Wert darauf gelegt, daß alles mit 
einfachen, an einem normalen 
Hobbyarbeitsplatz vorhandenen 
Werkzeugen gebaut werden kann. 

Da es sich um einen Flachbettplotter 
handelt, arbeitet dieser nach folgen¬ 
dem Prinzip: 


chenstift (ich benutze einen Rotnng 
Tuscheschreiber) mit einer Halte¬ 
rung wie sie für Zirkel-Tuschefedern 
benutzt wird, festgeschraubt. Die 
andere Seite des Umlenkbügels 
drückt gegen die Wippe des Relais. 
Die Feder sorgt für das Heben des 
Stiftes bei stromlosem Relais. 

Der Wagen wird durch sechs kleine 
Kugellager, die von drei je 60 mm 
langen 3 mm-Schrauben mittels 


Um eine stabile Lage der Brücke zu 
gewährleisten, wird an dieser auf 
jeder Seite eine Führungsschiene 
(wie sie zum Halten von Platinen 
verwendet werden), so festgeschraubt, 
daß die Führungsschiene in dem 
U-Profil des Rahmens in der X-Rich- 
tung geführt wird. 


DER RAHMEN 


Der Rahmen besteht aus Alu U-Pro- 
filstangen mit 16 mm Breite, wie 
sie in jedem Hobbymarkt angeboten 
werden. Ich habe die Abmessungen 
des Plotters so gewählt, daß aus 
drei Stangen zu je 1 m Länge alle 
benötigten Stücke zurechtgeschnit¬ 
ten werden können. 


DER MECHANISCHE AUFBAU 


Innerhalb eines Rahmens auf einer 
in X-Richtung fahrbaren Brücke 
kann der Schreibstift in Y-Richtung 
bewegt werden; die Bewegung des 
Stiftes resultiert dann aus der Über¬ 
lagerung der Bewegung in X- und 
Y-Richtung, 


DIE KONSTRUKTION 


Zum Antrieb werden je ein Motor 
(3V) mit Getriebe verwendet. Die 
Bewegung der Brücke (X-Richtung) 
und des Wagens auf der Brücke 
(Y-Richtung), erfolgt mittels Ge¬ 
windestangen (M5). Über Kardan¬ 
gelenke sind die Gewindestangen 
mit dem Motor verbunden, um et¬ 
waige Ungenauigkeiten auszuglei¬ 
chen. Durch Muttem, die auf der 
Gewindestange laufen und die an 
dem zu bewegenden Teil befestigt 
sind, wird die Brücke, bzw. der 
Wagen auf der Brücke in die, der 
Drehrichtung der Gewindestange 
entsprechende Richtung transpor¬ 
tiert. Zur Bewegung der X-Rich¬ 
tung werden vorne und hinten je 
eine Gewindestange, die durch einen 
Riemen auf der rechten Seite mitein¬ 
ander gekoppelt sind, benötigt. Auf 
der Brücke wird der Wagen mon¬ 
tiert, der den Magneten zum Heben 
und Senken des Zeichenstiftes auf¬ 
nimmt. An einem Umlenkbügel, 
den ich aus einem 3 mm-Kupfer- 
draht gebogen habe, wird der Zei- 





Bild 1: 

Gesamtansicht des Flachbettplotters. 


Muttem gekontert sind auf der 
Brücke gehalten. Die Bewegung des 
Wagens erfolgt mit einer Gewinde¬ 
stange, die mit dem am Ende der 
Brücke montierten Motor gekop¬ 
pelt ist. 


Es werden benötigt: 

4mal 10 cm Länge Pfosten 
4mal 29 cm Länge 


je zwei für 
rechts und links 
hintere X-Leiste 
vordere X-Leiste 
Brücke 
Pfosten auf 
der Brücke 
Diese Profilstücke müssen nun der 
Abbildung entsprechend miteinan¬ 
der verschraubt werden. Mittels ei¬ 
ner kleinen 12V-Handbohrmaschine 
mit einem 2,5 mm-Metallbohrer wer- 


1 mal 43 cm Länge 
1 mal 51 cm Länge 
lmal 37 cm Länge 
2mal 5 cm Länge 


6 






SERVICE 


L 





Bild 2: 

Der Wagen mit Relais zur Zeichenstiftsteuerung. 



Bild 3: 

Der Wagen mit Zeichenstift und Umlenkbügel. 



Bild 4: 

Antriebseinheit mit Motor, Getriebezahnräder und Gabellichtschranke 


den die Löcher gebohrt. Verwendet 
werden hier 3 mm-Flachkopfschrau- 
ben, damit die gebohrten Teile di¬ 
rekt miteinander verschraubt wer¬ 
den können, ohne daß_ Muttem oder 
ein Gewindeschneider'benötigt wer¬ 
den. Das Gewinde kann mit der 
Schraube in das Loch geschnitten 
werden. Bei genauem Arbeiten 
kann dann auch auf die Gegenmut¬ 
tern verzichtet werden. 

Vor dem endgültigen Zusammen¬ 
bau sind noch die Löcher für die 
Gewindestangen zu bohren. Jede 
Gewindestange wird an einem Pfo¬ 
sten zwischen Unterlegscheiben 
mit je zwei und zwei Muttem 
(5 mm) gesichert. 

An der Profilstange links oben wer¬ 
den drei weitere Führungsschienen 
angeschraubt, um die Platinen mit 
der Elektronik für die Steuerung 
aufzunehmen. 

In der nächsten Folge werden wir 
uns mit der Steuerung beschäftigen. 

. Mathias Wahner 


Anmerkung d. Red.: 

Wie in der nächsten Folge erläutert, ist 
zum Betrieb des Plotters der I/O-Aus¬ 
gabebaustein aus der TI-REVUE 2/84 
erfordernd;. 


7 






SERVICE 


WIE FINDET DER Tl- 
SEINE 

PROGRAMME 

Der TI 99/4A ist eine sehr komfortable Maschine 
und sein größtes Plus im Betriebssystem ist wohl 
im DSRLNK zu suchen, was im Englischen 
als Device Service Routine Link bezeichnet wird. 

Dabei meine ich jetzt nicht das DSRLNK des 
Editor/Assembler-Moduls, sondern das im GROM 
und im ROM der Konsole enthaltene DSRLNK, 
welches wesentlich aufwendiger gestaltet ist, dem 
TI 99/4A aber auch die Möglichkeit gibt, auf alle be¬ 
liebigen Peripheriegeräte zuzugreifen, wenn diese ein 
eigenes Betriebssystem besitzen. Natürlich müssen 
diese Betriebssysteme bestimmte Bedingungen erfüllen, 
aber dazu ein andermal. 


Damit dieses DSRLNK 
nun auch die gewünsch¬ 
ten Programme findet, 
muß es erst einmal wis¬ 
sen, wo gesucht werden 
soll. Hier legt sich Texas 
Instruments ganz ein¬ 
fach fest: Einmal in allen 
GROM’s, auf 16 verschie¬ 
denen GROM-Basisadres- 
sen, und auf 16 verschie¬ 
denen Peripheriegeräten, 
die alle nacheinander ab¬ 
gesucht werden, wobei 
das ROM dann jeweils 
3uf der Adresse >4000 
beginnen muß. 

Damit ergeben sich die 
folgenden Speicherstellen 
für den Header: 

GROM >0000 Konsole 
GROM > 2000 Konsole 
GROM > 4000 Konsole 
GROM >6000 Modulport 
GROM > 8000 Modulport 
GROM > A000 Modulport 
GROM >C000 Modulport 
GROM >E000 Modulport 
Diese jeweils auf den 
GROM-Basisadressen 
>9800,>9804,>9808, 
>980C,>9810,>9814, 
>9818, >981C,> 9820, 
>9824,> 9828, >982C, 
>9830,> 9834,> 9838 
und>983C. Dabei sind 
diese in der Konsole nicht 
dekodiert, d.h. die einge¬ 
bauten GROM’s erschei¬ 
nen auf allen Adressen. 
Genauso ist es beim Mo- 
• dulport, zumindest ohne 


besondere Erweiterung. 
Über diese Art der Adres¬ 
sierung bringt übrigens die 
GRAM-Karte die 1MByte 
möglichen GRAM’s unter. 
ROM >4000: Hier liegen 
bis zu 16 ROM’s in den 
Peripheriegeräten paral¬ 
lel, die über die CRU- 
Adressen ein- bzw. ausge¬ 
schaltet werden. Diese 
Schaltfunktion wird eben¬ 
falls von DSRLNK aus¬ 
geführt. 

Nachdem wir nun wissen, 
wo sich so ein Header be¬ 
finden kann, können wir 
uns näher mit dessen Aus¬ 
sehen beschäftigen. Jeder 
Header benötigt insge¬ 
samt 16 Bytes bzw. 8 
Worte. 

Das erste Wort beinhaltet 
einmal ein Kennbyte 
>AA, welches sagt: Hier 
ist ein GROM bzw. ROM 
mit einem Header belegt. 
Das zweite Byte wird 
vom Betriebssystem nicht 
verwendet. Texas Instru¬ 
ments gibt für dessen In¬ 
halt die Versionsnummer 
des Programms an. 

Das zweite Wort ist der¬ 
zeit völlig ungenutzt. Es 
sollte einmal für spätere 
Erweiterung im höher¬ 
wertigen Byte die Anzahl 
der vorhandenen Pro¬ 
gramme beinhalten aber 
das ist anfangs, wie bei 
alten Modulen zu sehen. 


nicht belegt worden. 

Das dritte Wort beinhal¬ 
tet einen Zeiger auf den 
Beginn der Liste für die 
Power-up-Routinen, also 
derjenigen Routinen, die, 
direkt nach dem Ein¬ 
schalten des Computers, 
vor Erscheinen des Titel¬ 
bildschirms, ausgeführt 
werden sollen. 

Das vierte Wort ist ein 
Zeiger (Pointer) zur Liste 
der Programme, die in 
dem GROM bzw. ROM 
sind. Als Programme wer¬ 
den dabei diejenigen Pro¬ 
gramme bezeichnet, die 
aus der Hauptwahlliste 
(erscheint nach dem Titel¬ 
bild) des TI 99/4A ausge¬ 
wählt werden können. 
Dieser Pointer darf nur 
im GROM’s belegt wer¬ 
den. 

Das fünfte Wort beinhal¬ 
tet den Pointer zur Liste 
der Betriebssysteme 
(DSR’s) für die Peripherie¬ 
geräte. Daher kommt im 
wesentlichen auch der 
Name DSRLNK. 

Das sechste Wort ist der 
Pointer zur Liste der 
Unterprogramme, die in 
dem GROM bzw. ROM 
enthalten sind. Damit 
sind sowohl die Basic- 
Unterprogramme wie 
auch andere gemeint. 

Das siebente Wort ist der 
Zeiger auf die Liste der 
Interrupt-Routinen des 
Peripheriegerätes. Diese 
Interruptroutinen dürfen 
sich nur im ROM befin¬ 
den. 

Das achte Wort ist für 
zukünftige Erweiterung 
reserviert. 

Damit ergibt sich z.B. 
folgender Header in einem 
GROM: 

>0000 DATA > AA01 
Kennbyte und Versions¬ 
nummer 

>0002 DATA >0100 
Ein Programm 
>0004 DATA >0000 
Power-up-Routine (hier 

Vpi np'l 

>0006 DATA >1246 
Programm 

>0008 DATA > 1600 
DSR-Routine 


> 000ADATA >0308 
Unterprogramme 

> 000C DATA >0000 
Interrupt (hier keiner) 

Nun war schon eine gan¬ 
ze Menge von Listen der 
einzelnen Funktionen die 
Rede. Die oben erwähn¬ 
ten Pointer zeigen also 
nicht direkt auf den An¬ 
fang des Programms, son¬ 
dern erst einmal auf eine 
Liste. Diese sind wie folgt 
aufgebaut: 

ANFANG DATANAECH 
DATA ROUTIN 
BYTE LAENGE 
TEXT ‘XYZ‘ 
NAECH DATA >0000 
Der Pointer im Header 
zeigt also auf die Adresse 
ANFANG. Dort steht der 
Pointer zum nächsten 
Eintrag in der Liste; ist 
kein weiterer vorhanden, 
steht hier >0000. Das 
folgende Byte gibt die 
Länge des Textes des 
Namens an. Steht also 
im Namen der Text 
“RS232“, so ist das Län¬ 
genbyte >05. Die Haupt¬ 
programme, die Betriebs¬ 
systeme und die Unter¬ 
programme besitzen alle 
Namen, die Powerup- 
und die Interruptrouti¬ 
nen besitzen natürlich 
keine Namen. Hier ist das 
Längenbyte eben >00. * 

Wer nun selbst Program¬ 
me für Module in GROM’s, 
Unterprogramme bzw. für 
Peripheriegeräte schrei¬ 
ben will, muß noch eini¬ 
ges weitere beachten. 

Wenn der Einsprung aus 
dem Betriebssystem in 
das ROM-Programm er¬ 
folgt, so ist der GPLWS 
(>83E0) geladen. Der 
Einsprung erfolgt über ein 
BL, in RI 1 ist also die 
Rücksprungadresse enthal¬ 
ten. Der Rücksprung muß 
bei der Powerup- und 
Interruptroutine mit 
B *R11 erfolgen, bei den 
Unterprogrammen und 
bei den Betriebssystemen 
muß zuerst RI 1 um zwei 
erhöht werden, und dann 
erfolgt der Rücksprung 
über B *R11. 

Ist alles in einem GROM 
bzw. GRAM enthalten, 
sieht die Sache noch an¬ 
ders aus. Hier können ja 
nur in der Programmier¬ 
sprache GPL geschriebe- 


8 



SERVICE 


L 


ne Programme enthalten 
sein. Der Rücksprung 
erfolgt hier immer über 
ein CALL >0012. 

Damit wird eine besonde¬ 
re Rückkehr-Routine auf¬ 
gerufen. 

Für die ganzen Program¬ 
me ist die Benutzung des 
anderen im TI 99/4A ent¬ 
haltenen Speicherplatzes 
natürlich eingeschränkt. 
Für die Betriebssysteme 
steht nur der Floating 
Point Accumulator (FAC, 
geht von >834A bis 
>836D und die Register 
R0 bis RIO des GPLWS 
zur Verfügung. Die Inter¬ 
ruptroutinen können gar 
nur RI bis R8 und RIO 
des GPLWS nutzen. Die 
Powerup-Routine kann 
weite Bereiche des RAMs 
auf >8300 nutzen, es sei 
denn, man hat einen Cor- 
Comp-Controller, dann 
geht das nicht. Hier muß 
man sich ebenfalls auf den 
GPLWS beschränken. Bei 
den Unterprogrammen ist 
man auf das Basic ange- . 
wiesen, d.h., es kommt 
darauf an, wann diese 
aufgerufen werden und 
was sie machen sollen. 

Zum Schluß bleiben für 
heute noch zwei Anmer¬ 
kungen: Einmal die Unter¬ 
programme des Extended 
Basic: In diesem Modul 
ist ein besonderes 
DSRLNK programmiert 
und die Liste der Unter¬ 
programme sieht anders 
aus. Das andere ist der 
ROM-Bereich des Modul¬ 
ports. Was dem einen oder 
anderen wahrscheinlich 
schon aufgefallen ist: Wir 
haben bisher nicht vom 
Modulbereich geredet und 
reine ROM-Module wer¬ 
den von einigen TI 99/4A 
ja auch erkannt. Diese 
Module werden, auch 
wenn Sie einen normal 
aussehenden Header be¬ 
sitzen, nicht über das 
DSRLNK der Konsole an¬ 
gesprungen. Deshalb wer¬ 
den hier auch keinerlei 
Power-up-Routinen, 
Unterprogramme, Inter¬ 
rupt-Routinen und Be¬ 
triebssystemroutinen aus¬ 
geführt. Nur das Programm 
selber wird vom TI 99/4A 
gefunden. 


+special+special+special 


177 

99/4A 

SPECIAL 


Rund 
150 
Seiten 
Listings 
für den 
99/4A 


Das Magazin 
fürTI99-4A 


AM GUTEN KIOSK 
ODER BEIM 
BAHNHOFS¬ 
BUCHHANDEL 
ERHÄLTLICH 


SONDERHEFT NR. 4/86 

DM 14,80 / ÖS 124 / SFR 14;80 

Superhirn 

Tankcommander 

Tl-Pitfall 

Verflixte Börse 

War Games 

Zahlenjagd 

Zauberschloß 

Burgenschlacht 

Jungler 

Kreuzworträtsel 
Let's jump 
Long live the King 
Solo-Würfeln 
Spielautomat 
Ad venture III 
Alle Neune u.v.m. 


Heiner Martin 












SERVICE 


DATEI¬ 
VERWALTUNG 
SELBST 
GESTRICKT 

Wie man druckfertige Dateien aus Datenmengen 
gewinnt, die nicht mehr in den Speicher passen, das 
hat der Beitrag “Kein Raum im Speicher?“ in Nr. 3/86 
gezeigt. Dort hat der Verfasser die Gesamtmenge 
in sinnvolle Teilmengen zerlegt und portionsweise in 
mehreren APPEND-Dateien gesammelt. Anschließend 
sortiert und Datei nach Datei ausgedruckt, ergab dies 
eine Hard-Copy, mit der man im Hörsaal oder beim 
Hobby arbeiten kann. Vor der Druckreife aber 
steht die Dateigenerierung. Wie ein solches Programm 
aussehen kann, zeigt der nachfolgende Beitrag. 


Sagen Sie nicht, Sie 
bräuchten kein besonde¬ 
res Programm zur Datei¬ 
bildung. Dazu hätten Sie 
schließlich die TI- 
Cartridges “Dateiverwal¬ 
tung“ und “Personal 
Generator“. Nein, diese 
beiden Module eignen 
sich nicht. Denn erstens 
verwenden sie nur Gro߬ 
buchstaben und zweitens 
ynd sie für eine speicher¬ 
ökonomische Arbeitswei¬ 
se mit APPEND-Dateien 
und VARIABLE-Satz- 
längen nicht ausgelegt. 
Möglicherweise bietet 
irgendein Software- 
Klempner Brauchbares 
an. Wer aber nicht nach 
der Stecknadel im Heu¬ 
haufen suchen will, der 
darf selbst programmie¬ 
ren. Zugegeben: eine zeit¬ 
aufwendige, dafür um so 
interessantere Aufgabe. 
Und Erfahrung im Um¬ 
gang mit umfangreichen 
BASIC-Programmen 
bringt sie ganz nebenbei. 


LEHRGELD SPAREN 


Lehrgeld muß man dabei 
zahlen. Um sich jedoch 
nicht am Ende unnötig 
zu ärgern, sollte man von 
Anfang an 


— das Programm deutlich 
strukturieren, 

— den Benutzer verständ¬ 
lich führen, 

— mit REM-Zeilen nicht 
sparen, 

— jede Programm-Version 
ausdrucken und 

— eine Dokumentation 
anlegen. 

Für die Strukturierung 
gilt als Kurz-Regel: 
Knappes, übersichtliches 
Hauptprogramm, dahinter 
möglichst wenig GOSUB- 
Routinen und am Ende 
viel CALL/SUB-Pro- 
gramme. Die Benutzer¬ 
führung sollte auch Lies¬ 
chen Müller unmißverständ¬ 
lich zum nächsten 
Schritt auffordern. Die 
REM-Zeilen können Sie 
aus dem endgültigen Ab¬ 
laufprogramm mit Hilfe 
eines Utility, wie es in 
einer früheren Nummer 
der TI-REVUE zu finden 
ist, wieder entfernen. 

Nur für die Dokumenta¬ 
tion durch PAP(=Pro- 
grammablaufplan) gibt’s 
keinen Trick. Sie schei¬ 
tert meist an einer 
menschlichen Grundeigen¬ 
schaft: der Bequemlich¬ 
keit. 

Vor dem Programm- 
Schreiben notieren Sie 


die gewünschten Lei¬ 
stungsfunktionen. Schon 
die erste Überlegung 
bringt 3 Hauptgruppen 
von Funktionen aufs 
Papier: 

1. die Dateibildung, 

2. die Bearbeitung bis 
zur Druckdatei und 

3. das Druckprogramm 
mit Hilfsroutinen. 

Alle 3 Gruppen zusam¬ 
men ergeben ein Mam¬ 
mutprogramm, das auch 
in die 32 KB-Speicher- 
erweiterung nicht mehr 
hineinpaßt. Also teilen. 
Zum Lohn laufen dann 
die 3 etwas kürzeren, 
in sich geschlossenen 
Teilprogramme auch 
besser ab. 


DAS MENÜ 
ANRICHTEN 


Nach dem mit viel Liebe 
ausgeführten Gesamt¬ 
titel brauchen Sie ein 
Hauptwahl-Menü, das mit 
DISPLAY AT(.,.) im un¬ 
teren Teil des Titelbildes 
erscheinen kann. Zur 
Ausführung der Wahl gibt’s 
dann das Unterprogramm 
>SUB WAHL(“....“,T):: 
On T GOTO...< Es ist 
mehr als einmal veröffent¬ 
licht worden; meines 
stammt aus “99 Spezial 
II“: 

9000 SUB WAHL 
(OPT$,T) 

9010CALL SOUND 
(150,1400,5) 
9020CALL HCHAR 
(24,30,63): :CALL 
KEY(0,K,S)::CALL 
HCHAR(24,30,32):: 
IF S=0 THEN 9020 
9030IF>=ASC(“a“)THEN 
T=T—ASC(“a“)+ 
ASfY“A“'l 
9040T=POS(OPTS, 

CHR$(T),1)::IF T30 
THEN CALL 
SOUND (200,220,0) 
::GOTO 9010 
9050 SUBEND 


Dieses Unterprogramm 
fordert mit blinkendem 
Fragezeichen auf, quäckt 
ganz professionell und 
liefert die Steuervariable 
T für ON T GOTO - 
wenn Sie im String 
OPT$ die Anfangsbuch¬ 
staben der Wahlmöglich¬ 
keiten schön aneinander¬ 
reihen (z.B. “IK.. “für I) 
nputK)orrektur...) 

Vom Hauptmenü aus ge¬ 
langt man nicht nur in 
die angewählten Pro¬ 
grammzeilen, sondern 
auch in die abgetrennten 
Teilprogramme Bearbei¬ 
tung und Druck. Nach 
Aufruf durch SUB 
WAHL soll’s da “Bitte 
warten!“ heißen und 
dann >RUN “DSK1. 
LITVERZ_2“< (oder _3). 
Schon schnurrt das Dis¬ 
kettenlaufwerk, lädt und 
startet das gewünschte 
Teilprogramm. 

Daß zum Beginn eines je¬ 
den Programmes alle ver¬ 
wendeten String- und nu¬ 
merischen Variablen anzu¬ 
führen sind, ist eine Bin¬ 
senweisheit. Hierher ge¬ 
hören auch die wiederkeh¬ 
renden Anzeige-Strings, 
wie BW$=“Bitte wählen!“ 
Diese Deklarationen, der 
DIM- und die CALL-Be- 
fehle (z.B. CALL 
SOUND, nicht die SUB- 
Programme) können mit 
GOTO übersprungen wer¬ 
den. Sprungziel ist die 
Test-Abschaltanweisurig 
“!@P-“, die mit “!@P+“ 
vor den SUB-Programmen 
endet. Das spart bei sol¬ 
chen Programmlängen 
deutlich Anlaufzeit. 
Welche Funktionen muß 
nun das Programm 
“Datei anlegen“ unbe¬ 
dingt erfüllen? Nach den 
Erfahrungen der Praxis: 

— Datei erstellen 
(Daten-Input), 

— Datensätze verändern 
(Korrektur, tilgen, 
ggf. kopieren) 

— Einträge ansehen und 
suchen (Auflisten, 
blättern, suchen) 

— Dateikatalog 

— Dateien oder deren 
Teile ein- und ausspie¬ 
len 

— protokollieren und 
sichern 

— Sitzungen beenden 


10 


SERVICE 


Erstellen, auflisten, blät¬ 
tern, suchen, Katalog, 
ein- und ausspielen, be¬ 
enden gehören gleich zu 
Beginn ins Wahlmenü. 
Blättern, Korrektur, 
tilgen und ggf. kopieren 
müssen nach jedem einge¬ 
gebenen Datensatz zusätz¬ 
lich angeboten werden. 
Noch vor dem Wahlmenü 
sollte das Programm zum 
Einlegen der Arbeitsdis¬ 
kette auffordern und an¬ 
schließend testen, ob 
dies geschehen ist. 
>0PEN#99:“DSK1.“, 
INPUT. RELATIVE, 
INTERNAL: :INPUT=99 
:A$::IF A$O“PIPAP0“ 
THEN DISPLAY AT() 
BEEP:“DISK PIPAPO 
EINLEGEN!“< frägt den 
Namen der einliegenden 
Diskette ab und vergleicht 
ihn mit dem der zugelas¬ 
senen Scheibe. Ich weiß, 
w.arum ich bei nur einem 
Laufwerk den Test so 
schätze. 


KERNSTÜCK INPUT 


Der mit “Erstellen“ auf¬ 
gerufene Abschnitt bil¬ 
det das eigentliche Kern¬ 
stück des Programms. 

Wie er aussieht, hängt da¬ 
von ab, welche dei bei¬ 
den in TI-REVUE 3/86 
angebotenen Varianten 
Sie verwenden wollen. 

Die umständlich erschei¬ 
nende Lösung sammelt 
den anfallenden Daten¬ 
wirrwarr, so wie er da¬ 
herkommt, in beliebig 
vielen APPEND-Dateien 
< Kernspeichergröße, 
ordnet jede einzelne in 
sich, klaubt daraus die 
nach dem Ordnungs¬ 
schema zusammengehö¬ 
renden Einträge zu einer 
neuen Reihe von 
APPEND-Dateien zusam¬ 
men und sortiert wieder¬ 
um. Bei der eleganteren 
Lösung wird hingegen je¬ 
de Eingabe gleich auf 
Datenfelder verteilt. Wie 
das gemacht wird, steht 
in TI-REVUE 3/86. 

Wer wird nun die um¬ 
ständlichere Lösung neh¬ 
men, wenn die elegantere 
so einfach aussieht? Der¬ 
jenige, der sichergehen 
will, daß die einzelnen auf 
Disk ausgespielten Da¬ 


teien nicht die Speicher¬ 
kapazität übersteigen. 

Denn beim Weg über die 
Datenfelder ist eine sol¬ 
che Kontrolle ungemein 
zeit- und programmauf¬ 
wendig. Dieses Verfahren 
eignet sich daher mehr 
für vorher bestimmbare 
Datenmengen je Einzel¬ 
datei, wie das bei Regi¬ 
stern zu abgeschlossenen 
Publikationen zutrifft. 
APPEND-Dateien gestat¬ 
ten nämlich keinen ge¬ 
sonderten Eintrag über 
die Anzahl der eingeschrie¬ 
benen Datensätze in Satz 
0. Man müßte also jeweils 
die Sätze bis EOF() zäh¬ 
len. Und das nicht nur in 
einer, sondern möglicher¬ 
weise in mehr als 30 
Dateien! 

Bei der Umstandslösung 
checkt das Programm am 
Anfang jeder INPUT- 


Session mittels Dateikata¬ 
log (s. Handbuch “Disk 
Memory System“ PHP 
1240, S. 39, oder TI- 
REVUE 5/85, S. 45) das 
Inhaltsverzeichnis der Dis¬ 
kette und ermittelt die 
Anzahl der belegten Sek¬ 
toren der letzten geöff¬ 
neten Datei. Diese Anga¬ 
be mal 256 Bytes ergibt 
ungefähr die bereits ver¬ 
brauchten Bytes (=ASCII- 
Zeichen). Übernehmen 
Sie diese sowie die Num¬ 
mer der betreffenden Da¬ 
tei und lassen Sie jeweils 
die mit LEN(B$) gezähl¬ 
ten Bytes eines jeden 
Inputs hinzuaddieren. 

Bei mehr als 9240 wird’s 
zumeist kritisch. Daher 
BEEP, Schluß mit der 
verwendeten Datei und 
eine neue eröffnen. Zeigt 
die Diskette jedoch 0 


belegte Dateisektoren an, 
dann müssen Sie die Da¬ 
teinummer natürlich auf 
1 setzen. 

Auch bei der Sicherheit 
der eingegebenen Daten 
ist die Elegance-Lösung 
unterlegen. Vielleicht ent¬ 
hält das Array gerade 
zahlreiche Einträge, 
wenn das Programm ein¬ 
mal abstürzt. Futsch sind 
dann alle diese Daten. 
Beim “umständlicheren“ 
Weg läßt man nach späte¬ 
stens 10 Datensätzen den 
OUTPUT auf Disk per 
Programm ablaufen. Ein 
immerhin möglicher Da¬ 
tenverlust hält sich dann 
in Grenzen. Daß man 
trotzdem jeden Input 
zwangsweise auf dem 
Drucker protokolliert, 
sollte selbstverständlich 
sein. Denn der Teufel ist 
ein Eichhörnchen. 


KEIN DATENSCHUTZ 
OHNE MASKE 


Beim Datenschutz-Input 
dürfen Sie alle Register 
der ACCEPT AT-Klavia- 
tur ziehen. Auch die Ge¬ 
staltung der Bildschirman¬ 
zeige, die sogenannte 
Maske, läßt Raum für Ihre 
eigene Phantasie. Doch 
vergessen Sie bei aller 
Kreativität nicht, in einer 
Kopfspalte den Namen 
der Datensammlung, die 
Nummer des Datensatzes 
und den Modus, wie Input 
oder Korrektur, anzuzei¬ 
gen. Strich drunter, 
“Karteikarte“ mit Daten¬ 
satz und am unteren Bild¬ 
schirmrand die Aufforde¬ 
rung, was weiter zu ge¬ 
schehen hat: “Weiter mit 
Leertaste. Korrektur...“ 


Das Ganze als SUB-Pro- 
gramm hinter END ange¬ 
hängt und den anzuzei¬ 
genden Modus als String¬ 
variable OPT$ in Klam¬ 
mer übergeben, läßt 
sich die Maske mit CALL 
MASK(‘TNPUT“) auch 
von anderen Stellen des 
Programms aus aufrufen. 
Ordnen Sie alphabetisch, 
dann brauchen Sie ver¬ 
ständlicherweise keinen 
Zuordnungsschlüssel ein¬ 
geben. Selbst bei der Auf¬ 
teilung auf das Speicher- 
Array ergibt ASC(M$), 
wie in TI-REVUE 3/86 
beschrieben, den Feldin¬ 
dex und später die Datei- 
Nummer. Bei einer sach¬ 
lichen Ordnung hingegen 
muß Datenfeld 1 die zu¬ 
treffende Ordnungsbe¬ 
zeichnung enthalten. Am 
besten eignen sich hier¬ 
zu memnotechnische Ab¬ 
kürzungen, wie KM für 
Klassische Musik. Wie 
aber schließen Sie die Ver¬ 
wendung unzulässiger Ab¬ 
kürzungen aus? Sie schrei¬ 
ben einfach alle Kürzel 
hintereinander in einen 
Prüf-String und tasten die 
Eingabe M$ mit POS-Be- 
fehlen ab. Ist der Wert=0, 
dann war’s nix. Andern¬ 
falls ergibt diese POS- 
Zahl gleich die künftige 
Sammler-Datei-Nr. Bei 
zweistelligen Abkürzun¬ 
gen natürlich durch 2 di¬ 
vidiert, bei 3 Stellen 
durch 3. So lassen sich bei 
Bedarf durch String-Kom¬ 
binationen sogar umfang¬ 
reiche dezimale Zählun¬ 
gen aufbauen. 

Wenn LEN(M$) den Test 
<höchstzulässige Satzlän¬ 
ge nach Dateispezifika¬ 
tion im OPEN-Befehl (oh¬ 
ne Angabe=80) bestanden 
hat, wird A$(I+1)=M$ 
und im Angebotsfeld am 
unteren Rande erscheinen 
die Fragen: Korrektur, 
Kopie, PROC’D, Next, 
Beenden und dann das 
Fragezeichen von CALL 
WAHL. Weil aber die Vor¬ 
stellung all dieser Routi¬ 
nen zu vieJe Zeilen bean¬ 
spruchen würden, heißt’s 
an dieser Stelle wie im 
Fernseh-Krimi: Fortset¬ 
zung folgt! Und das außer 
(Datei-)Programm. 

Peter Grimm 



11 




SERVICE 



MULTI- 

COLOR- 

MODUS 

Der Multi-Color-Modus ist einer der 4 möglichen 
Betriebsarten des Videoprozessors des TI 99/4A, ne¬ 
ben dem Grafikmodus (im Basic), Textmodus 
(im Tl-Writer) und dem Bit-Map-Mode (siehe 
TI-REVÜE 3/86). Er bietet eine Auflösung von 64 
Punkten, die jede der 16 vorhandenen Farben 
annehmen könnte. Das Besondere am MC-Modus 
(Multi-Color-Modus) ist, daß 1. er relativ einfach 
vom Basic aus einzuschalten ist; 2. nicht 
mehr Speicherplatz braucht, als der normale Grafik¬ 
modus, d.h., es geht kein Speicherraum 
für Basic-Programme verloren; und 3. alle Grafik¬ 
befehle des Basics und Sprites weiter voll funktions¬ 
tüchtig sind. (Nur CALL COLOR funktioniert 
nicht mehr, weil die Farben anders festgelegt 
werden.) Die einzige Hardware-Bedingung für den 
MC-Modus ist, daß Sie und Ihr TI in der Lage sind, 
einzelne Speicherstellen gezielt anzusprechen. 

(Z.B.: mit CALL LOAD, was Ihnen mit Mini- 
Memory, Mini-Assembler, Extended Basic mit 
Speichererweiterung, Editor-Assembler o.ä. 
zur Verfügung steht.) 

(=224=>E0). Der MC- 
Modus hängt von der fünf¬ 
ten Ziffer der Binärzahl 
ab. Wenn dort eine “1“ 
steht, arbeitet er. Also 
muß der neue Registerin¬ 
halt so aussehen: 

“1110 1000“ (=232=>E8). 
Man muß daher nur 232 
(oder >E8) in die Spei¬ 
cheradresse —31788 
(>83D4) laden und eine 
Taste drücken und man 
hat den MC-Modus einge¬ 
schaltet. Zum Ausschal¬ 
ten muß man 224 (oder 
>E0) in die Speicherstel¬ 
le —31788 (>83D4) la¬ 
den und eine Taste 
drücken. 

Der MC-Modus muß nicht 
in ein Programm einge¬ 
baut werden, sondern 
kann auch im Direktmo¬ 
dus eingeschaltet wer¬ 
den und bleibt es auch. 

Ist der MC-Modus einge- 


Z^hlen, die in Anfüh¬ 
rungszeichen stehen, sind 
Zahlen im Binärsystem; 
Zahlen mit einem “größer 
als“-Zeichen (“>“) davor, 
stehen im Hexadezimal¬ 
system; alle anderen Zah¬ 
len stehen im Dezimal¬ 
system. 

Außerdem müssen Sie 
noch eine Eigenschaft 
des TI kennenlemen: 

Eier Inhalt der Adresse 
-31788 (>83D4) wird 
mit jedem Tastendruck 
in Register RI des Video¬ 
prozessors übertragen. 
Dies erleichtert uns das 
Einschalten des MC- 
Modus sehr, da nur das 
Register 1 verändert wer¬ 
den muß, um dem Video¬ 
prozessor mitzu teilen, 
daß er jetzt im MC-Modus 
arbeiten soll. Der norma¬ 
le Inhalt von Register 1 
ist “1110 0000“ 


100 REM ****************** 
HO REM * “ * 

120 REM # LISTING 1 * 

130 REM * * 

140 REM ****************** 
150 REM 

160 REM ERZEUGT EINE FIGUR 
AUF DEM BILDSCHIRM 
170 CALL LOAD(-31788,232) 

180 INPUT "ENTER DRUECKEN !! 

n • 

190 CALL CLEAR 

200 CALL CHAR(128,"000F00880 
0000110 ") 

210 CALL CHAR(129,"FFFFBB888 
8110000 ") 

220 CALL CHAR<130,"00F000880 
0001001 ") 

230 FOR 1-1 TO 3 

240 CALL VCHAR19,1+10,1+127, 

4) 

250 NEXT I 

260 CALL LOAD(-31788,224) 

270 INPUT "":A* 

280 END 

100 REM ****************** 
110 REM * * 

120 REM * LISTING 2 * 

130 REM * * 

140 REM ****************** 
150 REM 

160 REM GIBT EINE FUNKTION 
AUF DEN BILDSCHIRM AUS. 
170 DEF F<X)«SIN(X*3.1415297 
/180) 

'180 DEF ROUND<X)=INT<X+.5) 
190 INPUT "X- SCHRITTWEITE "S 
DX 

200 INPUT "V-SCHRITTWEITE "J 
DY 

210 PRINT I : '."DIE ANGEZEIG 
TEN Y-WERTE":"LIEGEN DANN ZW 


schaltet, so verwandeln 
sich die gerade auf dem 
Bildschirm befindlichen 
Zeichen in mehr oder we¬ 
niger bunte Quadrate. 

Die Farbe der Quadrate 
ist von der Zeile in der sie 
stehen und vom Charakter¬ 
string des dargestellten 
Zeichens abhängig. Der 
Charakterstring eines Zei¬ 
chens ist der String, der 
im CALL CHAR-Befehl 
das Aussehen des Zeichens 
bestimmt. Um den Zu¬ 


sammenhang zwischen 
Farbe, Zeile und Charak¬ 
terstring zu klären, ist es 
am besten, wenn man ein 
Beispiel durcharbeitet: 
Schreiben Sie die unterste 
Zeile im Direktmodus mit 
großen A’s voll. Sie sehen, 
wenn Sie den MC-Modus 
vorher eingeschaltet ha¬ 
ben, mit CALL LOAD 
(-31788,232) und 
Drücken einer Taste, ein 
dunkelblaues Band statt 
der A’s. Wenn Sie jetzt 
in die nächste Zeile schrei- 


12 



SERVICE 


ISCHEN:-: :DY#24;■(OBEN) 

UND 8 : DY*-24; " (UNTEN) : : 
220 PRINT "DIE X-WERTE GEHEN 
VON": :DX#-31|"(LINKS) BIS" 
:DX#31I"(RECHTS)*: : 

230 PRINT "DIE MARKIERUNGEN 
AN X- UND Y-ACHSE ZEIGEN JE 
WEILS 10 EINHEITEN 

AN."*. : 

240 PRINT "EINE TASTE DRUECK 
EN ! !" : : 

v 230 REM ,UM DEN MULTI-COLOR 
MODUS EINZUSCHALTEN. 

260 CALL L0AD(-31788,232) 

270 CALL KEY( 0, K, S ) 

260 IF S=0 THEN 270 
290 CALL CLEAR 
300 CALL CHAR(35,"1100110011 
001100") 

310 CALL CHAR<36,"0101010101 
010101 ") 

320 CALL CHAR(37,"1101110111 
011101 " ) 

330 CALL VCHAR(1,16,36,23) 
340 CALL HCHAR<12,1,35,32) 
330 FOR 1=2 TO 22 STEP 5 
360 CALL HCHAR(I,16,37) 

370 NEXT I 

3S0 FOR 1-1 TO 31 STEP 3 
390 CALL HCHAR(12,1,37) 

400 NEXT I 

410 ZEICH*(1)«"FOOOFOOOFOOOF 
000" 

420 ZEICH*(2) -"OFOOOFOOOFOOO 
FOO" 

430 ZEICH*(3)*"OOFOOOFOOOFOO 
OFO" 

440 ZEICH*(4)«"OOOFOOOFOOOFO 
OOF" 

430 ZEICH-40 

460 XWERT«0-R0UND(32#DX) 

470 XPOS-XPOS+1 

480 IF XP0S>64 THEN 760 


490 XWERT-XWERT+DX 
300 WERT-F(XWERT) 

310 YP0S-23-R0UND(WERT/DY) 
320 IF <YP0S<1)+(YPQS>48)THE 
N 470 

530 XPRINT=ROUND(XP0S/2) 

340 YPRINT«RGUND(YPOS/2) 

330 CALL GCHAR(YPRINT,XPRINT 
,CHAR) 

360 XCHAR-(XP0S/2-INT(XPOS/2 
))*-l+l 

370 YCHAR»(YP0S/2-INT(YPOS/2 
)>#- 1+1 

580 XYCH=XCHAR-YCHAR*(YCHAR« 
2 ) 

590 IF CHAR032 THEN 660 
600 ZIEL*=ZEICH*(XYCH) 

610 CALL CHAR(ZEICH,ZIEL*) 
620 CALL HCHAR(YPRINT,XPRINT 
,ZEICH) 

630 ZEICH=ZEICH+i 
640 GOTO 470 

630 REM UND-VERKNUEPFUNG 
660 CALL CHARPAT(CHAR,CHAR*) 
670 ZIEL*«"" 

680 FOR 1-1 TO 16 

690 IF SEG*(ZEICH*(XYCH),1,1 

)< >"F" THEN 720 

700 ZIEL*«ZIEL*l< n F" 

710 GOTO 730 

720 ZIEL*«ZIEL*&SEG*(CHAR*,I 

, 1 ) 

730 NEXT I 
740 GOTO 610 

730 REM FERTIG GEZEICHNET-) 
TASTE DRUECKEN,UM DEN 
MULTI-COLOR MODUS AU 
S- ZUSCHALTEN. 

760 CALL S0UNDI-1000,110,0) 
770 CALL LOAD(-31788,224) 

780 CALL KEY(0,K,8) 

790 IF S=0 THEN 780 
800 END 


ben, wird aus dem dun¬ 
kelblauem Band ein 
schmaler Streifen, der 
noch unten dunkelblau 
ist, während oben abwech¬ 
selnd kornblumenblaue 
und dunkelgrüne Qua¬ 
drate zu finden sind. Die¬ 
ses merkwürdige Verhal¬ 
ten liegt daran, daß im 
MC-Modus in der unter¬ 
sten Zeile die letzten vier 
Zeichen des Charakter¬ 
strings die Farbe angeben, 
aber in der vorletzten 
Zeile werden die Zeichen 


9-12 beachtet. Betrach¬ 
ten wir den Charakter¬ 
string von “A“ 

(>003844447C444444). 
Die letzten vier Zeichen 
sind (>4444). Sie geben 
die Farbe der Quadrate 
der letzten Zeile an. Das 
erste dieser 4 Zeichen 
gibt die Farbe des linken 
oberen Quadrats an 
(Nr. 1 in Bild 1); das 
zweite Zeichen die des 
rechts oberen (Nr. 2 in 
Bild 1); das dritte Zei¬ 
chen die des links unte¬ 


ren (Nr. 3 in Bild 1) und 
das vierte die des rechts 
unteren (Nr. 4 in Bild 
1). Die Farbe selbst er¬ 
hält man, wenn man den 
Wert des Zeichens in das 
Dezimalsystem umrech¬ 
net und dann 1 addiert. 
Dann entspricht der Zah¬ 
lenwert genau dem der 
Farben wie bei CALL 
COLOR (siehe Tabelle 1). 
Wenn wir uns noch ein¬ 
mal die letzten 4 Zeichen 
des Charakterstrings 
von “A“ ansehen (>4444) 


sieht man, daß das Zei¬ 
chen “A“ im MC-Modus 
ein dunkelblaues Quadrat 
in der letzten Zeile ergibt, 
denn >4 = 5 normal und 
5 = Dunkelblau (siehe 
Tabelle 1). Das veränderte 
Aussehen vom Zeichen 
“A“ in der vorletzten Zei¬ 
le läßt sich jetzt erklären. 

In der vorletzten Zeile 
werden die Zeichen 
9—12 des Charakterstrings 
beachtet. Diese sind bei 
“A“ >7C44. 

Daraus folgt, daß das Zei- Sw 


13 



SERVICE 


chen jetzt so aussieht: 
links oberes Quadrat 
=>7=8= Kornblumenblau; 
rechts oberes Quadrat 
=>C=13= Dunkelgrün, 
und die beiden anderen 
Quadrate bleiben dunkel¬ 
blau (>44). 

Die Abhängigkeit der Zei¬ 
le ist zum Glück auch 
systematisch. In der er¬ 
sten Zeile (ganz oben) 
werden die ersten 4 Zei¬ 
chen des Charakterstrings 
beachtet; in der zweiten 
Zeile geben die Zeichen 
Nr. 5-8 die Farbe an; 
in der dritten Zeile die 
Zeichen Nr. 9-12 und in 
der vierten Zeile die Zei¬ 
chen Nr. 13—16. Die 
fünfte Zeile verhält sich 
wie die erste (siehe 
Tabelle 2). 

Man kann also das Aus¬ 
sehen des Zeichens im 
MC-Modus durch Umde- 
Finierung verändern. 

Wenn der Buchstabe “A“ 
durch CALL CHAR 
(65,“FFFFFFFFFFFF 
FFFFF“) (in einem 
Programm!) verändert 
wird, sieht das “A“ jetzt 
in allen Zeilen immer 
ganz weiß aus (im MC- 
Modus), denn >F= 16= 
Weiß und alle Stringzei¬ 
chen sind gleich. Also 
muß man ein Zeichen, 
das in allen Zeilen im 
MC-Modus gleich ausse- 
hen soll, so definieren, 
^aß alle Teil-Charakter¬ 
strings, d.h. die Zeichen 
1 — 16, identisch sind. 

Aber natürlich kann das 
Zeichen auch so definiert 
werden, daß es in jeder 
Zeile anders aussieht. 
Listing 1 ist dafür ein 
Beispiel. Es erzeugt eine 
Person mit Hut. Für diese 
Person hätte man im 
Grafikmodus 10—12 ver¬ 
schiedene, umdefinierte 
Zeichen gebraucht. Man 
muß aber bei dieser Art 
der Grafikprogrammie¬ 
rung sehr genau planen, 
da man die ganze Grafik 
nicht einfach horizontal 
verschieben kann. Wenn 
in Zeile 240 als erste Zahl 
nicht die Neun, sondern 
eine andere Zahl steht, 
hat die Figur z.B. die 
Beine über dem Kopf. 
Aber bei einer 5 oder 13 
passiert nichts, da sie die 


selben Teile des Charak¬ 
terstrings berücksichtigen 
(siehe TabeHe 2). 

Listing 2 ist ein Beispiel 
für die Anwendung des 
MC-Modus. Es ist ein 
Programm, das eine Funk¬ 
tion (hier: Sinusfunktion) 
mit einer Auflösung von 
64 Bildpunkten zeichnet. . 
(Bsp.: X-Schrittweite: 6; 
Y-Schrittweite: 0.05). 
Diese Auflösung ist eine 
sinnvolle Alternative zu 
den Programmen, die ent¬ 
weder zu grob (24 Bild¬ 
punkte) oder zu langsam 
arbeiten. Im Programm 
werden Zeichen so defi¬ 
niert, daß sie in allen Zei¬ 
len gleich aussehen (Zeile 
300-320). 

Ansonsten ist noch Zeile 
550 wichtig, in der über¬ 
prüft wird, ob an der 
Stelle, an der ein Zei¬ 
chen hinkommen soll, 
schon ein Zeichen sich 
befindet. Wenn sich ein 
Zeichen schon dort befin¬ 
det (Char<>32), dann 
findet eine ‘UND‘-Ver- 
knüpfung zwischen dem 
Zeichen, das sich schon 
dort befindet und dem 
neuen String statt, 
d.h., an die Stelle, an 
der das weiße Quadrat 
erscheinen soll, wird die¬ 
ses gesetzt. Die restlichen 
Zeichen des Charakter¬ 
strings werden übernom¬ 
men. Danach wird das 
neue Zeichen definiert. 
Diese Prozedur wird 
durchgeführt, damit sich 
direkt benachbarte Qua¬ 
drate nicht gegenseitig 
löschen. Ich hoffe, daß 
Sie noch sehr viel Freude 
mit dieser nicht ganz all¬ 
täglichen Grafikart haben 
werden. 

Klaus Vietzke 


DAS GROSSE 
ASSEMBLER-SPEZIAL 
NUR IM BAHNHOFS-BUCH¬ 
HANDEL ODER 
BEIM VERLAG 


Tabelle 2: 




Zeile l\ 

Ir. 


Zeichen Nr. 

1 , 

5, 

9, 

13, 

17, 

21 

1-4 

2, 

6, 

10 , 

14, 

18, 

22 

5-8 

3, 

7, 

11 , 

15, 

19, 

23 

9-12 

4, 

8, 

12, 

16, 

20, 

24 

13-16 


Tabelle 1 : 



Farbe 

Normaler Code 

Hex-Code 

Transparent 

1 

>0 

Schwarz 

2 

>1 

Mittelgrün 

3 

>2 

Hellgrün 

4 

>3 

Dunkelblau 

5 

>4 

Hellblau 

6 

>5 

Dunkelrot 

7 

>6 

Kornblumenblau 

8 

>7 

Mittelrot 

9 

>8 

Hellrot 

10 

>9 

Dunkelgelb 

11 

> A 

Hellgelb 

12 

>B 

Dunkelgrün 

13 

>C 

Magenta 

14 

>D 

Grau 

15 

>E 

Weiß 

16 

>F 


Bild 1: 

Im Grafimodus Im MC-Modus 


. * 

* * . 

+ 


+ 

+ 

* . 

. . * . 

+ 

1 

+ 

2 + 

* 

. . * . 

+ 


+ 

+ 

* * 

**•*.. 

+ - 

— 

— 


* • 

. . * . 

+ 


+ 

+ 


+ + + 
+ 3 + 4 + 

+ - + 


14 













LISTING 


CALL-SOUND¬ 

GEHEIMNISSE 


Das hier vorgestellte Mu¬ 
sikprogramm läßt vonein¬ 
ander unabhängige Ton¬ 
längen der einzelnen 
Stimmen zu! Das Geheim¬ 
nis liegt darin, daß man 
keinen Anschlag des 
Tones hören kann, wenn 
in CALL SOUND eine 
negative Länge gewählt 
wurde (Zeile 430 und 
450). Die Nachteile mei¬ 
nes Systems sind aus den 
Zeilen 120 und 130 er¬ 
sichtlich: ein großer Spei¬ 
cherplatzbedarf und eine 
lange Wartezeit. Doch das 
Warten lohnt sich! Sie 
erleben den optimalen 
Texas Instruments Ex- 
tended Basic-Hörgenuß. 

Sie können sogar einen 
Hall-Effekt(i) erzielen, 
wenn Sie in Zeile 180 C 
nicht mit 20, sondern 
mit z.B. 7 belegen. 

Das Programm läßt sich 
natürlich auch für andere 
Kompositionen umschrei¬ 
ben. ln diesem Fall spielt 
der Computer zweistim¬ 
mig. Durch Einfügen von 
z.B. TOI und LAU1 und 
entsprechenden Datas 


(Frequenz, Durchläufe, 
Frequenz, Durchläufe, 
...,0,0) ist auch ein drei¬ 
stimmiger Betrieb mög¬ 
lich. In Zeile 140 muß 
dann Y auch auf 3 gesetzt 
werden. Ist das neue Stück 
kürzer oder länger, so 
müssen natürlich auch die 
Dimensionierung und die 
Laufvariable Q anders aus- 
fallen. Zu den Datas ist 
zu sagen, daß die Anzahl 
der Durchläufe, die ein 
Maß für die Länge des 
Tones ist, für den kürze¬ 
sten Ton nicht unter 2 
sein sollte, da der letzte 
Durchlauf eines Tones 
mit einer geringen Laut¬ 
stärke belegt wird, um 
dem nächsten Ton zur 
Unterscheidung einen An¬ 
schlag zu geben (C=20, 
sonst C=0). Dies ergibt 
eine Hüllkurve, bei der 
die Lautstärke erst gegen 
Ende des Tones ab¬ 
nimmt. Durch geschick¬ 
te Programmierung ist es 
nun möglich, die Laut¬ 
stärke eines Tones z.B. 
kontinuierlich zu- oder 
abnehmen zu lassen, um 
den Klang einer oder meh¬ 
rerer Stimmen zu be¬ 
einflussen. 

Detlev Leistritz 


100 CALL CLEAP :: PRINT "D I 
X I E ’'S LAND" 

110 REM VARIABLENBELEGUNG 
120 PRINT "ICH LESE GERADE T 
OENE EIN.":"BITTE 40 SEC. WA 
RTEN..." 

130 DIM T02 < 4.04 ) , T03 (404) , LA 
U2(404),LAUS(404) 

140 RESTORE :: M= 1 :: Y=2 
150 X=1 :: READ A,E :: IF A= 
0 THEN 200 

160 c =0 :: gosue 220 

170 x=x +1 :: m=m +1 :: if x<> 

B THEN 160 

180 C=20 :: GOSUB 220 

190 M=M+1 :: GOTO 150 

200 Y=Y -1 :: M= 1 :: if y=0 t 

HEN 400 

210 GOTO 150 

220 IF Y=2 THEN T02(M) =A :: 

LAU2(M)=C :: RETURN 

230 IF Y=1•THEN TOS(M) =A :: 

LAU3(M)=C :: RETURN 

240 DATA 292,2,330,2,262,4,2 

62,4,262,2,294,2,330,2,349,2 


,392,4,392,4,392,4,330, 4 
250 DATA 440,4,440,4,440,6,3 
92,2,440,6,392,2,440,2,494,2 
,523,2,587,2 

260 DATA 659,12,523,2,392,2, 
523,12,392,2,330,2,392,12,29 
4,2,330,2,262,12 
270 DATA 392,4,523,4,659,4,5 

87.4.523.4.440.4.523.8.440.4 
,587,12,440,4,587,12,392,4 
280 DATA 523,4,659,4,587,4,5 

23.4.440.4.494.4.523.4.440.4 
,392,4,330,4,523,4,330,4 
290 DATA 330,4,294,8,330,4,2 
62,12,330,4,294,12,440,4,392 
,4,330,4,523,6,330,2 

300 DATA 330,4,294,8,330,4,2 
62,12,330,4,294,12,440,4,392 
,4,330,4,659,6,587,2,587,4,5 
23,8,0,0 

310 DATA 44000,4,131,4,196,4 
,131,4,196,4,131,4,196,4,131 
,4,196,4 

320 DATA 175,4,220,4,175,4,2 

20.4.175.4.220.4.175.4.220.4 
,131,4,196,4,131,4,196,4 
330 DATA 131,4,196,4,131,4,1 

96.4.196.4.196.4.196.4.196.4 
,131,4,196,4,131,4 

340 DATA 196,4,131,4,196,4,1 

31.4.196.4.175.4.220.4.175.4 
,220,4,147,4,185,4,147,4 
350 DATA 185,4,196,4,196,4,1 

96.4.196.4.131.4.196.4.131.4 
, 196,4 

360 DATA 175,4,220,4,175,4,2 

20.4.131.4.196.4.131.4.196.4 
,196,4,196,4,196,4,196,4 

370 DATA 131,4,196,4,131,4,1 

96.4.196.4.196.4.196.4.196.4 
,131,4,196,4,131,4,196,4 
380 DATA 196,4,196,4,196,4,1 

96.4.131.4.196.4.131.4.196.4 
,196,4,196,4,196,4,196,4 
390 DATA 131,4,196,4,196,4,1 
96,4,131,4,196,4,131,4,0,0 
400 PRINT "FERTIG" 

410 POR H=1 TO 2 

420 FOR F=1 TO 2 

430 FOR Q=1 TO 128 :: CALL S 

QUND(-600,T03(Q),LAU3(Q),T02 

(G),LAU2(Q)):: NEXT Q. 

440 NEXT F 

450 FOR Q=129 TO 384 :: CALL 
SOUND(-600,T03(Q),LAU3(Q),T 
02(Q),LAU2(Q)):: NEXT Q 
460 NEXT H 


15 



LISTING 


GALAXY 


Man benötigt eine TI 
99/4A-Konsole, ein Ex- 
tended Basic Modul und 
ggf. einen Joystick. In 
unveränderter Fassung 
kannst Du „GALAXY“ 
aber auch über die Tasten 
E-S-D-X steuern und das 
Verschlußventil des Tan¬ 
kes über die Taste Q öff¬ 
nen. 

Teil 1: Du bist der Pilot 
eines schweren amerika¬ 
nischen Transportflugzeu¬ 
ges, der „GALAXY“. 
Vor Dir im Cockpit be¬ 
finden sich einige Anzei- 
gegeraäte, die Dir Anga¬ 
ben über Flughöhe, Treib¬ 
stoff, den Ventilverschleiß 
und die erreichte Punkt¬ 
zahl vermitteln, sowie ei¬ 
nige Kontroll- und Alarm¬ 
lampen. Da Dein Treib¬ 
stoff bald zu Ende geht, 
Deine Maschine aber für 
eine Landung auf den 
kleinen Flughäfen in der 
Nähe zu groß ist, wirst 
Du in der Luft aufge¬ 
tankt. Dazu mußt Du das 
Tank-Flugzeug von Dir 
(ziemlich genau) ins Fa¬ 
denkreuz bringen und 
dann das Verschlußventil 
""des Tankes öffnen. Der 
Verschleiß dieses Ventils 
ist aber so hoch, daß Du 
es insgesamt nur lOOmal 
öffnen kannst. Du erhältst 
hierfür jedes Mal 5 Treib¬ 
stoffeinheiten. Geht Dein 
Treibstoff dennoch zu 
Ende, hörst Du einen 
Alarmton und hast dann 
Gelegenheit, innerhalb 
weniger Sekunden mit 
der Taste F ein einziges 
Mal auf Deinen Reserve¬ 
tank umschalten. 
Außerdem achte stets 
auf Deine Flughöhe, die 
nie unter 30 m sinken 
darf! Wenn Du aber in 
irgendeiner Form ver¬ 
sagst, stürzt Dein Flug¬ 
zeug natürlich ab. Sobald 
es also auf den Boden 
zustürzt, heißt es für Dich 


nichts wie raus! Mit der 
Tasenkombination O-U-T 
betätigst Du Deinen 
Schleudersitz. Du hast 
aber wenig Zeit! 

Teil 2: Du hast inzwi¬ 
schen das Cockpit ver- 
Die Datei ,FILE‘ zu ini- 
einem Fallschirm zu Bo¬ 
den. Da Dein Flugzeut 
explodiert ist, muß Du 
nun seinen Trümmern aus- 
weichen. Schaffst Du dies 
nicht, wird die erreichte 
Punktzahl ausgeschrie¬ 
ben. Sie errechnet sich 
aus den Punkten der letz¬ 
ten Runde(n) und dem 
Zustand des Tankventils 
vor dem Absturz (s. Zeile 
1440). Wenn Du dagegen 
sicher gelandet bist, holt 
Dich ein neues Flugzeug 
ab. Nach einer kurzen 
Pause befindest Du Dich 
dann wieder in der 1. 
Stufe des Spieles. Hier 
kannst Du Dein unfrei¬ 
willig abgebrochenes 
Spiel fortsetzen. Das Er¬ 
reichen einer höheren Ge¬ 
schicklichkeitsstufe ist 
damit nicht verbunden. 

Da das Programm im Fal¬ 
le eines Erfolges bei der 
Fallschirmlandung in ei¬ 
nem verzweigten Gewirr 
von Unterprogrammen 
steckt, die vor dem Wei¬ 
terspielen nicht ohne wei¬ 
teres durch SUBENO ver¬ 
lassen werden können, 
habe ich mich in Zeile 
17 3 0 zu einem Programm¬ 
neustart ab Zeile 520 ent¬ 
schlossen. Damit aber die 
schon erreichte Punktzahl 
nicht verloren geht, wird 
sie unmittelbar vor dem 
Neustart (für den Spieler 
unsichtbar) mit DIS¬ 
PLAY AT auf den Bild¬ 
schirm geschrieben und 
nach dem Neubeginn in 
Zeile 520 mit GCHAR 
wieder eingelesen. Viel¬ 
leicht wäre das etwas für 
Ihre Rubrik „Tips und 
Tricks“? 


DERBY 


Wetten Sie gern? Bei die¬ 
sem Spiel können bis zu 
acht Personen im Pferde¬ 
rennen (Graphik!) auf 
Sieg oder Einlauf der drei 
teilnehmenden Pferde 
wetten. Jeder Spieler be¬ 
ginnt mit 1000,— DM Ka¬ 
pital. Danach wird von je¬ 
dem Spieler die Art der 
Wette erfragt und der ein¬ 
gesetzte Betrag. Danach 
können Sie das Rechnen 
am Bildschirm verfolgen. 

Bei der Abfrage „Noch 
eine Runde?“, kann das 
Spiel durch Drücken von 
„N“ verlassen werden. 
Ebenso endet das Pro¬ 
gramm, wenn jeder der 
Spielteilnehmer 0 DM 
setzt, oder wenn alle Spie¬ 
ler ihr Kapital verloren 


haben. ACHTUNG DIS¬ 
KETTENBESITZER! Für 
Sie hält das Spiel durch 
die folgenden Änderun¬ 
gen eine besondere Fein¬ 
heit bereit: Bei einem 
späteren Neustart des 
Programms werden durch 
ein spezielles Datenfile 
alle bisherigen Ergebnisse 
der Pferde und Jockeys 
zur Berechnung der Vor¬ 
wette herangezogen. Wer 
die niedrigste Vorwette 
hat, ist Favorit. Um dies 
zu ermöglichen, müssen 
Sie folgendermaßen Vor¬ 
gehen: 

1. Ändern Sie die Zeilen 
210, 220, 570 und 580, 
wie nachfolgend aufge¬ 
führt, ab: 


210 OPEN #1:"DSK1.REKORD",IN 
TERNAL,RELATIVE,FIXED 90 :: 
INPUT #1,REC 0:QP(1),QP<2),Q 
P(3),QP(4),QP(5),QP(6),QP<7) 

,QP(8),QP(9) • 

220 INPUT #1,REC 1:QJ(1),QJ< 
2) ,QJ(3) ,QJ(4) ,QJ(5) ,QJ(6) ,Q 
J(7),QJ<8>,QJ(9):: CLOSE #1 

570 OPEN #1:"DSK1- REKORD",IN 
TERNAL,RELATIVE,FIXED 90 :: 
PRINT #1,REC 0:QP(1>,QP<2>,Q 
P<3>,QP(4),QP(5),QP(6),QP<7> 
,QP(8),QP(9) 

580 PRINT #1,REC 1:QJ(1),QJ( 
2) ,QJ (3) ,QJ(4) ,QJ(5) ,QJ(6) ,Q 
J (7) ,QJ(8),QJ(9):: CLOSE #1 


2. Führen Sie das folgen¬ 
de, einzeilige Programm 
einmal, bevor Sie das 
Hauptprogramm zum er¬ 
stenmal starten, aus, um 
die Datei ,FILE‘ zu ini¬ 


tialisieren, in dem die 
Rennergebnisse gespei¬ 
chert werden (benötigt 
nur 3 Sektoren). Danach 
benötigen Sie diesen Ein- 
zeiler nicht mehr! 


1000 OPEN # 1 :"DSK 1 .REKORD", I 
NTERNAL,RELATIVE,FIXED 90 :: 

PRINT #1,REC 0:2,2,2,2,2,2, 

2.2.2 :: PRINT #1,REC 1:2,2, 

2.2.2.2.2.2.2 :: CLOSE #1 

Und nun in die Start¬ 
boxen!!!!! 


16 





10 

i 

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

11 

i 

* 

GALAXY 

* 

12 

i 

* 

(gewidmet B.Noehren)* 

13 

i 

* 


* 

14 

i 

* 

Copyright by 

* 

15 

i 

* 


* 

16 

i 

* 

Roland S. Speth 

* 

17 

i 

* 

M. Schlueter jr. 

* 

18 

i 

* 


* 

19 

i 

* 

Benoetigte Geraete 

* 

20 

i 

* 

TI99/4A Konsole 

* 

21 

1 

* 

Ext. Basic 

* 

22 

1 

* 

Joystick 1 

* 

23 

1 

* 


* 

26 

i 

* 

Spei eherbeiegung 

* 

27 

i 

* 

11054 Bytes 

* 

28 

i 

* 


* 

29 

i 

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

100 


TITEL UND SPIELREGELN 


110 CALL CLEAR :: CALL CHAR( 
91 , '*003844040810001000081020 
2020100800103010101010380020 
100808081020"):: CALL CHAR(9 
5, "003844040810207C" ) 

120 DATA 0001020708102326,FF 
0000FF0000FF80,F01824C222168 
ACA,2425262720272525,FF0000F 
F00FF,CA4A4ACA0ACA4A4A 
130 DATA 25263C,4A4C78,F0182 
4C222168A4C,2425272626272623 
,FF00FF00FF0000FF,FE06FA0ACA 
4A4C88 

140 DATA 100807,0000FF,1020C 
,0709123C24242424,8080808080 
808080,2424242424252627 
150 DATA 80808080FF0000FF,20 
203F,0A0CF8,0709123C12090402 
,00804020110A8448,1E2244F810 
204080 

160 DATA 0100000001020408,31 
82448412294482,0080402010088 
442,11223C,01,229478,3183452 
525252525,00000000FE0206FA 
170 FÜR A=33 TO 64 :: READ A 
$ :: CALL CHAR(A,A$):: NEXT 
A 

180 DATA ################### 

#########,# . 

.#,#. 

.#,#. 

. # 

190 DATA "#....! ** " ) ! ""#01 «" 

" #678678-# " , " #_*+, *7.&2 

3@T7.&9: ;=?.#" , "#_-. / * 

(4.5' (< = > '_ 

200 DATA #. 

.#,#. 

.# , ################# 

####### ## # # 

210 FÜR A=1 TO 10 :: READ A* 
:: DISPLAY AT(A,1):A$ :: NE 
XT A 


L 

I 

S 

T 

I 

N 

G 

S 


220 DISPLAY AT(18,1):"BRAUCH 
ST Dü DIE SPIELREGELNC " : : " . 

. \ 1 * JA": : ".\_^ NE 

IN" 

230 CALL KEY(0,A,B):: IF B=0 
OR A<49 OR A>50 THEN 230 EL 
SE IF A=50 THEN 360 
240 CALL CLEAR :: CALL CHARS 
ET 

250 PRINT "SPIELREGE 

L N.================= 

===========":"Du bist Pilot 

eines schwerenamerikanischen 
Transport—" 

260 PRINT "f 1 ugzeuges. " : "Dei 
n Treibsto-f-f ist bald. . . .ver 
braucht; weil Deine Ma-..sch 

ine fuer die kleinen.Flu 

ghae-fen in der Naehe zu" 

270 PRINT "gross ist, wirst 
Du in der..Luft aufgetankt. 
Dazu musst Du das Flugzeug v 
or Dir ins Fadenkreuz bringe 
n und per" 

280 PRINT "Knopfdruck ein Ve 
ntil oeff- nen. Wenn Dein Tr 
eibstoff... zuende geht, hoer 
st Du einenAl armton. Du kann 
st dann" 

290 PRINT "mit der Taste (F) 
ein einzi-ges mal auf Deine 
n Reserve- tank umschalten. 


>>" 


300 CALL KEY(0,A,B):: IF B=0 
THEN 300 

310 CALL CLEAR :: PRINT "Ach 
te ausserdem stets auf...Dei 
ne Flughoehe. Wenn Du -zu tie 
f fliegst, hoerst Du ei— ne 
Warnmeldung. " 

320 PRINT "Solltest Du abstu 
erzen, dannhilft Dir Dein Sc 
hleuder—...sitz, wenn Du rec 
htzeitig...die Tastenkombina 
tion (OUT) gedrueckt hast." 
330 PRINT :"Viel Erfolg!": : 


. >> " 

340 CALL KEY(0,A,B):: IF B=0 
THEN 340 

350 .'VORBEREITUNG ZUM SPIEL 
360 CALL CLEAR :: CALL CHARS 
ET :: CALL SCREEN(2):: RANDO 
MIZE :: GOTO 400 
370 ! UEBERNAHME DER PUNKTE 
380 CALL GCHAR(10,12+A,B):: 

IF B< >32 THEN C=C*10+B-48 :: 

A=A+1 :: GOTO 380 ELSE P=C/ 

100 :: CALL CLEAR 

390 ! AUFBAU DES COCKPITS Sfr 


17 
























400 CALL CHAR(33,"FFFFFFFFFF 
FFFFFF"):: CALL CHAR(40,"000 
0000000000000F000C000C000C00 
"):: CALL CHAR < 96,"000000000 
0000000031F3F7E7EFEFCF0") 

410 CALL CHAR(104,"000000000 
0000000"):: CALL CHAR(112,"0 
000000000000000"):: CALL CHA 
R(120,"0000000000000000") 

420 CALL CHAR(128,"808080808 
08080C000000000000080FF80808 
080808080FF"):: CALL CHAR(13 
6 , "FFFFFFFFFFFFFFFF000000000 
0000000") 

430 CALL VCHAR(9,1,33,16):: 
CALL VCHAR(8,2,33,17):: CALL 
VCHAR(8,31,33,17):: CALL VC 
HAR(9,32,33,16):: CALL VCHAR 
(16,2,41,5) 

440 CALL VCHAR(16,31,40,5):: 
RESTGRE 450 

450 DATA "!!!!!! pppppp! ! !xxx 
xxxx !!!!!!" ,"!!!! ! !pCHECp! ! ! 
xALARMx!!!!!!" 

460 DATA "-.!!!! pppppp! ! !xxx 


x x x x!!!!--" 


i i i i i i i i i t i i 


i i i i i i i i i « 


ii 


470 DATA 

ii H H ii 

...... . ... , 

i i •* 


480 DATA "! ! 

i i •' 

.........- , 


490 DATA "! 


■■ i 
i " 

i i 


■■ i 
i •' 


i i i < i i 


500 DATA "!!!!!!!!!!!!!!!!!! 

i i i i i ; i ! ! i " 

510 DATA "!!..!.-!(((((<(((( 

HOEH(( 

((((<!..!..!) " 

520 DATA "(!!!!!!! (TRST((((( 
((!!!!!!!)","(!--!-■!<VENT(( 
(((((!-.!--!)" 

530 DATA (PNKT((((( 

((!--!--!)","(!!!!!!!((((((( 
(((((!!!!!!!)" 

540 DATA " !.!!!!!!!!!!! 

! ! 'hhhhhh!",”!'TRST' !)(«--!! 
,.!)(!hFEHLh!" 

550 DATA M !.!)(!.-!!--! 

)(!hhhhhh!","!!!!!!!!!!!!!!! 

i i i i i i i i i i i i i •• 


560 FOR A=1 TO 24 :: READ A$ 
:: DISPLAY AT(A,1):A* :: NE 
XT A 

570 CALL VCHAR(5,17,128,8) : : 

CALL HCHAR(8,13,129,8):: CA 
LL HCHAR(8,17,130) 

580 CALL HCHAR(15,5,140,5) : : 

CALL HCHAR(16,5,140,5):: CA 
LL HCHAR(18,5,140,5):: CALL 
HCHAR(19,5,140,5):: CALL VCH 



AR(15,7,33.5) 

590 CALL HCHAR(15,24,140,5): 

: CALL HCHAR(16,24,140,5):: 
CALL HCHAR(18,24,140,5):s CA 
LL HCHAR(19,24,140,5):: CALL 
VCHAR(15,26,33,5) 

600 CALL HCHAR(22,14,140,6): 

: CALL HCHAR(23,14,140,6):: 
CALL VCHAR(22,16,33,2):: CAL 
L VCHAR(22,17,33,2) 

610 CALL COLOR(1,2,6,2,2,15, 
3,2,6,4,2,6,5,2,15,6,2,15,7, 
2,15,8,2,15) 

620 CALL COLOR(9,1,3,10,1,3, 
11,1,3,12,1,3,lö,2,6,14,11,1 
1) 

630 CALL CHAR(108,"010101010 
10101FF010101010101010000000 
000000000FE0") 

640 CALL SPRITE(#2,111,16,57 
, 122) 

650 ! AUSGANGSSPIELWERTE 
660 H=350 :: T=200 :: V=100 
670 ! SPIELABLAUF (COCKPIT) 
680 CALL MAGNIFY(3):: CALL C 
HAR(136,"000001010101030F0F1 

FFF0000000000 00 0 00000000080E 
0E0F0FE000000000 0 ">== CALL S 
PRITE(#1,136,2,64,120) 

690 CALL STEUER(X,H):: CALL 
ANZEIGE(H,T,V,P):: CALL BEWG 
: : CALL VENTIL(P,V,T):: CAL 
L FENSTER :: CALL STEUER(X,H 
):: CALL ALARM(H,T,V,P) 

700 CALL FENSTER :: CALL BEW 
G :: CALL ANZEIGE(H,T,V,P):: 

CALL VENTIL(P,V,T):: GOTO 6 
90 

710 ! WERTEANZEIGE (COCKP.) 
720 SUB ANZEIGE(H,T,V,P):: D 
ISPLAY AT(16,15)SIZE(5):H :: 

DISPLAY AT(17,15)SIZE(5):T 
:: DISPLAY AT(18,15)SIZE(5): 
V 

730 DISPLAY AT(19,15)SIZE(5) 

:INT(P):: T=T-1 :: SUBEND 
740 SUB ALARM(H,T,V,P) 

750 IF H<50 THEN CALL COLOR( 

12.1.10) :: CALL SOUND(-500,1 
10,0)ELSE CALL COLOR(12,1,3) 
760 IF H<=0 THEN CALL SPRUNG 
(V,P) 

770 IF T<5 THEN CALL COLOR(1 

2.1.10.9.1.10) :: CALL SOUND( 
-500,150,0)ELSE CALL COLOR(1 
2,1,3,9,1,3) 

780 IF T<5 THEN 790 ELSE 800 
790 CALL KEY(0,X,Y):: IF X=1 
02 AND LEER=0 THEN T=T+25 :: 

LEER=1 ELSE IF T<=0 THEN CA 
LL SPRUNG(V,P) 

800 SUBEND 

810 SUB BEWG :: CALL MOTION( 


18 






































#1,RND*14-7,RND*14-7):: SUBE 
ND 

820 SUB FENSTER :: CALL POSI 
TION(#l,A,B,#2,C,D):: W=RND* 
10-5 r: IF A<30 THEN CALL MO 
TION( # 1 ,30,W)ELSE IF A>96 TH 
EN CALL MOTION(#1,-30,W) 

830 SUBEND 

840 SUB STEUER(X,H) 

850 A$="esdx" s: B*="4084" : 

: C$="8440" :: CALL KEY(0,C, 
D):: IF C=-l THEN 880 ELSE I 
F POS(A*,CHR*(C),1)=0 THEN 8 
80 

860 X=VAL(SEG$(B*,POS(AS,CHR 
* <C> ,1) ,1)>-4 :: Y=VAL(SEG*( 
C$,POS(A$,CHR$(C),1),1))-4 
870 H=H+20*Y :: CALL MOTION( 
#1,-2*Y,2*X):: SUBEXIT 
880 CALL JOYST(1,X,Y):: H=H+ 
20*Y :: CALL MOTION(#1,-2*Y, 
2*X):: SUBEND 

890 SUB VENTIL(P,V,T):: CALL 
KEY(1,D,E):: IF E=0 OR D<>1 
8 OR V=0 THEN SUBEXIT ELSE C 
ALL MOTION(#l,0,0,#2,0,0):: 
V=V-1 

900 CALL COINC(#l,#2,3,0:: 
CALL POSITION(#2,A,B): : CALL 
SPRITE(#2,111,10,A,B):: IF 
C=-l THEN 920 

910 CALL SOUND(-500,500,0):: 

CALL SPRITE(#2,111,16,A,B): 

: SUBEXIT 

920 CALL SOUND(-1000,-7,0):: 
CALL BEWG :: FOR A=1 TO 100 
:: NEXT A :: P=P+1 :: T=T+5 
:: SUBEND 

930 SUB SPRUNG(V,P) 

940 ! ABSPRUNGLANDSCHAFT 
950 CALL CLEAR s: CALL DELSP 
RITE(ALL):: CALL SCREEN(6)s: 

CALL COLOR(l,2,6)ss CALL CH 
ARSET 

960 CALL C0L0R(2,2,13,5,7,1, 
4,16,1):: CALL CHAR(40,"FF") 
:: CALL HCHAR(24,1,40,32):: 
CALL CHAR(56,"FFFFFFC3C3C3FF 
FF0101010101010101") 

970 CALL CHAR(64,"0103070F1F 
3F7FFFFFFFFFFFFFFFFFFF80C0E0 
F0F8FCFEFFFCFCFCFCFCFCFC"):: 

CALL VCHAR(21,10,57,3):: CA 
LL HCHAR(21,11,67) 

980 CALL HCHAR(22,6,56,3):: 
CALL HCHAR(23,6,56,3):: CALL 
HCHAR(21,6,64):: CALL HCHAR 
(21,7,65):: CALL HCHAR(21,8, 
66 ) 

990 f ABSTURZ 

1000 CALL CHAR(48,"02667E3C3 
E7FEF0707070F1F3F7EF8E003070 
FlE3EFCFCF8F0F0F8FC3A160E00" 


L 

I 

S 

T 

I 

N 

G 

S 


):: CALL MAGNIFY(3):: CALL S 
PRITE(#1,48,16,1,1,20,20) 
1010 A=1 :: 0=ASC(SEG*("out" 
,A,1)) 

1020 CALL POSITION(#1,Y,X):: 
CALL SOUND(-1000,400-Y,0):: 
CALL KEY(0,M,N):: IF Y>170 
THEN 1040 

1030 IF MOO THEN 1020 ELSE 
A=A+1 :: DISPLAY AT(23,1)SIZ 
E(3):SEG$<"OUT",1,A—1):: 0=A 
SC(SEG$("out ",A,1)):: IF 0= 
32 THEN R=1 ELSE 1020 
1040 CALL MAGNIFY(1):: FOR A 
=1 TO 6 :: CALL SPRITE(#A,39 
,2,X,Y,16*RND—8,16*RND-8):: 
CALL SOUND(-500,-6,0):: NEXT 
A 

1050 IF R=1 THEN 1080 
1060 CALL HCHAR(21,11,32):: 
CALL HCHAR(22,11,67):: CALL 
DELSPRITE(ALL):: CALL SPRITE 
(#10,72,15,173,170,0,0) 

1070 CALL MAGNIFY(3):: GOTO 
1210 

1080 DISPLAY AT(23,1)SIZE(3) 
:: CALL CHAR(35,"0000 
0000000000000000000000000000 
0000000000000000060322680616 
6200") 

1090 ! FALLSCHIRMSPRINGER 
1100 CALL MAGNIFY(3):: CALL 
CHAR(72,"030F0F1F1F100804020 
1010305010202C0F0F0FBF808102 
0408080C0A0804040"):: CALL S 
PRITE(#10,72,16,1,190) 

1110 CALL STEUER(X,H):: CALL 
MOTION(#10,1,X):: FOR A=1 T 
06:: CALL COINC(#A,#10,10, 
SE) 

1120 IF RNDC1/3 THEN CALL MO 
TION(#INT(RND*6) +1 ,RND*16—8, 
RND*16-8) 

1130 CALL POSITION(#10,C,D): 

: IF 0168 THEN CALL ERFOLG ( 
P,V):: SUBEXIT 
1140 IF SE=—1 THEN 1180 ELSE 
1150 

1150 NEXT A 

1160 GOTO 1110 

1170 ! MISSERFOLG 

1180 CALL SOUND(1000,-7,0):: 

CALL MOTION(#10,20,0) 

1190 CALL POSITION(#10,X,Y): 

: IF X>170 THEN 1200 ELSE 11 
90 

1200 CALL COLOR(#10,15) 

1210 CALL MOTION(#10,0,0):: 
CALL CHAR(72,"00000000000000 
00003F7FFFFFFF00000004041F04 
04040404FCFEFFFFFF0000"):: C 
ALL HCHAR(21,11,32) 

1220 CALL HCHAR(22,11,67) 


Sfr 


19 




1230 CALL DELSPRITE(#1,#2,#3 
,#4,#5,#6):: CALL CHAR(97,"0 
0000038447C4444"):: CALL CHA 
R(104,"00000044447C4444") 
1240 CALL CHAR(108,"00000040 
4040407C000000446C5444440000 
004464544C440000007C4444447C 
")s: CALL CHAR(112,"00000078 
44784040") 

1250 CALL CHAR(120,"00000044 
28102844") 

1260 CALL CHAR(81,"003844444 
4444438001030101010103800384 
4040810207C0038440418044438" 
) 

1270 CALL CHAR(85,"000818284 
87C0808007C40780404443800182 
04078444438007C040810202020" 
) 

1280 CALL CHAR(89,"003844443 
8444438003844443C040830") 
1290 DISPLAY AT(4,4):"leider 
bist du jetzt tot!-.- du has 


t waehrend deiner.letzte 

n flugeinsaetze.-fuer d 

ie usa insgesamt" 


1300 A*=STR*(P*100+INT(P*V/5 
)):: FÜR A=1 Tü LEN(AT>:: CA 
LL HCHAR(9,A+2,81+VAL(SEG$(A 
S,A,1))):: NEXT A 
1310 DISPLAY AT(9,10):"punkt 
e erreicht!" 

1320 DATA 750,175,750,175,12 

5.175.1000.175.10.40000 
1330 DATA 750,175,750,175,12 

5.175.1000.175.750.208.125.1 

96.750.196.125.175.750.175.1 

25.175.1000.175.10.40000 
1340 DATA 750,208,750,208,12 

5.208.1000.208.750.262.125.2 
33,750,233,125,208,750,208,1 
25,208,1000,208 

1330 FÜR D=1 TO 3 s: FÜR N=1 
TO 5 ss ON N GOTO 1360,1370 
,1360,1370,1380 
1360 RESTORE 1320 ss FÜR A=1 
TO 5 ss READ B,C ss CALL SO 
UND(—B,C,0)s s CALL SOUND(1,4 
0000,0)ss NEXT A ss GOTO 139 
0 

1370 RESTORE 1330 ss FOR A=1 
TO 11 ss READ B,C ss CALL S 
QUND(—B,C,0)s s CALL SOUND(1, 
40000,0)ss NEXT A ss GOTO 13 
90 

1380 RESTORE 1340 :s FOR A=1 
TO 11 :: READ B,C s: CALL S 
OUND(—B,C,0)s s CALL SOUND(1, 
40000,0):: NEXT A :: GOTO 13 
90 

1390 NEXT N :: NEXT D 

1400 CALL CLEAR :: STOP :: S 

ÜBEND 


L 

I 

S 

T 

I 

N 

G 

S 


1410 ! ERFOLG 

1420 SUB ERFOLG(P,V) 

1430 CALL MOTION(#10,0,0) 
1440 RESTORE 1460 
1450 CALL DELSPRITE(#1,#2,#3 
,#4,#5,#6) 

1460 DATA 400,262,200,220,60 
0,175,600,220,600,262,800,34 
9,200,40000,400,440,200,392, 
600,349 

1470 DATA 600,220,600,247,80 
0,262,400,40000,400,262,200, 
262,800,440,300,392,500,349, 

800,330,200,40000 
1480 DATA 400,294,200,330,60 
0,349,600,349,600,262,600,22 
0 , 600 ,175, 400 , 40000 
1490 FOR A=1 TO 29 :: READ B 
,C :: CALL SOUND(B,C,0):: NE 
XT A 

1500 ! VORBER.Z.WEITERSPIEL 
1510 CALL CHAR(48,"030303011 
F2EFEFF7F0A0400000000000080C 
0E0FF03FD7EBF0F070100000000" 
):: CALL CHAR(52,"02040C18FC 
FCF8F04080C0E") 

1520 CALL CHAR(54,"0",55,"0" 
):: CALL MAGNIFY(3):: CALL S 
PRITE(#1,48,2,175,230,#2,52, 
2,175,244):: CALL MOTION(#l, 
0,-5,#2,0,-5) 

1530 CALL POSITION(#1,A,B):: 

CALL COINC(#l,#10,10,0:: I 
F C=0 THEN 1530 
1540 CALL DELSPRITE(#10) 

1550 CALL POSITION(#1,A,B):: 

CALL C0INC(#1,175,230,10,0 
:: IF C=0 THEN 1550 
1560 CALL M0TI0N(#1,-3,-10,# 
2,-4,-11,#2,-3,-10) 

1570 CALL POSITION(#1,A,B)s: 

IF A>120 THEN 1570 
1580 CALL DELSPRITE(#1,#2 > s: 

CALL CLEAR :: CALL SCREEN(2 
):: FOR A=1 TO 14 s s CALL CO 
LOR(A,2,2):: NEXT A :: CALL 
CHARSET 

1590 A$=STR$(P*100+1NT(P*V/5 
)):: DISPLAY AT(10,10):A$ :: 

RUN 380 
1600 SUBEND 


Die 

nächste 
TI-REVUE 

am 25.7. 


70 







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


11 

1 

* 


* 

12 

i 

* 

DEUTSCHES DERBY 

* 

13 

i 

* 


* 

14 

i 

* 

Copyright by 

* 

15 

i 

* 


* 

16 

i 

* 

Roger Hueser 

* 

17 

i 

* 


* 

19 

; 

* 

Benoetigte Geraete 

* 

20 

i 

* 

TI99/4A Konsole 

* 

21 

i 

* 

Ext. Basic 

* 

22 

i 

* 


* 

26 

i 

* 

Speicherbelegung 

* 

27 

1 

* 

6145 Bytes 

* 

28 

i 

* 


* 


29 ! ********************** 
100 CALL CLEAR :: CALL CHAR( 
60,"00040EFF785C820000040EFF 
7844880000040EFF7C4444000004 
0EFF7C4428") 

110 CALL SCREEN(4) : : OPTION 
BASE 1 :: RANDOMIZE :: ON WA 
RNING NEXT 

120 FOR X=4 TO 28 :: FOR Y=7 
TO 17 :: CALL HCHAR(Y,X,60+ 
INT <RND*4)):: NEXT Y :: NEXT 
X 

130 FOR X=7 TO 25 :: CALL VC 
HAR(10,X,32, 5) : : NEXT X 
140 DISPLAY AT(11,6)SIZE<—17 
)BEEP:"D E U T S C H E S" :: 

DISPLAY AT(13,10)SIZE <—9):" 
DERB Y" 

150 FOR P=1 TO 1000 :: NEXT 
P 

160 DIM PF$(9> , JO$ (9) ,0P(9> , 
QJ(9),CR(9),SPS(9),PF(3),JO( 
3),WERT(9),LAUF(9),PA<9),J(3 
),VP(3),PP(3) 

170 DATA JOLANTE,DOTTERBLUME 
,ROSINANTE,PEGASUS,SPRINGINS 
FELD,STOLPERKNABE,SPRINGTEUF 
EL,KLEPPER,MAEHRE 
180 DATA SCHIMMELREITER,ROSS 
TAEUSCHER,ROBIN HOOD,IWEIN,L 
OHENGRIN,SIEGFRIED,JAEGER VO 
N SOEST,WALLENSTEIN,DON QUIC 
HOTE 

190 FOR X=1 TO 2 :: FOR Y=1 
TO 9 :: READ PT :: IF X=1 TH 
EN PFT(Y)=PT ELSE IF X=2 THE 
N JOT(Y)=PT 
200 NEXT Y :: NEXT X 
210 FOR P=1 TO 9 :: QP(P),QJ 
(P)=2 :s NEXT P 
220 ! 

230 CALL CLEAR :: CALL CHARS 
ET :: DISPLAY AT(12,1)ERASE 
ALL BEEP:"WIEVIELE WETTLUSTI 
GE”: :"MITSPIELER ?" :: ACCE 

PT AT (14,14) VALIDATEC 123456 
78")SIZE(1):SP 
240 FOR X=1 TO SP :: CR(X)=1 


L 

I 

S 

T 

I 

N 

G 

S 


000 :: DISPLAY AT(12,1)ERASE 
ALL BEEP:"NAME DES ";STRT(X 
MITSPIELERS ?" :: ACCEP 
T AT(14,1)VALIDATE(UALPHA)SI 
ZE(15):SPT(X):: IFSPT(X)="R 
" THEN 980 
250 NEXT X 

260 CALL CLEAR :: PF(3),JO(3 
),Z,Q1,Q2,TR,Y=0 :: FOR X=1 
TO 3 

270 PF(X)=INT(RND*9+1):: IF 
X>1 THEN IF PF(1)=PF(2)OR PF 
(1)=PF(3)OR PF(2)=PF(3)THEN 
270 


280 JO(X)=INT(RND*9+1):: IF 
X>1 THEN IF JO(1)=J0(2)OR JO 
(1)=J0(3)OR JO(2)=J0(3)THEN 
280 

290 RA(X)=INT(1000*(QP(PF(X) 

)+QJ(JO(X))))/2000 :: DISPLA 
Y AT(1+5*(X-1) ,1): "NUMMER: 

X:"REITER...";JOT(JO(X)):"PF 

ERD-";PFT(PF(X)):"VORWETT 

E";RA(X):: NEXT X 

300 CALL HCHAR(17,1,45,32):: 

FOR X=1 TO SP :: CALL HCHAR 
(19,1,32,192):: DISPLAY AT(1 

9.1) :SPT(X):"GUTHABEN : ";CR 

(X):: WERT(X),LAUF(X)=0 :: I 
F CR (XX10 THEN 370 

310 DISPLAY AT(22,1)BEEP:"WE 
TTART :"AUF SIEG - DRUECKE 
TASTE ""1""":"DREIERWETTE.. 

• I II II II II II ^ H II II 

320 CALL KEY(0,K,ST):: IF ST 
=0 THEN 320 ELSE IF K<49 OR 
K>51 THEN 320 ELSE IF K=50 T 
HEN WERT(X)=0 :: GOTO 370 EL 
SE CALL HCHAR(22,1,32,96) : : 

DISPLAY AT(22,1):"WETTBETRAG 

330 IF K=49 THEN DISPLAY AT( 

23.1) s"STARTNR. ..:" :: ACCE 
PT AT(22,14)VALIDATE(DIGIT)S 
IZE(5):WERT(X)ELSE 350 

340 IF WERT (XX 10 THEN WERT ( 
X)=0 :: GOTO 370 ELSE IF WER 
T(X)>CR(X)THEN 330 ELSE ACCE 
PT AT(23,14)VALIDATE("123")S 
IZE(1):LAUF(X):: Y=1 :: GOTO 
370 

350 DISPLAY AT(23,1):"EINLAU 
F. ... z " :: ACCEPT AT(22,14)V 
ALIDATE(DIGIT)SIZE(5):WERT(X 
):: IF WERT (XX 10 THEN WERT ( 
X)=0 :: GOTO 370 ELSE IF WER 
T(X)>CR(X)THEN 350 
360 ACCEPT AT(23,14)VALIDATE 
("123")SIZE(3):LAUF(X):: Y=1 
:: Y=LAUF(X):: IF N0T(Y=123 
OR Y= 132 OR Y=213 OR Y=231 
OR Y=312 OR Y=321)THEN 360 
370 NEXT X :: IF Y=0 THEN 98 


m 


21 





0 ELSE 650 

380 CALL DELSPRITE(ALL):: CA 
LL CLEAR :: CALL CHARSET 
390 IF PA(1)>PA( 4 )AND PA(1)> 
PA(7)THEN ERST=1 :: IF PA(5) 
>PA(8)THEN ZWEIT=2 :: DRITT= 
3 ELSE ZWEIT=3 :: DRITT=2 
400 IF PA(4)>PA(1)AND PA(4)> 
PA (7) THEN ERST=2 :: IF PA(2) 
>PA (8) THEN ZWEIT=1 :: DRITT= 
3 ELSE ZWEIT=3 :: DRITT=1 
410 IF PA(7)>PA(1)AND PA<7)> 
PA(4)THEN ERST=3 :: IF PA(2) 
>PA(5)THEN ZWEIT=1 := DRITT= 
2 ELSE ZWEIT=2 :: DRITT=1 
420 IF PA(1)=PA( 4 )AND PA( 1 )> 
PA(7)THEN DRITT=3 :: IF PA(2 
)>PA(5)THEN ERST=1 :: ZWEIT= 

2 ELSE ERST=2 :: ZWEIT=1 
430 IF PA(1)=PA <7> AND PA(1)> 
PA (4) THEN DRITT=2 :: IF PA(2 
)>PA(8)THEN ERST=1 :: ZWEIT= 

3 ELSE ERST=3 :: ZWEIT=1 

440 IF PA <4)=PA(7)AND PA(4)> 
PA(1)THEN DRITT=1 :: IF PA(5 
)>PA(8)THEN ERST=2 :: ZWEIT= 
3 ELSE ERST=3 :: ZWEIT=2 
450 EIN=ERST*100+ZWEIT*10+DR 
ITT :: DISPLAY AT(1,1):"SIEG 
ER.ERST:"EINLAUF ;EIN 
460 Q1 = INT <10*(((SGN(RA(ZWEI 
T)-RA(ERST))+SGN(RA(DRITT)—R 
A(ERST)))/2+1.5+RND)*(RA(ERS 
T)/2+RND)+(2*RA(ERST)-RA(ZWE 
IT )-RA(DRITT))*RND)) 

470 IF RA(ERST)<RA(ZWEIT)THE 
N Q2=Q2+.7 ELSE Q2=Q2+l-5 
480 IF RA(ERST)<RA(DRITT)THE 
N Q2=Q2+. 7 ELSE Q2=Q2+3 
490 IF RA(ZWEIT)<RA(DRITT)TH 
EN Q2=Q2+.7 ELSE Q2=Q2+l-5 
500 Q2=INT(10*Q2*(RA(ERST)*3 
+RA(ZWEIT)*2+RA(DRITT))) 

510 IMAGE SIEG...#####,-DM F 
UER 10,-DM 

520 IMAGE DREIER #####,-DM F 
UER 10,-DM 

530 DISPLAY AT(4,1):"ES WIRD 
GEZAHLT :: DISPLAY AT(5, 
1) s USING 510:0.1 :: DISPLAY A 
T(6,1):USING 520:02 
540 QP (PF(ERST))=(OP(PF(ERST 
) ) + .07)/1- 11 :: OP(PF(ZWEIT) 
)= (QP (PF(ZWEIT) )+.2)/l. 1 :: 
OP(PF(DRITT))= (QP (PF(DRITT)) 
+ .33)/1- 09 

550 QJ(JO(ERST))=(QJ(JO(ERST 
))+.07)/1.11 :: QJ(JO(ZWEIT) 
)=(QJ(JO(ZWEIT))+.2)/l.1 :: 
QJ(JQ(DRITT))=(QJ(JO(DRITT)) 
+.33)/1.09 

560 CALL HCHAR(8,1,45,32) 

570 ! 


L 

I 

S 

T 

I 

N 

G 

S 


580 ■ 

590 Y=0 :: FÜR X=1 TO SP :: 

IF LAUF(X)>3 THEN IF LAUF(X) 
=EIN THEN CR(X)=CR(X)+WERT(X 
>*Q2/10 ELSE CR(X)=CR(X)—WER 
T(X> ELSE IF LAUF(X)=ERST THE 
N CR(X)=CR(X)+WERT(X)*81/10 
ELSE CR(X)=INT(CR(X)—WERT(X) 

) 

600 DISPLAY AT(9+X,1):SP*(X) 

,CR(X) ; "DM" :: IF CR(X)>=10 
THEN Y=1 

610 NEXT X :: IF Y=1 THEN 63 
0 

620 FOR X=1 TO 2000 :: NEXT 
X :: GOTO 980 

630 DISPLAY AT(23,1)BEEP:"NO 
CH EINE RUNDE ?":"DRUECKE TA 
STE !" :: FOR A=1 TO 5000 :: 
CALL KEY(0,K,STA):: IF K=78 
OR K=110 THEN 980 ELSE IF S 
TAO0 THEN 260 
640 NEXT A :: GOTO 980 
650 CALL CLEAR :: CALL CHAR( 
32,"8844221188442211"): : CAL 
L C0L0R(1,15,11,13,2,1,14,2, 
11):: CALL CHAR(1361010FF1 
01010FF1"):: CALL HCHAR(1,1, 
128,32) 

660 W=0 :: CALL CHAR(128,"10 
10FF101010FF100C122120404080 
8"):: CALL VCHARL3,15, 129,20 
):: CALL HCHAR(24,1,136,32) 
670 CALL CHAR(60,"00040EFF78 
5C820000040EFF7844880000040E 
FF7C44440000040EFF7C4428") 

680 CALL CHAR(137,"00007F000 

000000000000000007F00000000F 

008080402010102040808F"):: C 
ALL CHAR(141,"0000000000FF00 
000000FF"):: FOR A=1 TO 3 
690 CALL HCHAR(6+3*A,4,137): 

: CALL HCHAR(6+3*A,5,139):: 
CALL HCHAR(7+3*A,4,138) : : CA 
LL HCHAR(7+3*A,5,140):: NEXT 
A 

700 FOR A=1 TO 3 
710 J(A)=1 

720 VP(A)=2.7+SGN(RND—0.5)/1 
0+RND/RA(A) 

730 CALL SPRITE(#A,62,2,44+2 
4*A,28) 

740 NEXT A :: FOR A=1 TO 500 
:: NEXT A 

750 CALL SOUND(10,400,0,1000 
,2,1200,2,-3,3):: FOR A=1 TO 
3 :: CALL HCHAR(6+3*A,4,142 
,2):: CALL HCHAR(7+3*A,4,141 
,2):: NEXT A 
760 FOR A=1 TO 3 
770 CALL PATTERN(#A,60):: CA 
LL MOTION(#A,0,2*VP(A)/(1.5+ 
.3*RA(A))) 




780 NEXT A 

790 FOR A=1 TO 300 :: NEXT A 
:: CALL VCHAR(9,4,32,8) : : C 
ALL VCHAR(9,5,32,8) 

800 FOR A=1 TO 3 
810 CALL POSITION(#A,X,PP(A) 
) 

820 IF PP(A)>92 AND PP(A)<12 
5 THEN GOTO 860 
830 CALL PATTERN(#A,63):: CA 
LL SOUND(1,140,0,148,4,180,3 
>:: IF XX 44+24*A) THEN HV=-1 
ELSE HV=1 

840 VP(A)=VP(A)+(RND-0.5)*RN 
D+ (VF* (A) >4) — (VP (A) <2) +RND/ (R 
A(A)+3) 

850 GOTO 880 

860 J(A)=0 :: IF PP(A)>112 T 
HEN CALL SPRITE(#A,60,2,X,PP 
(A),3,3)ELSE CALL SPRITE(#A, 
61,2,X,PP(A),-3,3) 

870 GOTO 950 

880 CALL MOTION(#A,HV,VP(A)) 

890 IF J(A)=1 THEN 940 

900 CALL POSITION(#A,X,PP(A) 

) 

910 IF PP(A)>220 THEN TR=TR+ 
1 :: J(A)=1 :: IF TR>5 THEN 
380 ELSE IF TR>3 THEN 970 
920 IF TR<3 OR Z>2 THEN 940 
ELSE Z=Z+1 :: IF Z<3 THEN 94 
0 

930 CALL CHAR(120,"101010101 
01010101010FF101010FF10"):: 
CALL COLOR(12,5,16):: CALL V 
CHAR(2,30,120,22):: CALL HCH 
AR(24,30,121) 

940 CALL PATTERN(#A,60):: CA 
LL SDUND(1,110,0,118,4,150,3 

) 

950 NEXT A 
960 GOTO 800 

970 W=W+1 r: CALL POSITION(# 

1 , X,PA(W),#2,X1,PA(3+W),#3,X 

2, PA(6 +W))s: GOTO 920 
980 CALL CLEAR s: END 


L 

I 

S 

T 

I 

N 

G 

S 


Nutzen 



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

11 REM* TRAPPER * 

12 REM* * 

13 REM* Copyright by * 

14 REM* * 

15 REM* Karl—Heinz Meyer * 

16 REM* * 

17 REM*Benoetigte Geraete* 

18 REM* TI99/4A Konsole * 

19 REM* Cassettenrec. * 

20 REM* (oder DISK+32K- * 

21 REM* Erw.+Ext.Basic) * 

22 REM* * 

23 REM* Speicherbelegung * 

24 REM* 13179 Bytes * 

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

26 REM 

100 CALL CLEAR 

110 PRINT ".T R A P P 

ER":::::::: 

120 PRINT " 1985. .BY..KARL-H 
EINZ MEYER": :::::::: 
130 INPUT "SCHRIFTFARBE :":S 
140 PRINT : : 

150 INPUT "BILDSCHIRMFARBE : 
": B 

160 CALL CLEAR 
170 CALL SCREEN(B) 

180 FOR 1=1 TO 9 
190 CALL COLOR(I,S,1) 

200 NEXT I 

210 GOTO 270 

220 CALL CLEAR 

230 PRINT "NEUE FARBEN FUER 

SCHRIFT-UND BILDSCHIRM <J 

/N> ?" 

240 CALL KEY(0,K,S) 

250 IF K=74 THEN 100 

260 IF K=78 THEN 270 ELSE 24 

0 

270 ANGB=0 
280 NFAB=0 
290 LFAB=0 
300 HFAB=0 
310 FFAB=0 
320 SPAREN=0 
330 NF=5 
340 LF=50 
350 FF=100 
360 HF=200 
370 H=7 
380 VB=0 
390 D=7 
400 FP=5 
410 F=5 
420 G=500 
430 T=0 
440 GOTO 2190 
450 RANDOMIZE 
460 CALL CLEAR 

470 KF=INT(( (1003-392+ 1)*RND 
)+392) 

480 FG=NF+LF+FF+HF+(FP/2) 


23 










490 IF FG=(FP/2)THEN 560 
500 IF FG/(F+1)=FG THEN 520 
510 IF FG/(F+l)>895 THEN 520 
ELBE 560 

520 PRINT "DU HAST NICHT GEN 

.. 

.PACKPFERDE ! " : : 


530 VB=1 

540 FÜR 1=1 TO 250 
550 NEXT I 

560 PRINT "<0> ENDE": : 

570 PRINT "<1> PACKPFERDE": 


L 

I 

S 

T 

I 

N 

G 

S 


580 PRINT 


"<2> VERPFLEGUNG": 


■ 

590 PRINT "<3> 
EN": : 

600 PRINT "<4> 
610 PRINT "<5> 


HAENDLER SUCH 

AUSRUHEN": : 

ESSEN UND TRI 


NKEN": : 

620 PRINT "<6> DEINE MOMENTA 
NE LAGE": : 

630 PRINT "<7> DEPOT": : 

640 CALL HCHAR<24,1,45,32) 

650 PRINT : :"NUR WENN EIN H 

AENDLER DA IST": : 

660 PRINT 

670 PRINT "<8> FELLE KAUFEN/ 
VERKAUFEN": : 

680 CALL SOUND(2000,123,30) 

690 INPUT " ":A 

700 IF <A<0)+<A>8)THEN 3400 

710 IF VB=1 THEN 730 

720 IF <T=0>*(A=8)THEN 3440 

ELSE 750 

730 IF <A=1)+(A=8)THEN 740 E 
LSE 690 

740 IF A=8 THEN 1360 

750 CALL CLEAR 

760 ON A+l GOTO 2730,3460,51 

00,770,860,950,1030,3810,117 

0 

770 IF INT(<(RND*10)+1))>6 T 
HEN 810 
780 T=1 

790 PRINT "GLUECK GEHABT TRA 

PPER. 

.JEMAND WILL MIT D 

IR HANDELN.": ::::::: 
800 GOTO 830 
810 T=0 

820 PRINT "PECH GEHABT ALTER 


.KEIN HAENDLER WEI 

T UND BREIT": ::::::= 
830 PRINT : :"BITTE TASTE DR 
UECKEN" 

840 CALL KEY(0,K,S) 

850 IF S=0 THEN 840 ELSE 440 
860 A=INT<(RND*7)+1) 

870 IF AOl THEN 880 ELSE 89 
0 


880 D=D+7 

890 PRINT "SCHLAF RUHIG TRAP 

PER,. 

...DU HAST ES VERDIE 

NT.": ::::=== 

900 FOR 1=1 TO 500 
910 NEXT I 

920 IF A=1 THEN 930 ELSE 440 
930 PRINT : : :"SCHLECHTE KA 

RTEN, DIE WANZEN. 

.LASSEN DICH 

NICHT SCHLAFEN.": : : : : 

940 GOTO 830 
950 FP=FP—1 

960 IF FPO0 THEN 970 ELSE 9 
80 

970 PRINT "JETZT HAST DU NOC 

l_l ii. pp. ...... ...... 

..I.ESSENSRATIONEN UEBRIG 


980 H=H+7 

990 IF FP=0 THEN 1000 ELSE 8 
30 

1000 PRINT "ES SIEHT NICHT G 

UT AUS FUER. 

.DICH- DU HAST KE 

INE ESSENS- ": : 

1010 PRINT "RATIONEN MEHR.": 

• ••••• 

1020 GOTO 830 

1030 PRINT "DU HAST";NF;"NER 
ZFELLE.": : 

1040 PRINT "DU HAST";LF; "LUC 
HSFELLE.": : 

1050 PRINT "DU HAST";FF;"FUC 
HSFELLE.": : 

1060 PRINT "DU HAST";HF;"HAS 
ENFELLE.": : 

1070 PRINT "OHNE WAS ZU ESSE 
N KANNST DU NOCH";H;"KOMMAND 
OS GEBEN." 

1080 PRINT 

1090 PRINT "DU HAST";F;"PACK 
PFERDE." 

1100 PRINT 

1110 PRINT "OHNE ZU SCHLAFEN 
KANNST DU..NOCH";D;"KOMMAND 
OS GEBEN. " 

1120 PRINT : :"DU HAST NOCH" 

;G;"DOLLAR-": : = 

1130 PRINT "WEITER: TASTE DR 
UECKEN." 

1140 CALL KEY(0,K,S) 

1150 IF SO0 THEN 1160 ELSE 
1140 

1160 GOTO 440 

1170 IF ANGB=1 THEN 1220 

1180 PNF=INT((189-73+1)*RND) 

+73 

1190 PLF=INT((107—55+1)*RND) 
+55 

1200 PFF=INT((43-27+1)*RND)+ 
27 


94 



















1210 PHF=INT((13-1+1)*RND)+1 
1220 PRINT "DER HAENDLER BIE 
TET DIR :" 

1230 CALL HCHAR(24,1,45,32) 
1240 PRINT : : : 

1250 PRINT "NERZFELLE. 

:..";PNF;;CHR*(36): : 

1260 PRINT "LUCHSFELLE. 

: - . " ;PLF;;CHRT(36): : 

1270 PRINT "FUCHSFELLE. 

:.-";PFF;;CHR*(36): : 

1280 PRINT "HASENFELLE. 

: . PHF;;CHRT(36) : : : : : 

■ 

1290 PRINT "<A> WEITER. 

<B> ZURUECK" 

1300 ANGB=1 

1310 CALL KEY(0, K, S) 

1320 IF S=0 THEN 1310 
1330 Q=K—64 

1340 IF (Q<1)+(Q>2)THEN 1310 
1350 ÜN Q GOTO 1360,460 
1360 PRINT : : : : : : :"DU 

HAST";NF;"NERZFELLE": : 

1370 PRINT "DU HAST";LF;"LUC 
HSFELLE": : 

1380 PRINT "DU HAST";FF;"FUC 
HSFELLE": : 

1390 PRINT "DU HAST";HF;"HAS 
ENFELLE": : 

1400 PRINT "JETZT HAST DU";G 
;"DOLLAR": : : 

1410 PRINT "WIEVIEL FELLE WI 

LLST DU.VERKAUFEN ?" 

1420 PRINT : :"NERZFELLE_ 

.a";PNF;;CHR*(36) 

1430 IF NF<=0 THEN 1510 
1440 INPUT "":X 
1450 X=INT(X) 

1460 IF (X >NF) + (X< 0)THEN 144 
0 

1470 G=G+X*PNF 

1480 PRINT "." ; G; "DOLLA 

R" 

1490 NF=NF—X 

1500 PRINT "."; NF; "FELL 

E" 

1510 PRINT "LUCHSFELLE. 

.a" ; PLF; ;CHR*(36) 

1520 IF LF<=0 THEN 1600 
1530 INPUT "":X 
1540 X=INT(X) 

1550 IF (X>LF)+(X<0)THEN 153 
0 

1560 G=G+X*PLF 

1570 PRINT ". ";G; "DOLLA 

R" 

1580 LF=LF—X 

1590 PR INT "." ; LF; " FELL 

E" 

1600 PRINT "FUCHSFELLE. 

.a“;PFF;;CHRS(36) 

1610 IF FF<=0 THEN 1690 


L 

I 

S 

T 

I 

N 

G 

S 


1620 INPUT "":X 
1630 X=INT(X) 

1640 IF (X>FF) + (X<0)THEN 162 
0 

1650 G=G+X*PFF 

1660 PRINT ". ";G; "DOLLA 

R" 

1670 FF=FF—X 

1680 PRINT "."; FF; "FELL 

E" 

1690 PRINT "HASENFELLE. 

.a";PHF;; CHR*(36) 

1700 IF HF<=0 THEN 1790 
1710 INPUT "":X 
1720 X=INT(X) 

1730 IF (X >HF) + (X<0)THEN 171 
0 

1740 G=G+X*PHF 

1750 PRINT ". ";G; "DOLLA 

R" 

1760 HF=HF—X 

1770 PRINT "." ; HF; "FELL 

E" 

1780 IF VB=1 THEN 2160 
1790 PRINT : : : :"FELLE KAU 

FEN ?" 

1800 PRINT : :"NERZFELLE_ 

.a";PNF;;CHR*(36) 

1810 IF G<PNF THEN 1890 
1820 INPUT "":X 
1830 X=INT(X) 

1840 IF (X*PNF>G)+(X<0)THEN 
1820 

1850 G=G-X*PNF 

1860 PRINT "." ; G; "DOLLA 

R" 

1870 NF=NF+X 

1880 PRINT "."; NF; "FELL 

E" 

1890 PRINT "LUCHSFELLE. 

.a";PLF;;CHR$(36) 

1900 IF G<PLF THEN 1980 
1910 INPUT "":X 
1920 X=INT(X) 

1930 IF (X*PLF>G)+(X<0)THEN 
1910 

1940 G=G-X*PLF 

1950 PRINT ". ";G; "DOLLA 

R" 

1960 LF=LF+X 

1970 PRINT "." ; LF; "FELL 

E" 

1980 PRINT "FUCHSFELLE. 

.a";PFF;;CHR*(36) 

1990 IF G<PFF THEN 2070 
2000 INPUT "":X 
2010 X=INT(X) 

2020 IF (X*PFF>G)+(X<0)THEN 
2000 

2030 G=G—X*PFF 

2040 PRINT ". ";G; "DOLLA 

R" 

2050 FF=FF+X 


1 » 


25 



































2060 PRINT ". M 5 FF; "FELL 

E" 

2070 PRINT "HASENFELLE. 

.a";PHF;;CHR$(36) 

2080 IF G<PHF THEN 2170 
2090 INPUT " " : X 
2100 X=INT(X) 

2110 IF (X*PHF>G)+(X<0)THEN 
2090 

2120 G=G-X*PHF 

2130 PRINT "." ; G; "DOLLA 

R" 

2140 HF=HF+X 

2150 PRINT "." ; HF; "FELL 

E": : : : 

2160 T=0 
2170 ANGB=0 
2180 GOTO 830 
2190 CALL CLEAR 
2200 VB=0 
2210 D=D—1 
2220 H=H—1 

2230 IF H<0 THEN 2620 
2240 IF D<0 THEN 2550 
2250 IF INT(RND*125)>5 THEN 
2410 

2260 IF FF+LF+HF+NF=0 THEN 2 
410 

2270 NF=NF-INT(RND*(NF/2)) 
2280 LF=LF-INT(RND*(LF/2)) 
2290 FF=FF-INT(RND*(FF/2)) 
2300 HF=HF-INT(RND*(HF/2)) 
2310 FV=INT(3*RND) 

2320 IF F<FV THEN 2330 ELSE 
2340 

2330 FV=F 
2340 F=F-FV 

2350 PRINT "GEMEINE VERBRECH 

ER HABEN. 

.DIR FELLE UND";F 

V 

2360 PRINT :"PACKPFERDE GEST 
OHLEN.": :::::: 

2370 FOR 1=1 TO 800 
2380 NEXT I 
2390 CALL CLEAR 
2400 FV=0 

2410 IF INT(RND*125)>5 THEN 
460 

2420 IF G=0 THEN 460 
2430 G=G—INT(RND* < G/2)) 

2440 IF F=0 THEN 2480 
2450 F=F—1 

2460 PRINT "ELENDE DIEBE HAB 

EN DIR GELD. 

.UND 1 PACKPFERD 

GERAUBT.": ::::::::: 

■ 

2470 GOTO 2510 

2480 PRINT "ALSO WIRKLICH, W 

ENN DU JETZT. 

.NICHT BALD AUF D 

EINE SACHEN" 


2490 PRINT :"AUFPASST HAST D 

U BALD GAR. 

.NICHTS MEHR-": 

■ • 

2500 PRINT "DIR IST MAL WIED 

ER GELD. 

.GESTOHLEN WORDEN 


2510 FOR 1=1 TO 800 
2520 NEXT I 
2530 CALL CLEAR 
2540 GOTO 460 

2550 PRINT TAB(4);"DU BIST A 

N UEBERMUEDUNG";TAB(1);"- 

. ";TAB(7);"! 

!! KREPIERT !!!": : : : : : 

■ • ■ 

2560 RESTORE 5090 
2570 FOR 1=1 TO 11 
2580 READ Z,T 

2590 CALL SOUND(Z,T,0,T—1,9, 
T+l,9) 

2600 NEXT I 

2610 GOTO 2680 

2620 PRINT TAB(6);"SCHIKSAL, 

DU BIST";TAB(1);". 

.";TAB(5);"! ! 

! VERHUNGERT ! ! ! ": : : *- : 

2630 RESTORE 5090 
2640 FOR 1=1 TO 11 
2650 READ Z,T 

2660 CALL SOUND(Z,T,0,T—1,9, 
T+l,9) 

2670 NEXT I 

2680 PRINT "DU HAST";F;"PACK 
PFERDE UEBRIG." 

2690 IF D<0 THEN 2700 ELSE 2 
710 

2700 D=0 

2710 IF H<0 THEN 2720 ELSE 2 
730 

2720 H=0 

2730 PRINT "OHNE SCHLAF HAET 

TEST DU.NOCH " ; D; " TAGE DU 

RCHGEHALTEN";TAB(1);"OHNE NA 
HRUNG NOCH";H;"TAGE." : : : 

2740 PRINT "DU HINTERLAESST: 

II a m 

2750 G=G+(NF+NFAB)*PNF 
2760 G=G+(LF+LFAB)*PLF 
2770 G=G+(FF+FFAB)*PFF 
2780 G=G+(HF+HFAB)*PHF 
2790 G=G+(F*KF) 

2800 G=G+SPAREN 

2810 PRINT "IN BAR:";G;"DOLL 

AR" 

2820 PRINT 

2830 NFN=NF+NFAB 

2840 PRINT "(";NFN;"NERZFELL 

E ) " : : 

2850 LFN=LF+LFAB 

2860 PRINT "(";LFN;"LUCHSFEL 


L 

I 

S 

T 

I 

N 

G 

S 


26 
































LE )": : 

2870 FFN=FF+FFAB 

2880 PRINT "(";FFN;"FUCHSFEL 

LE ) " : : 

2890 HFN=HF+HFAB 

2900 PRINT "(";HFN;"HASENFEL 

LE )": : 

2910 PRINT " ( " ; F; "PACKPFERDE 
) " 

2920 PRINT : :"WEITER: TASTE 
DRUECKEN" 

2930 CALL KEY(0,K,S) 

2940 IF SO0 THEN 2950 ELSE 
2930 

2950 CALL CLEAR 
2960 IF G>HS(5)THEN 3020 
2970 PRINT "HIGHSCORE :";HS( 
1) : : 

2980 PRINT "SPIELER_" 

&H* ( 1 ) : : 

2990 PRINT : : : : : : : "NEU 

ES SPIEL: TASTE DRUECKEN" 
3000 CALL KEY(0 , K , S) 

3010 IF SO0 THEN 220 ELSE 3 
000 

3020 CALL SOUND(1000,262,0,3 
30,0,392,2) 

3030 CALL SOUND(1000,330,0,3 
92,0,524,2) 

3040 CALL SOUND(2000,392,0,5 
24,0,660,2) 

3050 IF G>HS(5)THEN 3210 
3060 CALL CLEAR 
3070 PRINT "H I G H S C O R 
E - TABELLE": : : 

3080 FOR N=1 TO 5 

3090 N$=STR$(N)&".PLATZ: " 

3100 N$=" "&N* 

3110 PRINT N$;H$(N) 

3120 PRINT ".(";HS(N 

) ; " ) " 

3130 PRINT 
3140 NEXT N 
3150 FOR 1=1 TO 1000 
3160 CALL KEY <0,K,S) 

3170 IF SO0 THEN 3190 
3180 NEXT I 
3190 CALL CLEAR 
3200 GOTO 2990 
3210 CALL CLEAR 
3220 A$="...GIB DEINEN NAMEN 
EIN." ' . 

3230 YS=14 
3240 GOSUB 3360 
3250 INPUT N$ 

3260 FOR N=1 TO 5 

3270 IF HS(N)< =G THEN 3290 

3280 NEXT N 

3290 FOR M=4 TO N STEP -1 
3300 HS(M+1)=HS(M) 

3310 H$(M+1)=H$(M) 

3320 NEXT M 
3330 H*(N)=N:f 


3340 HS(N)=G 

3350 GOTO 3060 

3360 FOR N2=l TO LEN(A$) 

3370 CALL HCHAR(YS,N2,ASC(SE 
G$(A*,N2,1))) 

3380 NEXT N2 
3390 RETURN 

3400 PRINT "WAS SOLL DER UNS 
INN ??" 

3410 FOR 1=1 TO 300 
3420 NEXT I 
3430 GOTO 460 

3440 PRINT "ES IST KEIN HAEN 
DLER DA !!!" 

3450 GOTO 3410 

3460 KF=INT(((1003-392+1)*RN 
D)+392) 

3470 PRINT "MOECHTEST DU KAU 

FEN (K). 

.ODER": : 

3480 PRINT "VERKAUFEN (V) ?" 


3490 CALL KEY(0,K,S) 

3500 IF S=0 THEN 3490 

3510 IF (K< >75) * (K< >86) THEN 

3490 

3520 IF K=75 THEN 3540 
3530 IF K=86 THEN 3650 ELSE 
3490 

3540 CALL CLEAR 

3550 PRINT "WIEVIEL MOECHTES 

T DU ?" 

3560 PRINT : :"SIE KOSTEN";K 
F; "DOLLAR." 

3570 IF G<KF THEN 3780 
3580 PRINT : :"DU HAST NOCH" 

;G; "DOLLAR"; TAB (1) ; ".. . 

.UND";F;" 

PACKPFERDE.": : 

3590 INPUT "":X 
3600 X=INT(X) 

3610 IF < X-*KF>G) + (X< 0) THEN 3 
750 

3620 G=G—X*KF 

3630 F=F+X 

3640 GOTO 830 

3650 CALL CLEAR 

3660 PRINT "WIEVIEL MOECHTES 

T DU. 

.VERKAUFEN ?" 

3670 PRINT : :"ICH ZAHLE DIR 
";KF;"DOLLAR.": : 

3680 PRINT "DU HAST NOCH";G; 

"DOLLAR" ; TAB (1) ; ".. 

.UND";F;"PAC 

KPFERDE.": : : 

3690 INPUT "":X 
3700 X=INT(X) 

3710 IF X>F THEN 3690 
3720 G=G+X*KF 
3730 F=F—X 
3740 GOTO 830 

3750 PRINT "DU BIST GUT, DU 


L 

I 

S 

T 

I 

N 

G 

S 


27 
















HAST DOCH. 

.GAR NICHT SOVIEL 

GELD." 

3760 PRINT : :"ALSO, JETZT I 

M ERNST,. 

.WIEVIEL MOECH 

TEST DU ?-: : : 

3770 GOTO 3590 

3780 PRINT : :"ABER DU HAST 

JA GAR NICHT. 

.GENUG GELD BE 

I 1 ": : 

3790 PRINT "KOMM' WIEDER, WE 

NN DU MEHR. 

..VERDIENT HAST !" 

3800 GOTO 830 

3810 IF FP>=5 THEN 3860 

3820 PRINT "TRAPPER,DU HAST 

KEIN GLUECK.. 

.DEINE LEBENSMITT 

EL REICHEN ": : 

3830 PRINT "NICHT AUS UM DAS 

DEPOT ZU. 

.ERREICHEN." 

3840 PRINT :::::: 

3850 GOTO 2370 
3860 FP=FP—5 
3870 CALL CLEAR 

3880 PRINT ".D E P O 

T." 

3890 CALL HCHAR(24,1,61,32) 
3900 PRINT ::::::::: 

■ 

3910 PRINT "<1> GELD": : : : 
3920 PRINT "<2> FELLE": : : 

3930 INPUT " ":GS 

3940 IF (GS<1)+(GS>2)THEN 39 

30 

3950 ON GS GOTO 3960,4300 
3960 CALL CLEAR 
3970 PRINT "..GELD EINZAHLEN 
/AUSZAHLEN " 

3980 CALL HCHAR(24,1,61,32) 

3990 PRINT ::::::::: 
• 

4000 PRINT "<1> EINZAHLEN": 
4010 PRINT "<2> AUSZAHLEN": 


L 

I 

S 

T 

I 

N 

G 

S 


4100 PRINT ?, DU BESITZT";G;"D 
OLLAR." 

4110 PRINT :"UND HAST";SPARE 

N;"DOLLAR";TAB(1);". 

.AUF DEINE 

M KONTO-": : 

4120 INPUT "":X 
4130 X=INT(X) 

4140 IF X>G THEN 4120 
4150 G=G—X 

4160 SPAREN=SPAREN+X 
4170 GOTO 5030 
4180 CALL CLEAR 

4190 PRINT ".A U S Z A H 

L E N." 

4200 CALL HCHAR(24,1,61,32) 
4210 PRINT :::::::== 

4220 PRINT "WIEVIEL MOECHTES 

T DU.-.. 

.AUSBEZAHLT BEKOM 

MEN : 

4230 PRINT. "DU HAST";SPAREN; 

"DOLLAR";TAB(1) ; ". 

.1.i.AUF DEINEM 

KONTO. ": -i : ‘ : 

4240 INPUT "":X < . 

4250 X=INT(X) 

4260 IF X>SPAREN THEN 4240 

4270 SPAREN=SPAREN—X 

4280 G=G+X 

4290 GOTO 5030 

4300 CALL CLEAR 

4310 PRINT "...FELLE ABLEGEN 

/ABHOLEN-" 

4320 CALL HCHAR(24,1,61,32) 
4330 PRINT : ; : : : = = = 

4340 PRINT "<1> FELLE ABLEGE 
N": : : 5 ) •' 

4350 PRINT "<2> FELLE ABHOLE 
N": : : : . 

4360 INPUT " ":FE 
4370 IF (FE<1) + (FE >2)THEN 43 
60 

4380 ON FE GOTO 4390,4700 • 

4390 CALL CLEAR 

4400 PRINT "WIEVIEL FELLE MO 

ECHTEST DU.... 

....ABLEGEN ?": : : 


4020 INPUT " ":SP 
4030 IF <SP<1)+(SP>2)THEN 40 
20 

4040 ON SP GOTO 4050,4180 
4050 CALL CLEAR 

4060 PRINT ".E I N Z A H 

L E N." 

4070 CALL HCHAR<24,1,61,32) 
4080 PRINT :::::::: 
4090 PRINT "WIEVIEL MOECHTES 

T DU. 

.EINZAHLEN : 


4410 PRINT "NERZFELLE" 

4420 IF NF<=0 THEN 4480 
4430 PRINT : :"DU HAST";NF?" 
FELLE.": : 

4440 INPUT "":NFAB 
4450 NFAB=INT(NFAB) 

4460 IF (NFAB >NF) + (NFAB< 0)TH 
EN 4440 

4470 NF=NF-NFAB 

4480 PRINT :::::: = : "L 

UCHSFELLE" 

4490 IF LF<=0 THEN 4550 


28 







































4500 PRINT s :"DU HAST";LF;" 
FELLE.": : 

4510 INPUT "“s LFAB 
4520 LFAB=INT(LFAB) 

4530 IF <LFAB>LF)+(LFAB<0)TH 
EN 4510 

4540 LF=LF—LFAB 

4550 PRINT ::::::::"F 

UCHSFELLE" 

4560 IF FF<=0 THEN 4620 
4570 PRINT : :"DU HAST";FF;" 
FELLE.": : 

4580 INPUT "":FFAB 
4590 FFAB=INT(FFAB) 

4600 IF (FFAB>FF) + (FFAB<0)TH 
EN 4580 

4610 FF=FF—FFAB 

4620 PRINT "H 

ASENFELLE" 

4630 IF HF< =0 THEN 5030 
4640 PRINT : :"DU HAST";HF;" 

FELLE.": : 

4650 INPUT "":HFAB 
4660 HFAB=INT(HFAB) 

4670 IF (HFAB >HF) + (HFAB<0)TH 
EN 4650 

4680 HF=HF—HFAB 

4690 GOTO 5030 

4700 CALL CLEAR 

4710 PRINT "WIEVIEL FELLE MO 

ECHTEST DU. 

.ABHOLEN ?": : : 


4720 PRINT "NERZFELLE": : : 

4730 IF NFAB<=0 THEN 4800 
4740 PRINT "DU HAST" ; NFAB;''F 
ELLE IM DEPOT.": : 

4750 INPUT "" :X 

4760 IF (NFAB<X)+(X<0)THEN 4 

750 

4770 NFAB=NFAB—X 

4780 NF=NF+X 

4790 PRINT ::::::: 

4800 PRINT "LUCHSFELLE": : : 
4810 IF LFAB<=0 THEN 4880 
4820 PRINT "DU HAST";LFAB;"F 
ELLE IM DEPOT.": : 

4830 INPUT "":X 

4840 IF (LFAB<X) + (X< 0)THEN 4 

830 

4850 LFAB=LFAB—X 

4860 LF=LF+X 

4870 PRINT ::::::: 

4880 PRINT "FUCHSFELLE": : : 
4890 IF FFAB<=0 THEN 4960 
4900 PRINT "DU HAST";FFAB;"F 
ELLE IM DEPOT.": : 

4910 INPUT "":X 

4920 IF (FFAB<X)+(X<0)THEN 4 

910 

4930 FFAB=FFAB—X 
4940 FF=FF+X 
4950 PRINT 


4960 PRINT "HASENFELLE": : : 
4970 IF HFAB<=0 THEN 5030 
4980 PRINT "DU HAST";HFAB;"F 
ELLE IM DEPOT.": : 

4990 INPUT "":X 

5000 IF (HFAB<X) + <X<0)THEN 4 

990 

5010 HFAB=HFAB—X 
5020 HF=HF+X 

5030 PRINT ::::::: 

5040 PRINT "<A> DEPOT. 

.<B> ZURUECK" 

5050 CALL KEY(0,K,S) 

5060 IF S=0 THEN 5050 

5070 IF (K<65)+(K>66) THEN 50 

50 

5080 ON K—64 GOTO 3870,440 
5090 DATA 600,196,600,196,15 
0,196,600,196,600,233,200,22 
0,270,220,350,196,350,196,35 
0,185,1000,196 

5100 KFP=INT(<107-53+1)*RND) 
+53 

5110 PRINT "WIEVIEL RATIONEN 
MOECHTEST. 


.DU?": : 

5120 PRINT : :"EINE KOSTET"; 

KFP;"DOLLAR.": : 

5130 IF G<KFP THEN 3780 
5140 PRINT : :"DU HAST NOCH" 

;G;"DOLLAR";TAB(1);" . 

.UND";FP; 

"ESSENSRATIONEN.": : 

5150 INPUT "":X 
5160 X=INT(X) 

5170 IF (X*KFP>G)+(X<0)THEN 
5150 

5180 G=G—X*KFP 
5190 PRINT : : : 

5200 FP=FP+X 
5210 GOTO 830 


BÖRSE 


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 


Original TI-Modulc „Daten¬ 
verwaltung“ & „Statistik“ 
mit Anleitungen, sowie 
TI-Buch „Basic/Extended 
Basic“ zusammen mit DM 
100,— abzugeben. 

Emde, Schulstr. 3, 5810 Wit¬ 
ten, Tel. 02302/79353 

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¬ 
plettabnahme: dM 1100,— 
Tel. 0221/843623 


L 

I 

S 

T 

I 

N 

G 

S 


29 


























LISTING 


Die Steuerstäze 7 % und 
14 % sind fest program¬ 
miert, ein weiterer Steu¬ 
ersatz ist wählbar, oder 
wird durch die Eingabe 
von ,0‘ einfach unter¬ 
drückt. 


jährlichen Umsatzsteuer¬ 
anmeldung dar. Da sie 
sehr klar menügesteuert 
sind, sind nur wenige Er¬ 
klärungen nötig. Die bei¬ 
den Programme sind ur¬ 
sprünglich darauf abge¬ 
stimmt, in Verbindung 
mit dem Buchhaltungs¬ 
modul von TI benützt zu 
werden. Bei diesem wer¬ 
den in jedem Fall Brutto- 
Beträge bei der Eingabe 
verlangt. Beim Programm 
zur monatlichen Umsatz¬ 
steuer-Anmeldung kann 
aber zwischen Brutto und 
Netto gewählt werden. 
Nettobeträge und Vor¬ 
steuer werden dann er¬ 
rechnet. 


Trapper Jack verdient sein kann man sich immer 
Geld damit, daß er Felle noch mit der schönen 
möglichst billig einkauft, Trauermusik trösten, die 
um sie dann wieder teuer gespielt wird, und viel- 
zu verkaufen. Dabei muß leicht darf man seinen 
er jedoch auch auf seine Namen sogar noch in die 
Versorgungslage Highscore-Tabelle eintra- 
Er muß immer gen. 

haben und Jedes Kommando ko¬ 
stet eine Ruhe- und eine 
Essenseinheit. Das Aufsu¬ 
chen des Depots kostet 5 
Essensrationen. 


Privatentnahmen sind 
aufgeschlüsselt in 7 % 
(eine Summe), 14 % (Wa¬ 
ren, KFZ, sonstige), so¬ 
wie gewählten Satz. 

Bei der Eingabe ist die 
Steuernummer in Zeile 
370, bzw. 390 einzuset¬ 
zen. Die Druckerdatei ist 
im Programm als ,RS232‘ 
eröffent. Diese muß ge¬ 
gebenenfalls auf ,PI0‘ 
umgeändert werden. 


eigene 
achten 

genug zu essen 
darf das wohlverdiente 
Ausruhen nach der schwe¬ 
ren Arbeit nicht verges¬ 
sen. 

Jedoch gibt es da aber 
noch ein paar hinterhäl- VARIABLEN 
tige Diebe, die Jack um 
den Lohn seiner schwe- D _ Ru h ee i n ) 

ren Arbeit bringen wollen. h = Essenseir 

Wenn er nicht aufpaßt, NF = Nerzfelle 
kann es passieren, daß sie NF = Nerzfclle 
ihm Felle, Geld, Pack- Fp = F ^ h * f *, 
pferde oder sogar alles HF = Hasenfel 
zugleich stehlen. Jacks FP=Essensratiot 
einzige Möglichkeit, sich G = Geld 
dagegen zu schützen ist = Nerzfd 

das Ablegen seiner Hab- FFAB = Fuchsf , 
Seligkeiten im Depot. Die- hfab = Hasenf 
ses kann er aber nur er- F = Packpfer 
reichen, wenn er noch ge- FV = gestohlei 
nügend Lebensmittel be- 1 " 

sitzt. Lebensmittel ko- nicht ( =( 

sten aber Geld, welches ANGB = Kontr 

er aber nur durch den Angebot 

Verkauf seiner Felle be- yB = ° d « t ™ 

kommt. Man muß also genug Pe 

?chon höllisch aufpassen, oder nie 

um nicht allzu schnell KF = Kaufpre 
auf der Strecke zu blei- _ p ^ erd r e 

ben. Ist man dann doch sensratic 

dummerweise an irgend- z _ Tondaur 
etwas krepiert, dann T = Tonfreq 


Bei der Programmein¬ 
gabe sind die Eingaben 
der individuellen Daten 
vorzunehmen, wie in den 
REM-Zeilen 60 — 90 an¬ 
gegeben! Besonders wich¬ 
tig ist die Festlegung des 
Kontenplans, der in den 
angeführten Zeilen geän¬ 
dert, bzw. ergänzt wer¬ 
den muß!!! 


Dieses Programm wurde 
ursprünglich zur Vorbe¬ 
reitung der Kassenzahlen 
für das TI-Modul BUCH¬ 
HALTUNG entwickelt 
und erleichtert die Füh¬ 
rung eines Kassenbuches, 
die ja bei größeren Um¬ 
satzzahlen vom Gesetzge¬ 
ber zwingend vorgeschrie¬ 
ben ist. 

Fest vorprogrammiert 
sind die Steuersätze 0 %, 
7 % und 14 %. Ein wei¬ 
terer Steuersatz kann frei 
gewählt werden. Wird bei 
entsprechender Frage ein 
,0‘ eingegeben, so wird 
nur mit den drei obenge- 

Die beiden Programme bei der Erstellung der nannten Sätzen gearbei- 
stellen eine Erleichterung monatlichen, bzw. viertel- tet. 


Die eingegebenen Kon- 
tennummem bei den 
Ausgaben werden mitaus 
gedruckt und sind oben 
drein wichtig für die Er 
fassung der einzelnen Be 
träge auf den verschiede 
nen Konten. 


ALPHA DATECK VI .0 von U. Brüsseler, Datenverarbeitungsprogramm ng.eren und Testen von Assemblerprogrammen. Vollig_ überarbeitete 
von privater Adressendatei bis professioneller Datenverwaltung. Gravie- Fassung aufgrund Testbericht m TI REVUE 5/86, m.t z B.. Setzen bzw. 
rende Merkmale- 40 Zeichen pro Zeile - superschnelles Sortieren - Löschen von Speicherbereichen - Ablegen ebener und fremder Pro- 
It^s (Datenfelder? zu leder Zeit änderbar -2 Suchroutinen - super- gramme ab A000 - Auslesen und Änderung der CRU-B.ts - Protokol- 
schnelle Bedienung - inkl. Datei Etikettieren. Benötigte Konfiguration: lierungsmögl.chke.t der gesamten Monitorakt.vitaten auf Drucker oder 
Extended Basic 32 K RAM, mind. 1 Diskettenlaufwerk. Diskette. Benötigte Konfiguration. E/A-Modul, 32 K RAM, mmd. 1 

Diskettenlaufwerk. 

Nicht zu vergessen: GPL-Assembler, GRAM-Karte, Basic II plus, 

ATRONIC-Produkte, Eprommer-Gerät, S. Koppelmann, Modul-, p U blic-Domain-Software für GRAM-Karte, Extended Tl-Maus, Adven 
Eprommer-, 32 K-Platinen, u.a. ture-Editor, TMS 9900 ASSEMBLER von Spielmodule zum Aus 

MONITOR VI.1 von J. Sundermann, Programm zum Generieren, Kor- schlachten (Schleuderpreise), 

Informationen und Preise bei: ELEKTRONIC-SERVICE Linning 37 4044 Kaarst 2 Tel. (02101) 60 32 08 


30 





zu 

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. 


Das Magazin 
für Ti 99-4A 1 


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 special 



TI 99/4A 


m m 


ee 


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


MACHEN SIE MEHR AUS 
IHREM TI MIT ASSEMBLER 



BAHNHOFSBUCHHANDEL 
OPER BEIM VERLAG! 

Ein Muß für Jeden 

^Assembler- An wender! 



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


TI REVUE 


Name 



Anzeigenabteilung 


Vorname 


Postfach 1107 
8044 Lohhof 


Straße/Hausnr. 
PLZ/Ort_ 







COUPON 


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. 


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


Name_ 

Vorname_ 

Straße/Hausnr. 


PLZ/Ort 


TI REVUE 

Abo-Service 7/86 
Postfach 1107 

8044 UNTERSCHLEISSHEIM 


Ich bezahle: 

□ per beiliegendem Verrechnungsscheck 

□ gegen Rechnung 

□ bargeldlos per Bankeinzug von meinem Konto (TI 7/86) 

bei (Bank) und Ort---— 

Kontonummer__—- 

Bankleitzahl ____ 

(steht auf jedem Kontoauszug) 

Unterschrift---*- 

Von meinem Widerspruchsrecht habe ich Kenntnis genommen. 

Unterschrift 


32 







PROGRAMMSERVICE 


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 .; 7/8 

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


Unterschrift. 

TI-REVUE 

KASSETTENSERVICE 7/86 

Postfach 1107 Verkaufsbedingungen: Versand nur gegen Vorauskasse oder Bankabbuchung. 

8044 Unterschleißheim 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 19,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 7/86 

Postfach 1107 

8044 Unterschleißheim 


33 
























EVUi 


Das Magazin 
für T! 99-4A 


30 Seiten 

Listings für 
Ihren 
TI 99/4A 


Assembler 

leicht 

gemacht 


Neue 
Software 
im Test 


Drucker - 
richtig 

behandelt! 


4 Seiten 
Anzeigen 
rund um den 
TI 99/4A 


Es geht! Dateien 

eröffnen und. 

bearbeiten mit 

dem Kassetten* 
Recorder 












10 

« 

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

11 

i 

* 

VIERTELJAEHRLICHE 

* 

12 

i 

♦UMSATZSTEUER—ANMELD. 

* 

13 

i 

* 


* 

14 

i 

* 

Copyright by 

* 

15 

1 

* 


* 

16 

i 

* 

Jens Eckho-f-f 

* 

17 

i 

* 


* 

19 

i 

* 

Benoetigte Geraete 

* 

20 

i 

* 

TI99/4A Konsole 

* 

21 

i 

* 

Ext. Basic 

* 

22 

; 

* 

32K—Erweiterung 

* 

23 

i 

* 

Di sk-Lau-f wer k 

* 

24 

i 

* 

Drucker 

* 

25 

; 

* 


* 

26 

i 

* 

Spei eherbeiegung 

* 

27 

i 

* 

12409 Bytes 

* 

28 

; 

* 


* 

29 

i 

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


100 CALL CLEAR 

110 DISPLAY AT(1,1):"U/Steue 
r Voranmeldung": :"programmi 
ert sind St.Saetze von 7 u.1 
47. " : : "ein weiterer St.Satz 

kann...gewaehlt werden" 

120 DISPLAY AT(8,1):"Neuer S 
teuersatz (7.) ?" : "nei n , dann 0 
eingeben" 

130 ACCEPT AT(9,24)BEEP:SATZ 
140 DISPLAY AT(1,13)ERASE AL 
L:"1986" 

150 DISPLAY AT(2,8):"UMSATZ- 

-STEUER" : ".VORANMELDU 

NG" 

160 GPEN #1:"RS232.LF" 

170 IMAGE #####.## 

180 PRINT #1:CHR$<27);"E";CH 
R$(14);TAB(14);"UMSATZ-STEUE 
R 1986";CHRS(20);CHR$(10) 

190 PRINT #1:CHR*(27);"F" 

200 PRINT #1:CHR*(15);CHR*(1 
4);TAB(20);"VORANMELDUNG" 

210 FÜR DELAY=1 TO 100 : : NE 
XT DELAY 

220 DISPLAY AT(22,5):"drueck 

e 1,2,3 od. 4 -fuer das. 

_jeweilige Quartal !" 

230 DISPLAY AT(5,11):"QUARTA 
L " 

240 ACCEPT AT(5,20)VALIDATE( 
DIGIT)BEEP:A* 

250 DISPLAY AT(18,1)BEEP:"ae 
ndern J/N" 

260 CALL KEY(0,K, S):: IF S=0 
THEN 260 :: IF K=74 THEN 23 
0 :: IF K=78 THEN 270 
270 PRINT #1:CHR$(27);"F"; CH 
R$(18);CHR*(20);TAB(43) ; "QUA 
RTAL :‘A*;CHR*(10);CHR*<10 
) 

280 IF A*="l" THEN 290 :: IF 
AT="2" THEN 310 :: IF AT="3 
" THEN 330 :: IF A*="4" THEN 


L 

I 

S 

T 

I 

N 

G 

S 


350 

290 X-£="JAN. " : : YT="FEB. " : 
: ZT="MRZ." 

300 GOTO 370 

310 X$="APR." :: Y$="MAI" :: 
Z$="JUNI" 


320 GOTO 370 

330 X$="JULI" :: Y£="AUG." : 

: Z*="SEPT." 

340 GOTO 370 

350 X*="OKT." :: Y$="NOV." : 
s Z*="DEZ" 

360 GOTO 370 

370 DISPLAY AT(1,9)ERASE ALL 
:"NETTO-ERLOESE" 

380 DISPLAY AT(2,11):"GLATTE 
DM" 

390 PRINT #1:"NETTO-ERLOESE" 

;TAB(50) ; "ST. NR. !*!*!*!*!*!" 

;CHR$(10) 

400 PRINT #1:"-“ 

:CHR*(10) 

410 DISPLAY AT (3,4) : "77." ; TAB 
(13);" 147." :: IF SATZ>0 THEN 
DISPLAY AT (3,22) : SATZ; "7." 

420 DISPLAY AT(4,1):X^ 

430 ACCEPT AT(6,2)VALIDATE(D 
IGIT)BEEP:B :: DISPLAY AT(6, 
2):USING "#####":B 
440 ACCEPT AT(6,11)BEEP VALI 
DATE(DIGIT):ZB :: DISPLAY AT 

(6.11) :USING "#####":ZB 

450 IF SATZ >0 THEN ACCEPT AT 

(6.21) BEEP VALIDATE(DIGIT):S 
ATZ 1 :: DISPLAY AT(6,21):USI 
NG "#####":SATZ 1 

460 DISPLAY AT(8,1):Y* 

470 ACCEPT AT(10,2)VALIDATE( 
DIGIT)BEEP:C :: DISPLAY AT(1 
0,2):USING "#####":C 
480 ACCEPT AT<10,11)VALIDATE 
(DIGIT)BEEP:ZC :: DISPLAY AT 

(10.11) :USING "#####":ZC 
490 IF SATZ>0 THEN ACCEPT AT 

(10.21) BEEP VALIDATE(DIGIT): 
SATZ2 :: DISPLAY AT(10,21):U 
SING "#####":SATZ2 

500 DISPLAY AT(12,1):Z* 

510 ACCEPT AT(14,2)VALIDATE( 
DIGIT)BEEP:D :: DISPLAY AT(1 
4,2):USING "#####":D 
520 ACCEPT AT(14,11)VALIDATE 
(DIGIT)BEEP:ZD :: DISPLAY AT 

(14.11) :USING "#####":ZD 
530 IF SATZ>0 THEN ACCEPT AT 

(14.21) BEEP VALIDATE(DIGIT): 
SATZ3 :: DISPLAY AT(14,21):U 
SING "#####":SATZ3 

540 DISPLAY AT <15,2):"- 




550 E=(B+C+D):: ZE=(ZB+ZC+ZD 
):: SATZE=(SATZ1+SATZ2+SATZ3 
) 


1 » 


35 









560 DISPLAY AT(16,2):USING " 
#####" :E :: DISPLAY AT(16,11 
):USING »#####";ZE :: DISPLA 
Y AT(16,21):USING "#####":SA 
TZE 

570 ZZE=E+ZE+SATZE 
580 DISPLAY AT(19,1):"ERLOES 
QUART-" ; A$ :: DISPLAY AT(19 
,16):"=DM";ZZE: :"Netto..! o 
hne U/Steuer" 

590 CALL KEY(0,K,S) 

600 DISPLAY AT(24,1):"aender 
n J/N" 

610 IF S=0 THEN 590 :: IF K= 
78 THEN 620 :: IF K=74 THEN 
32767 ELSE 610 

620 PRINT #1: TAB (17) ; "77." ; TA 
B (40) ; ,, 147." :: IF SATZ>0 THE 
N PRINT #1: TAB (62) ; SATZ; 

630 PRINT #1:CHR*(10);"MONAT 
- . "; X* 

640 PRINT #1 : TAB(15);:: PRIN 

T #1,USING "#####.##":B;:: P 

RINT #1:TAB(38);:: PRINT #1, 

USING "#####.##":ZB 

650 IF , SATZ >0 THEN PRINT #1: 

TAB(60);:: PRINT #1,USING "# 

####.##":SATZ1 

660 PRINT #1:CHR$(10) 

670 PRINT #1:"MONAT..";Y$ 

680 PRINT #1:TAB(15);:: PRIN 

T #1, USING "#####.##'": C; : : P 

RINT #1:TAB(38);:: PRINT #1, 

USING "#####.##":ZC 

690 IF SATZ>0 THEN PRINT #1: 

TAB(60);:: PRINT #1 ,USING "# 

####.##":SATZ2 

700 PRINT #1:CHR$(10) 

710 PRINT #1:"MONAT ..";ZS 

720 PRINT #1:TAB(15);:: PRIN 

T #1,USING "#####.##":D;:: P 

RINT #1:TAB(38);:: PRINT #1, 

USING "#####.##":ZD 

730 IF SATZ>0 THEN PRINT #1: 

TAB(60);:: PRINT #1,USING "# 

####.##":SATZ3 

740 PRINT #1:CHR$(10) 

750 PRINT #1:TAB(15);"- 

— " ; TAB (38) ; "-" :: IF 

SATZ>0 THEN PRINT #1:TAB(60 

) . »-";CHR*(10)ELSE PR 

INT #1:CHR$(10) 

760 PRINT #1:"QUARTAL ";A$ 

770 PRINT #1:TAB(15);::'PRIN 

T #1,USING "#####.##":E;:: P 

RINT #1:TAB(38);:: PRINT #1, 

USING "#####.##":ZE 

780 IF SATZ>0 THEN PRINT #1: 

TAB(60);:: PRINT #1,USING "# 

####.##":SATZE 

790 PRINT #1:CHR*(10);TAB(2) 

;RPT*("=",22);TAB(39);"===== 

===" :: IF SATZ>0 THEN PRINT 


L 

I 

S 

T 

I 

N 

G 

S 


# 1: TAB (60) ; " ======== '* ; CHRT ( 

10);CHRT(10) 

800 DISPLAY AT(5,1)ERASE ALL 
:"BEZ.VORST." :: DISPLAY AT( 
5,11):X* 

810 ACCEPT AT(5,18)VALIDATE( 
DIGIT,".")BEEP:P 
820 DISPLAY AT(5,18):USING " 
#####.##":P 

830 DISPLAY AT(7,11):Y* 

840 ACCEPT AT(7,18)VALIDATE( 
DIGIT,".")BEEP:Q 
850 DISPLAY AT(7,18):USING " 
#####.##":Q 

860 DISPLAY AT(9,11):Z$ 

870 ACCEPT AT(9,18)VALIDATE( 
DIGIT,".")BEEP:R 
880 DISPLAY AT(9,18):USING " 
#####.##":R 

890 DISPLAY AT(10,16):"- 

_II 

900 CL=(P+Q+R) 

910 DISPLAY AT(11,1):"BEZ.VO 
RST. 

920 DISPLAY AT(11,17)BEEP:US 
ING "######.##":CL 
930 DISPLAY AT(24,1):"aender 
n J/N" 

940 CALL KEY(0,K,S):: IF S=0 
THEN 940 :: IF K=78 THEN 95 
0 :: IF K=74 THEN 810 
950 PRINT #1:"BEZAHLTE VORST 
EUER IM QUARTAL ";A*;CHR*(10 

) ; "-" ; CHRT ( 

10) 


960 

PRINT 

#1: "MONAT.." 

5 


970 

PRINT 

#1 :TAB(17);: 

• 

PRIN 

T #1 

,USING 

"#####.##": 

P 


980 

PRINT 

#1:CHR$(10); 

ii 

MONAT 

•• . 

■ ■ ? 

Y* 




990 

PRINT 

#1: TAB (17) 

m 

PRIN 

T #1 

,USING 

"#####.##": 

Q 


1000 

PRINT 

#1:CHR^(10) 

9 

"MONA 

T. . " 





1010 

PRINT 

#1:TAB(17); 

■ 

: PRI 


NT #1,USING "#####.##":R 
1020 PRINT #1:TAB(26) 

TAB(34);"GESAMT" 

1030 PRINT #1:TAB(43): PRI 
NT #1,USING "#####.##":CL 
1040 PRINT #1:CHR$(10);TAB(3 
5) ; "==--=-==-======-=" -CHRT( 

10);CHR$(10) 

1050 DISPLAY AT(1,2)ERASE AL 
L:"ERRECHNUNG U/STEUER":" — 


1060 DISPLAY AT(3,2):"ERLOES 

II 

1070 DISPLAY AT(5,3):"NETTO. 
..77. =DM" :: DISPLAY AT (5,18 
):USING "######.##":E 
1080 F=((E/100)*7) 

1090 DISPLAY AT(6,3):"+ U/ST 


36 












. «• : ; DISPLAY AT (6,19) :USING 
"#####-##":F 

1100 DISPLAY AT(7,3):"--- 


1110 G=E+F 

1120 DISPLAY AT(8,3):"BRUTTO 
..77. =DM" :: DISPLAY AT(8,18 
):USING "######.##":G 
1130 DISPLAY AT(11,3):"NETTO 
..147. =DM" :: DISPLAY AT (11 , 
18):USING "######.##":ZE 
1140 ZF=((ZE/100)*14) 

1150 DISPLAY AT(12,3):" + U/S 
T." :: DISPLAY AT(12,19):USI 
NG "#####.##":ZF 
1160 DISPLAY AT(13,3)r RPT$ <" 
—",24) 

1170 ZG=ZE+ZF 

1180 DISPLAY AT(14,3):"BRUTT 
0 147. =DM" :: DISPLAY AT(14, 
18):USING "######.##":ZG 
1190 IF SATZ=0 THEN 1260 
1200 DISPLAY AT(17,3):"NETTO 
";SATZ;"7 =DM" :: DISPLAY A 
T(17,18)sUSING "######.##":S 
ATZE 

1210 SATZZ=((SATZE/100)*SATZ 
) 

1220 DISPLAY AT(18,3):"+ U/S 
T." :: DISPLAY AT(18,19):USI 
NG "#####.##":SATZZ 
1230 DISPLAY AT(19,3):RP TS (" 
-", 24) 0 

1240 SATZF=SATZE+SATZ Z 
1250 DISPLAY AT(20,3):"BRUTT 
O"; SATZ; "7. =DM" :: DISPLAY A 
T(20,18):USING "######.##":S 
ATZF 

1260 DISPLAY AT(24,1)BEEP:"< 
W>eiter" 

1270 CALL KEY(0,K,S):: IF S= 
0 THEN 1270 ::.IF K=87 THEN 
1280 ELSE 1270 

1280 DISPLAY AT(2,1)ERASE AL 
L: "ERRECHNUNG U/STEUER":"- 


1290 DISPLAY AT(5,2):"BEZ.VO 
RST. ..=DM" :: DISPLAY AT(5, 
20):USING "######.##":CL 
1300 DISPLAY AT(8,2):"U/ST. 
77. : : DISPLAY AT(8,14):US 

ING "#####.##":F 
1310 DISPLAY AT(10,2):"U/ST. 
147. : " :: DISPLAY AT(10,14): 
USING "#####.##":ZF 
1320 IF SATZ=0 THEN 1340 
1330 DISPLAY AT(12,2):"U/ST. 
" ; SATZ; "7.: " : : DISPLAY AT(12 
,14):USING "#####.##":SATZZ 
1340 FZF=F+ZF+SATZZ :: H=CL- 
FZF 

1350 DISPLAY AT(15,2):"U/ST. 
ZU BEZ. =DM" :: DISPLAY AT(1 


5.20) :USING "######.##"s FZF 
1360 DISPLAY AT(16,2):RPT*(" 
-",27) 

1370 IF CL<FZF THEN 1400 :: 

IF CL=FZF THEN 1420 ELSE 138 
0 

1380 DISPLAY AT(17,2):"GUTHA 
BEN.=DM" :: DISPLAY AT(1 

7.20) :USING "######.##":H 
-4390 GOTO 1430 

1400 DTSPLAY AT(17,2):"NÄCHZ 
AHLUNG-«=DM" :: DISPLAY AT(1 

7.20) : USING "######-##":H 
1410 GOTO 1430 

, 1420 DISPLAY AT(17,2):"AUSGL 
EICH_=DM" :: DISPLAY AT(1 

7.20) :USING "#####-##":H 
1430 PRINT #1:"ERRECHNUNG U/ 
STEUER: ERLOESE (OHNE PRIVAT 
ENTN.)" :: PRINT #1:CHR*(10) 

- "====================" ; CHR$ 

( 10 ) 

1440 PRINT #1: TAB ( 17) ; "77." ; T 
AB (40) ; " 147." :: IF SATZ>0 TH 
EN PRINT #1: TAB (62) ; SATZ; "7." 
1450 PRINT #1:CHR*(10);"NETT 
0. .DM";TAB(15);: : PRINT #1,U 
SING "#####.##":E 
1460 PRINT #1:TAB(38);:: PRI 
NT #1,USING "#####.##":ZE 
1470 IF SATZ>0 THEN PRINT #1 
:TAB(60);:: PRINT #1,USING " 
#####.##":SATZE 
1480 PRINT #1:CHR$(10):: PRI 
NT ttl:"+ U/ST.DM";TAB(15);:: 

PRINT #1,USING "#####.##":F 
1490 PRINT #1:TAB(38);:: PRI 
NT #1,USING "#####.##":ZF :: 

IF SATZ=0 THEN 1510 
1500 PRINT #1:TAB(60);:: PRI 
NT #1, US ING "#####. ##:’: SATZZ 
1510 PRINT. #1:CHR$ (10) ;RPT$( 

"-",22) ; TAB (38) ; "-" 

:: IF SATZ>0 THEN PRINT #1:T 

AB (60) ; " -" 5 CHR $ (10) EL 

SE PRINT #1:CHR$(10) 

1520 PRINT #1:"BRUTTO DM";TA 
B(14);:: PRINT #1,USING "### 
###.##";G :: PRINT #1:TAB(37 
);:: PRINT #1,USING "######- 
##":ZG 

1530 IF SATZ=0 THEN 1550 
1540 PRINT #1:TAB(59);:: PRI 
NT #1,USING "######.##":SATZ 
F 

1550 PRINT #1:CHR^(10);RPT-fc ( 
"=",22);TAB(38);"=========" 

1560 IF SATZ>0 THEN PRINT #1 
:TAB(60);"========";CHR^(10) 

; CHR'T (10) ELSE PRINT #1:CHR^( 
10);CHR$(10) 

1570 PRINT #1:"BEZAHLTE VORS 
TEUER . 


L 

I 

S 

T 

I 

N 

G 

S 













INT #1:TA 
SING "### 

10):: PRI 
3EZ. 77. 
RINT #l,ü 

10);"U/ST 
1 :";TAB( 
JG "##### 


1620 

10);"U/ST 
*7. =DM : " 
I,USING " 

7 );:: PRI 
4#": FZF; 

< 10 ) 


\ r 6) ; : : PRI 

0);TAB(5 
( 10 ) 

H$="U/ST 
IT= H U/ST 
H$="AUSG 


ERASE AL 
, 19):USI 

II+ZFL : 
+LL 

:“PRIVAT 
11 

3EEP: I 
):USING 
ATZ=0 TH 


:"Entn.z 
T AT(4,2 
AT(4,20 
4 

:"Priv. 

: “K-fz.Pr 
:: ACCEP 
DISPLAY 
S#.##":L 

3EEP:L2 
JSING "# 
T AT (9,1 
AT(9,14 

3 

. LL=L5/1 

7):: LI4= 


):"Ges.E 
AY AT (11 


L 

I 

S 

T 

I 

N 

G 

S 


,20):USING "#####.##» = L5 :: 

DISPL AY AT (13,1) s** Ges. Pr - i v. E 
ntn.=" 

1810 DISPLAY AT(13,20):USING 
"#####. ##": H-L5+L4 
1820 DISPLAY AT (15,1): *'U/St 
Privat 77." :: DISPLAY <^T(15, 
20):USING "####.##":II 
1830 DISPLAY AT(16,1):"U/St 
Privat 147." :: DISPLAY AT(16 
,20):USING "####.##":LL 
1840 IF SATZ >0 THEN DISPLAY 
AT(17, 1 ):"U/St.Privat";SATZ; 
"7." : : DISPLAY AT (17,19) : USI 
NG "#####_ ##":L14 
1850 ZZ=II+LL+L14 
1860 M=H—ZZ 

1870 DISPLAY AT(18,18):"- 

-":"Ges.U/St.Priv." :: D 

ISPLAY AT(19,19):USING "#### 
ZZ 

1880 DISPLAY AT(24,1):"aende 
rn J/N" 

1890 CALL KEY(0,K,S):: IF S= 
0 THEN 1890 :: IF K=74 THEN 
1730 :: IF K=78 THEN 1900 EL 
SE ie90 

1900 IF SATZ=0 THEN R0W=21 E 
LSE R0W=22 

1910 DISPLAY AT(ROW,17):"- 


1920 IF ZZ>H THEN H1^="U/ST. 
SCHULD" 

1930 IF ZZ<H THEN H1^="U/ST. 
GUTH." 

1940 IF ZZ=H THEN H1*="AUSGL 
EICH" 

1950 IF SATZ=0 THEN R02=22 E 
LSE RÜ2=23 

1960 DISPLAY AT(R02,1):H1* : 
: DISPLAY AT(R02,19):USING " 
#####.##":M 

1970 PRINT #1:CHR$(10)-"ERRE 
CHNUNG U/STEUER: (MIT PRIVAT 
)" :: PRINT #1:CHR$(10);"=== 
=================... CHRT ( 10) 

1980 GOSUB 2520 
1990 PRINT #1:TAB(57);:: PRI 
NT #1,USING "#####.##":H :: 
PRINT #1:CHR$(10) 

2000 PRINT #1: "PRIV.ENTN. 77. 
";CHR$(10);" WAREN...DM:" :: 

PRINT #1:TAB(20);:: PRINT # 
1,USING "#####.##" : I 
2010 PRINT #1:TAB(30);"=U/ST 
-DM:" :: PRINT #1:TAB(40): 

PRINT #1,USING "#####.##"-I 
I :: PRINT #1:CHR*(10) 

2020 PR INT # 1: " PR IV. ENTN . 147. 

";CHR*(10);" WAREN_DM:" :: 

PRINT #1:TAB(20);:: PRINT # 
1, USING "#####.##"^1 
2030 PRINT #1:CHR*(10);" KFZ 


38 







.ANT.DM:" :: PRINT #1:TAB(20 
PRINT #1,USING "#####.# 
# ;, :L2 : : PRINT #1: CHR* (10) 
2040 PRINT #1:" KOSTEN..DM:" 

;TAB(20);:: PRINT #1,USING " 
#####.##":L3 

2050 PRINT #1:TAB(30);"=U/ST 
.DM:" :: PRINT #1:TAB(40);:: 

PRINT #1,USING "#####.##”:L 
L :: IF SATZ=0 THEN 2080 
2060 PRINT #1:CHR*(10);"PRIV 
.ENTN.";SATZ;"X";CHR*(10);" 
WAREN DM:";TAB(20);:: PRINT 
#1,USING "#####.##":L4 
2070 PRINT #1:TAB(30);"=U/ST 
.DM:“ :: PRINT #1:TAB(40);:: 

PRINT #1,USING "#####.##":L 
14 

2080 PRINT #1:TAB(49);"=DM : 

II 

2090 PRINT # 1 :TAB(57);:: PRI 
NT #1,USING "#####-##":ZZ :: 
PRINT #1:CHR*(10) 

2100 PRINT #1:TAB(55);"- 

-";CHR*(10) 

2110 IF H>0 THEN IF ZZ>H THE 
N 2120 :: IF H>0 THEN IF ZZ< 
H THEN 2140 :: IF H<0 THEN I 
F ZZ>0 THEN 2160 
2120 PRINT #1:"UMSATZ STEUER 

SCHULD. 

. . . =DM :" 

2130 PRINT #1:TAB(57);:: PRI 
NT #1,USING "#####.#tt":M :: 
GOTO 2180 

2140 PRINT #1:"UMSATZ STEUER 

GUTHABEN . 

.... =DM :" 

2150 PRINT #1:TAB(57); : : PRI 
NT #1,USING "#####.##":M :: 
GOTO 2180 

2160 PRINT #1:"UMSATZ STEUER 

SCHULD. 

. . . =DM :" 

2170 PRINT #1:TAB(57) 5 s : PRI 
NT #1,USING "#####.##":M := 
GOTO 2180 

2180 PRINT #1:CHR*(10);TAB<5 
6 ) ; " ========== •• ; CHR* (10); CHR 

*( 10 ) 

2190 PRINT #1: "UMSATZ 147. (OH 
NE PRIVAT) =DM:" :: PRINT #1 
:TAB(30);:: PRINT #1,USING " 
######.##":ZE :: PRINT #lsCH 
R*(10) 

2200 PRINT #1:TAB(17);"PRIVA 
T..=DM:" :: PRINT #1:TAB(30) 
PRINT #1,USING "######.# 
: L5 

2210 ZEL=ZE+L5 :: EI=E+I :: 
SATZY=SATZE+L4 :: Y=EI+ZEL+S 
ATZY :: ZEL1 = INT((ZEL*100+. 5 
)7100*14)/100 :: EI1=INT((EI 


L 

I 

S 

T 

I 

N 

G 

S 


*100+.5)/100*7)/100 

2220 SA1=INT((SATZY*100+.5)/ 

100*SATZ)/100 

2230 PRINT #1:TAB(40);"=DM : 

" :: PRINT #1:TAB(46);:: PRI 
NT #1,USING "######.##":ZEL 
:: PRINT #1:TAB(59);“U/ST.=" 
2240 PRINT #1:TAB(68);:: PRI 
NT #1,USING "#####-##":ZEL1 
2250 PRINT #1:CHR*(10) 

2260 PRINT #1: "UMSATZ. .77. (0H 
NE PRIVAT) =DM:" :: PRINT #1 
:TAB(30);:: PRINT #1,USING " 
######.##":E :: PRINT #1:CHR 
*(10) 

2270 PRINT #1:TAB(17);"PRIVA 
T..=DM:" :: PRINT #1:TAB(30) 
PRINT #1,USING "######.# 

#": I 

2280 PRINT #1:TAB(40);"=DM : 

» :: PRINT #1:TAB(46);:: PRI 
NT #1, USING "######.##":EI : 

: PRINT #1:TAB(59);"U/ST.=" 
2290 PRINT #1:TAB(68);:: PRI 
NT #1,USING "#####.##":EI1 : 

: PRINT #1:CHR*(10) 

2300 IF SATZ=0 THEN 2350 
2310 PRINT #1:"UMSATZ";SATZ; 
"7. (OHNE PRIVAT) =DM: " :: PRI 
NT #1sTAB(30);:: PRINT #1,US 
ING "######-##":SATZE :: PRI 
NT #1:CHR*(10) 

2320 PRINT #1:TAB(17);"PRIVA 
T..=DM:" :: PRINT #1:TAB(30) 
PRINT #1,USING "######.# 
#" :L4 :: PRINT #1:TAB(41);" = 
DM : " 

2330 PRINT #1:TAB(46);:: PRI 
NT #1,USING "######-##":SATZ 
Y :: PRINT #1:TAB(59);"U/ST. 

__ II 

2340 PRINT #1:TAB(68);:s PRI 
NT #1,USING "#####-##":SA1 
2350 PRINT #1:CHR*(10);RPT*( 
,75) ; £HR* (10) 

2360 YY=ZEL1+EI1+SA1 
2370 PRINT #1:TAB(5);"GESAMT 
STEUERPFL.UMSATZ";TAB(41);" 
DM";TAB(46);:: PRINT #1,USIN 

G "######.##":Y 

2380 PRINT #1:TAB(59);"U/ST. 
=";TAB(68);:: PRINT #1,USING 
"#####.##":YY :: PRINT #1:C 
HR*(10) 

2390 PRINT #1:TAB(5);"BEZAHL 
TE VORSTEUER";TAB(59);"DM... 
= ";TAB(67);:: PRINT #1,USIN 
G "######.##":CL 
2400 PRINT #1:CHR*(10);RPT*( 
"-",75);CHR*(10) 

2410 DISPLAY AT(6,1)ERASE AL 
L:"ENDZAHLEN":"FUER DAS";" " 
;A*;"5"QUARTAL" 


» 


39 








2420 DISPLAY AT(9,1):"GESAMT 

UMSATZ.: " : : DISPLAY AT 

(9,20):USING "######.##":Y 
2430 DISPLAY AT(11,1):"U/STE 

UER SÜLL.:":"BEZAHLTE VO 

RSTEUER:" 

2440 DISPLAY AT(11,20):USING 
"######.##» : YY :: DISPLAY A 
T(12,20)rUSING "######.##":C 
L :: ZY=YY—CL :: DISPLAY AT( 

13,20) : "-" 

2450 IF YY>CL THEN TEXT*="U/ 
STEUER SCHULD...:" 

2460 IF YY<CL THEN TEXT*="U/ 

ST. GUTHABEN.: " 

2470 IF YY=CL THEN TEXT*="U/ 

ST. AUSGLEICH_: " 

2480 PRINT #1:TAB<5); TEXTET 
AB(59);"DM...=";TAB(67);:: P 
RINT #1,USING "######.##":ZY 
2490 PRINT #1:CHR*(10);RPT$( 
"=",75);CHRT(12) 

2500 DISPLAY AT(14,1):TEXT£ 

:: DISPLAY AT(14,20):USING " 

######.##":ZY 

2510 CLÜSE #1 :: END 

2520 IF CL>FZF THEN 2530 :: 

IF CL<FZF THEN 2540 :: IF CL 

=FZF THEN 2550 

2530 PRINT # 1 : "UMSATZ STEUER- 

GUTHABEN. 

. . .=DM :" :: GOTO 2560 

2540 PRINT #1: "UMSATZ STEUER- 

NACHZAHLUNG. 

.=DM :" :: GOTO 2560 

2550 PRINT #1:"UMSATZ STEUER 
AUSGLEICH" 

2560 RETURN 


L 

I 

S 

T 

I 

N 

G 

S 


»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 und überträgt 
dem Verlag das Copyright! 

Alle in dieser Zeitschrift 
veröffentlichten Beitrage sind 
urheberrechtlich geschützt. 
Jedwede Verwertung ist unter¬ 
sagt. 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. 


10 

i 

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

11 

i 

* 

MONATLICHE UMSATZ- 

* 

12 

i 

* 

STEUER-VORANMELDUNG* 

13 

i 

* 


* 

14 

i 

* 

Copyright by 

* 

15 

i 

* 


* 

16 

i 

* 

Jens Eckho-ft 

* 

17 

i 

* 


* 

19 

; 

* 

Benoetigte Geraete 

* 

20 

i 

* 

TI99/4A Konsole 

* 

21 

i 

* 

Ext. Basic 

* 

22 

i 

* 

32K—Erweiterung 

* 

23 

i 

* 

Di sk—Lau-f wer k 

* 

24 

i 

* 

Drucker 

* 

25 

i 

* 


* 

26 

i 

* 

Speicherbelegung 

* 

27 

i 

* 

11222 Bytes 

* 

28 

i 

* 


* 

29 

i 

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

100 

CALL CLEAR 



110 DISPLAY AT (1 , 1): "U/Steue 
r Voranmeldung": :"programmi 
ert sind St.Saetze von 7 u.l 
4 7 ." : : "ein weiterer St.Satz 

kann-gewaehlt werden" 

120 DISPLAY AT (8, 1 ): "Neuer S 
teuersatz (7.)?": "nein,dann 0 
eingeben" 

130 ACCEPT AT(9,24)BEEP:SATZ 
140 DISPLAY AT(13,1) : "sind I 

hre Umsatz-Zahlen": N 

ETTO":"oder BRUTTO ?": :"net 

to =1 brutto=2" :: ACCEPT AT 
(18,20)BEEP:NB 

150 DISPLAY AT(24,1 ) :"aender 
n J/N" 

160 CALL KEY (0,K,S):: IF S=0 
THEN 160 :: IF K=74 THEN 10 
0 :: IF K=78 THEN 170 ELSE 1 
60 

170 DISPLAY AT(1,13)ERASE AL 
L:"1986" 

180 DISPLAY AT<2,8):"UMSATZ¬ 
STEUER " : ".VORANMELDU 

NG" 

190 OPEN #1:"RS232.LF" 

200 IMAGE #####.## 

210 PRINT #1:CHR*(27);"E";CH 
R*(14);TAB(14);"UMSATZ-STEUE 
R 1986 " ; CHRrt (20) ; CHR4"- (10) 

220 PRINT #1:CHR*(27);"F" 

230 PRINT #1:CHR$(15);CHR*(1 
4);TAB(20);"VORANMELDUNG" 

240 FOR DELAY=1 TO 100 :: NE 
XT DELAY 

250 DISPLAY AT(5,8):"MONAT" 
260 ACCEPT AT(5,14)BEEP:A$ 
270 DISPLAY AT(18,1)BEEP:"ae 
ndern J/N" 

280 CALL KEY(0,K,S):: IF S=0 
THEN 280 :: IF K=74 THEN 26 
0 :: IF K=78 THEN 290 ELSE 2 
80 


40 












290 PRINT #1:CHR*<27);"F";CH 
RS (18);CHR*(20);TAB(43);"MQN 
AT: ";A$;CHR$ <10);CHR$(10) 

300 IF NB=1 THEN 340 

310 DISPLAY AT(3,1)ERASE ALL 

: "BRUTTO-ERLGESE: H zu.. 77." 

: "zu 147." : : IF SATZ>0 THEN 
DISPLAY AT (7,1) : "zu" ; SATZ; "7. 

II 

320 ACCEPT AT(5,11)BEEPr P7 : 

: ACCEPT AT(6,11)BEEP:P14 :: 

IF SATZ>0 THEN ACCEPT AT<7, 
11)BEEP:PSATZ ELSE 330 
330 N7=INT((P7* 100+.5)/107*1 
00)/100 :: NI4=INT((PI4*100+ 

.5)/I14*100)/100 :: NSATZ=IN 
T( (PSATZ*100+- 5) /(100+SATZ)* 
100)/100 

340 DISPLAY AT<1,9)ERASE ALL 
:"NETTO-ERLOES" 

350 DISPLAY AT(2,11):"GLATTE 
DM" 

360 IF A=1 THEN 390 

370 PRINT #1:"NETTO-ERLGESE" 

;TAB(50);"ST.NR.!*!*!*!*!*!" 
;CHR$(10) 

300 PRINT #ls"-" 

;CHR*(10) 

390 DISPLAY AT(5,4) : "77."; TAB 
(13); "147." :: IF SATZ>0 THEN 
DISPLAY AT(5,22) :SATZ; "7." 
400 IF NB=2 THEN 420 
410 ACCEPT AT(7,2)VALIDATE(D 
IGIT)BEEP:N7 :: DISPLAY AT(7 
,2):USING "#####":N7 :: GOTO 
430 

420 DISPLAY AT(7,2)sUSING "# 
####":N7 :: GOTO 440 
430 ACCEPT AT(7,11)BEEP VALI 
DATE(DIGIT):N14 :: DISPLAY A 
T <7,11)sUSING "#####"2 NI4 :: 
GOTO 450 

440 DISPLAY AT(7,11):USING " 
#####»:N14 :: GOTO 460 
450 IF SATZ>0 THEN ACCEPT AT 
(7,21)BEEP VALIDATE(DIGIT) :N 
SATZ :: DISPLAY AT(7,21):USI 
NG "#####":NSATZ :: GOTO 470 
460 IF SATZ>0 THEN DISPLAY A 
T(7,21):USING "#####":NSATZ 
470 GN=N7+N14+NSATZ 
480 DISPLAY AT(8,2):"- 


490 DISPLAY AT(9,1):"ERLOES 
";A*;" =DM" :: DISPLAY AT(9, 
18) :USING "######":GN :: DIS 
PLAY AT(10,1):"Netto.-! ohne 
U/Steuer" 

500 CALL KEY(0,K,S) 

510 DISPLAY AT(14,1):"aender 
n J/N" 

520 IF N7>0 OR N14>0 THEN A= 
1 


L 

I 

S 

T 

I 

N 

G 

S 


530 CALL KEY(0,K,S): s IF S=0 
THEN 530 :: IF K=78 THEN 55 
0 .. xf K=74 THEN 540 ELSE 5 
30 

540 IF NB=2 THEN 310 ELSE 41 
0 

550 DISPLAY AT(14,1):"" :: P 
RINT #1: TAB (17) ; "77."; TAB (40) 
;"147." :: IF SATZ>0 THEN PRI 
NT #1: TAB (62) ; SATZ; "7." 

560 PRINT #1:CHR*(10) 

570 PRINT #1:TAB(15);:: PRIN 

T #1,USING "#####":N7;:: PRI 

NT #1:TAB(38);:: PRINT #1,US 

ING "#####":N14 

580 IF SATZ>0 THEN PRINT #1: 

TAB(60);:: PRINT #1,USING "# 

####":NSATZ 

590 PRINT #1:CHR*(10) 

600 PRINT #1:TAB(15); - 

— " ; TAB (38) ; "-" == IF 

SATZ>0 THEN PRINT #1:TAB(60 

); "-" 

610 PRINT #1:CHR$(10);CHR$(1 
0>;CHR*(10) 

620 PRINT #1:"GESAMT NETTO = 

";TAB(20);:: PRINT #1,USING 
»######":GN :: PRINT #1:CHR$ 
(10);RPT$(" = ",28);CHR$(10) ;C 
HR$(10);CHR$(10) 

630 DISPLAY AT(15,6):"BEZ.VO 
RSTEUER" :: DISPLAY AT(17,6) 

:"FUER ";A$ 

640 ACCEPT AT(17,20)VALIDATE 
(DIGIT,".")BEEP:GV 
650 DISPLAY AT(17,20):USING 
"#####.##":GV 

660 DISPLAY AT(24,1):"aender 
n J/N" 

670 CALL KEY(0,K,S):s IF S=0 
THEN 670 :: IF K=78 THEN 68 
0 :: IF K=74 THEN 640 
680 PRINT #1: "BEZAHLTE";CHR* 

(10);"VORSTEUER-="5 TAB(29 

);:: PRINT #1,USING "######. 
##":GV 

690 PRINT #1:CHR^(10);RPT^(" 
=",28);CHR$(10),CHR^(10) 

700 DISPLAY AT(1,2)ERASE ALL 
:"ERRECHNUNG U/STEUER":“ - 


710 DISPLAY AT(3,2):"ERLOES" 
720 DISPLAY AT(5,3):"NETTO.. 
. 77. =DM" : : DISPLAY AT(5,18) 
:USING "######.:N7 
730 U7=((N7/100)*7) 

740 DISPLAY AT(6,3):"+ U/ST. 
" :: DISPLAY AT(6,19):USING 
"#####.##":U7 

750 DISPLAY AT(7,3):"- 


760 B7=N7+U7 

770 DISPLAY AT(8,3):"BRUTTO. SW 


41 












-77. =DM" :: DISPLAY AT (8, IS) 
sUSING "######. ##":B7 
780 DISPLAY AT(11,3):"NETTO. 
.147. =DM" :: DISPLAY AT (11,1 
8) :USING "######.##":NI4 
790 U14=((N14/100)*14) 

800 DISPLAY AT(12,3):"+ U/ST 
. H :: DISPLAY AT(12,19):USIN 
G "#####.##":U14 
810 DISPLAY AT(13,3):RPT$ ( " — 
" , 24) 

820 B14=N14+U14 
830 DISPLAY AT(14,3)s"BRUTT0 
147. =DM" s: DISPLAY AT(14,1 
8):USING "######.##"sB14 
840 IF SATZ=0 THEN 910 
850 DISPLAY AT(17,3):"NETTO 
";SATZ;"7 =DM" :: DISPLAY AT 

(17.18) sUSING "######.##":NS 
ATZ 

860 USATZ=((NSATZ/100)*SATZ) 
870 DISPLAY AT(18,3):" + U/ST 
." :: DISPLAY AT(18,19):USIN 
G "#####.##":USATZ 
880 DISPLAY AT(19,3):RPT$ ( " — 
11 ,24) 

890 BSATZ=NSATZ+USATZ 

900 DISPLAY AT(20,3):"BRUTTO 

";SATZ;"7 =DM" :: DISPLAY AT 

(20.18) :USING "######.##"sBS 
ATZ 

910 DISPLAY AT(24,1)BEEP:"<W 
>eiter" 

920 CALL KEY(0,K,S):: IF S=0 
THEN 920 :: IF K=87 THEN 93 
0 ELSE 920 

930 DISPLAY AT(2,1)ERASE ALL 
:"ERRECHNUNG U/STEUER":"- 


940 DISPLAY AT(5,2):"BEZ.VOR 
ST. ..=DM" s: DISPLAY AT(5,2 
0):USING "######.##";GV 
950 DISPLAY AT(8,2)s"U/ST. 7 
7. :" s: DISPLAY AT(8,14):USI 
NG "#####.##":U7 
960 DISPLAY AT(10,2):"U/ST.1 
47. ss DISPLAY AT(10,14)sU 
SING "#####.##"sU14 
970 IF SATZ=0 THEN 990 
980 DISPLAY AT(12,2)s"U/ST." 
; SATZ; "V.z " ss DISPLAY AT(12, 
14):USING "#####.##";USATZ 
990 GU=U7+U14+USATZ ss H=GV- 
GU 

1000 DISPLAY AT(15,2):"U/ST. 
ZU BEZ. =DM" :s DISPLAY AT(1 

5,20)s USING "######.##":GU 
1010 DISPLAY AT(16,2):RPT$(" 
-",27) 

1020 IF GV<GU THEN 1050 ss I 
F GV=GU THEN 1070 ELSE 1030 
1030 DISPLAY AT(17,2)s"GUTHA 
BEN.=DM" ss DISPLAY AT ( 1 


L 

I 

S 

T 

I 

N 

G 

S 


7,20)s USING "######.##"sH 
1040 GOTO 1080 

1050 DISPLAY AT(17,2)s"NACHZ 
AHLUNG..=DM" ss DISPLAY AT(1 

7,20)s USING "######.##"sH 
1060 GOTO 1080 

1070 DISPLAY AT(17,2) s "«AUSGL 

EICH-=DM" ss DISPLAY AT(1 

7,20)s USING "#####.##"sH 
1080 PRINT #ls"ERRECHNUNG U/ 
STEUERs ERLOESE (OHNE PRIVAT 
ENTN.)" ss PRINT #lsCHR$(10) 
;"====================";CHR$ 

(10) 

1090 PRINT #1 s TAB (17) ; "77." ;T 
AB (40) ; "147." ss IF SATZ>0 TH 
EN PRINT #1 sTAB (62) ; SATZ; "7." 
1100 PRINT #lsCHR$(10);"NETT 
O..DM“;TAB(15);s: PRINT #1,U 
SING "#####.##"sN7 
1110 PRINT #1s TAB(38);s s PRI 
NT #1 , US ING "#####. ##"sN14 
1120 IF SATZ>0 THEN PRINT #1 
s TAB(60);s s PRINT #1,USING " 
#####.##":NSATZ 
1130 PRINT #lsCHR*(10)ss PRI 
NT #ls"+ U/ST.DM";TAB(14) ; s s 
PRINT #1,USING "#####.##"sU 
7 

1140 PRINT #1sTAB(38);ss PRI 
NT #1,USING "#####.##"sU14 s 
s IF SATZ=0 THEN 1160 
1150 PRINT #1sTAB(60);ss PRI 
NT #1,USING "#####.##"sUSATZ 
1160 PRINT #lsCHR*(10);RPT$( 

"-",22) ; TAB (38) ; "---" 

ss IF SATZ>0 THEN PRINT #lsT 

AB (60) ; "-";CHRS(10)EL 

SE PRINT #lsCHR$(10) 

1170 PRINT #1:"BRUTTO DM";TA 
B(13);s: PRINT #1,USING "### 
###.##"sB7 ss PRINT #1sTAB(3 
7);ss PRINT #1,USING "###### 
.##"s B14 

1180 IF SATZ=0 THEN 1200 
1190 PRINT #1sTAB(59);s; PRI 
NT #1,USING "######.##"sBSAT 
Z 

1200 PRINT #lsCHR*(10);RPT$( 
"=" ,22) ; TAB (38) ; " ========= •• 

1210 IF SATZ>0 THEN PRINT #1 
s TAB( 60 );"========"; CHRS ( 10 ) 

;CHR$(10)ELSE PRINT #1;CHR4:( 
10);CHR$(10) 

1220 PRINT #1s"BEZAHLTE VORS 

TEUER.. 

. . . -=DM s" ss PRINT #1s TA 

B(57);s s PRINT #1,USING "### 
##.##"sGV 

1230 PRINT #lsCHR$(10)ss PRI 
NT #ls "U/STEUER ZU BEZ. 77. 
=DM :";TAB(33);:: PRINT #1,U 
SING "#####.##":U7 


42 









1240 PRINT #1:CHR*(10);"U/ST 
EUER ZU BEZ. 147. =DM : " ; TAB ( 
34);:: PRINT #1,USING "##### 

.##":U14 

1250 IF SATZ=0 THEN 1270 
1260 PRINT #1:CHR*(10);"U/ST 
EUER ZU BEZ. "; SATZ; "7. =DM s " 

;TAB(34);:: PRINT #1,USING M 
#####.##":USATZ 
1270 PRINT #1:TAB(57);:: PRI 
NT #1,USING "#####-##":GU 
1280 PRINT #1:CHR*(10) 

1290 PRINT #1:TAB(55);"- 

-";CHR*(10) 

1300 GOSUB 2170 
1310 PRINT #1:TAB(56);:: PRI 
NT #1,USING "######.## M :H 
1320 PRINT #1:CHR$(10);TAB(5 
6 );"==========";CHRT(10) 

1330 IF GV>GU THEN H*="U/ST. 
GUTHABEN=DM:" 

1340 IF GV<GU THEN H$="U/ST. 
SCHULD..=DM:" 

1350 IF GV=GU THEN H$="AUSGL 
EICH-=DM: " 

1360 DISPLAY AT(1,1)ERASE AL 
L:HT :: DISPLAY AT(1,19):USI 
NG "#####-##":H 
1370 MM=H+ZZ :: YY=FII+GU :: 

FH=F+II :: ZFL=ZF+LL 
1380 DISPLAY AT(2,1):"PRIVAT 
":"Entn.zu 77" 

1390 ACCEPT AT(3,14)BEEP:I 
1400 DISPLAY AT(3,13):USING 
»#####.##":I :: IF SATZ=0 TH 
EN 1420 

1410 DISPLAY AT(4,1):"Entn.z 
u 11 5 SATZ; "7." :: ACCEPT AT(4,1 
4)BEEP:L4 :: DISPLAY AT(4,13 
):USING "#####.##":L4 
1420 DISPLAY AT( 6 ,1):"Priv. 
Entn.zu 147." : "Waren " : "Kfz . Pr 
iv.":"Kosten Priv." :: ACCEP 
T AT(7,13)BEEP:L1 :: DISPLAY 
AT(7,13):USING "#####.##":L 

1 

1430 ACCEPT AT(8,13)BEEP:L2 
:: DISPLAY AT(8,13):USING "# 
####.##":L2 :: ACCEPT AT(9,1 
3)BEEP:L3 :: DISPLAY AT(9,13 
):USING "#####.##":L3 
1440 L5=(L1+L2+L3):: LL=L5/1 
00*14 :: I1=(I/100*7):: L14= 
L4/100*SATZ 

1450 DISPLAY AT(11,1):"Ges.z 
u 147." :: DISPLAY AT(11,13): 
USING "#####.##":L5 :: DISPL 
AY AT(13,1):"Ges.Entn-=“ 

1460 DISPLAY AT(13,13):USING 
••#####_ ##" ; I+L5+L4 
1470 DISPLAY AT(15,1):"U/St. 

77" :: DISPLAY AT(15,14):US 
ING *’####.##": II 


1480 DISPLAY AT(16,1):"U/St. 
147." :: DISPLAY AT(16,14):US 
ING "####.##":LL 
1490 IF SATZ>0 THEN DISPLAY 
AT (17,1) : "U/St. " ; SATZ; "7." : : 

DISPLAY AT(17,13):USING "## 
###.##":L14 
1500 ZZ=II+LL+L14 
1510 M=H-ZZ 

1520 DISPLAY AT(18,18):"- 

-"Ges.U/St.Priv." :: D 

ISPLAY AT(19,19):USING "#### 
#.##":ZZ 

1530 DISPLAY AT(24,1):"aende 
rn J/N" 

1540 CALL KEY(0,K,S):: IF S= 
0 THEN 1540 :: IF K=74 THEN 
1380 :: IF K=78 THEN 1550 EL 
SE 1540 

1550 IF SATZ=0 THEN RÜW=21 E 
LSE RGW=22 

1560 DISPLAY AT(ROW,17):"- 


1570 IF ZZ >H THEN H1*="U/ST. 
SCHULD" 

1580 IF ZZCH THEN H1*="U/ST. 
GUTH." 

1590 IF ZZ=H THEN H1*="AUSGL 
EICH" 

1600 IF SATZ=0 THEN R02-22 E 
LSE R02=23 

1610 DISPLAY AT(RÜ2,1):H1$ : 

; DISPLAY AT(RG2,19):USING " 
#####.##" :M 

1620 PRINT #1:CHR*(10);"ERRE 
CHNUNG U/STEUER: (MIT PRIVAT 
)" :: PRINT #1:CHR$(10);"=== 
=================";CHRT(10) 

1630 GOSUB 2170 
1640 PRINT #1:TAB(57);:: PRI 
NT #1,USING :: 

PRINT #1:CHR*(10) 

1650 PRINT # 1 :"PRIV.ENTN. 77 

";CHR*(10);" WAREN-DM:" :: 

PRINT #1:TAB(20);:: PRINT # 
1,USING "#####.##"=1 
1660 PRINT #1:TAB(30);"=U/ST 
.DM:" :: PRINT #1:TAB(40);:: 

PRINT #1,USING "#####.##":I 
I PRINT #1:CHR*(10) 

1670 PRINT #1:"PRIV.ENTN-147 
";CHR$(10);" WAREN...DM:" =: 

PRINT #1:TAB(20);:: PRINT # 
1,USING "#####.##":LI 
1680 PRINT #1:CHR$(10);“ KFZ 
.ANT.DM:" :: PRINT # 1 :TAB(20 
);:: PRINT #1,USING "#####-# 
#”:L2 :: PRINT #1:CHR$(10) 
1690 PRINT #1:" KOSTEN..DM:" 

;TAB(20);:: PRINT #1,USING 
#####.##":L3 

1700 PRINT #1:TAB(30);"=U/Si 
.DM:" :: PRINT #1:TAB(40);:: 


L 

I 

S 

T 

I 

N 

G 

S 








•jS*s 


PRINT #1,USING "#####. ##":L 
L :: IF SATZ=0 THEN 1730 
1710 PRINT #1:CHR*(10);"PRIV 
- ENTN. " ; SATZ; "7."; CHR* (10);" 
WAREN DM:";TAB(20);:: PRINT 
#1,USING "#####.##":L4 
1720 PRINT #1:TAB(30);"=U/ST 
-DM:" :: PRINT #1:TAB(40): 

PRINT #1,USING "#####.##":L 
14 

1730 PRINT #1:TAB(49) ; "=DM : 

M 

1740 PRINT #1:TAB(57);:: PRI 
NT #1 ,USING "#####.##":ZZ : : 
PRINT #1:CHR*(10) 

1750 PRINT #1:TAB(55);"- 

-CHR*(10) 

1760 IF H>0 THEN IF ZZ>H THE 
N 1770 :: IF H>0 THEN IF ZZ< 
H THEN 1790 :: IF H<0 THEN I 
F ZZ>0 THEN 1810 
1770 PRINT #1:"UMSATZ STEUER 

SCHULD. 

- . . =DM :" 

1780 PRINT #1:TAB(57);:: PRI 
NT #1,USING "#####.##":M :: 
GOTO 1830 

1790 PRINT #1:"UMSATZ STEUER 

GUTHABEN . 

.... =DM :" 

1800 PRINT #1:TAB(57);:: PRI 
NT #1 ,USING "#####.##":M :: 
GOTO 1830 

1810 PRINT #1:"UMSATZ STEUER 

SCHULD. 

. . . =DM :" 

1820 PRINT #1:TAB(57);:: PRI 
NT #1,USING "#####.##":M :: 
GOTO 1830 

1830 PRINT #1:CHR*(10);TAB(5 
6 ) ; " ========== ; CHR* (10); CHR 

*( 10 ) 

1840 PRINT #1: "UMSATZ 147. (OH 
NE PRIVAT) =DM:" :: PRINT #1 
:TAB(30);:: PRINT #1,USING " 
######.##":N14 :: PRINT #1:C 
HR*(10) 

1850 PRINT #1:TAB(17);"PRIVA 
T.-=DM:" :: PRINT #1:TAB(30) 
PRINT #1,USING "######.# 
# “ s L5 

1860 ZEL=N14+L5 :: EI=N7+I : 

: GSATZ=NSATZ+L4 :: Y=EI+ZEL 
+GSATZ :: ZEL1=INT((ZEL*100+ 

- 5)/100*14)/100 :: EI1 = INT(( 
EI* 100 +.5)/ 1 00*7 )/100 
1870 SA1=INT((GSATZ*100+.5)/ 
100*SATZ)/100 

1880 PRINT #1:TAB(40);"=DM : 

" :: PRINT #1:TAB(46);:: PRI 
NT #1,USING "######.##":ZEL 
:: PRINT #1:TAB(59);"U/ST.=" 
1890 PRINT #1:TAB( 68 );: : PRI 


L 

I 

S 

T 

I 

N 

G 

S 


NT #1,USING "#####.##":ZEL1 
1900 PRINT #1:CHR*(10) 

1910 PRINT #1: "UMSATZ 77. (0H 
NE PRIVAT) =DM:" :: PRINT #1 
:TAB(30);:: PRINT #1,USING " 
######. ##»:N7 :: .PRINT #1:CH 
R*(10) 

1920 PRINT #1:TAB(17);"PRIVA 
T..=DM:" :: PRINT #1:TAB(30) 
PRINT #1,USING "######.# 

#": I 

1930 PRINT #1:TAB(40);"=DM : 
" :: PRINT #1:TAB(46);:: PRI 
NT #1,USING "######.##":EI : 

: PRINT #1:TAB (59 );"U/ST- = " 
1940 PRINT #1:TAB( 68 );:: PRI 
NT #1,USING "#####.##":EI1 : 

: PRINT #1:CHR*(10) 

1950 IF SATZ=0 THEN 2000 
1960 PRINT #1:"UMSATZ";SATZ; 
"7. (OHNE PRIVAT) =DM: " :: PRI 
NT #1:TAB(30); : : PRINT #1,US 
ING "######.##":NSATZ :: PRI 
NT #1:CHR*(10) 

1970 PRINT #1:TAB(17);"PRIVA 
T..=DM:" :: PRINT #1:TAB(30) 
;:: PRINT #1,USING "######.# 
#":L4 :: PRINT #1:TAB(40);"= 
DM : " 

1980 PRINT #1:TAB(46);:: PRI 
NT #1,USING "######.##":GSAT 
Z :: PRINT #1:TAB(59);"U/ST. 

_II 


1990 PRINT #1:TAB( 68 );;: PRI 
NT #1,USING "#####.##":SA1 
2000 PRINT #1:CHR*(10);RPT*( 
,75);CHR*(10) 

2010 YY=ZEL1+EI1+SA1 
2020 PRINT #1:TAB(5);"GESAMT 
STEUERPFL.UMSATZ";TAB(41);" 
DM";TAB(46);:: PRINT #1,USIN 
G "######.##":Y 
2030 PRINT #1:TAB(59);"U/ST. 
=";TAB(68 );:: PRINT #1,USING 
"#####.##":YY :: PRINT #1:C 
HR*(10) 

2040 PRINT #1:TAB(5);"BEZAHL 
TE VORSTEUER";TAB(59);"DM 
= ";TAB(67);:: PRINT #1,USIN 
G "######.##":GV 
2050 PRINT #1:CHR*(10);RPT*( 
"-"^S) ; CHR* (10) 

2060 DISPLAY AT(6,1)ERASE AL 
L: "ENDZAHLEN":"FUER DAS";" " 
;A*;"QUARTAL" 

2070 DISPLAY AT(9,1):"GESAMT 

UMSATZ.: " :: DISPLAY AT 

(9,20):USING "######.##":Y 
2080 DISPLAY AT(11,1):"U/STE 

UER SOLI-"BEZAHLTE VO 

RSTEUER:" 

2090 DISPLAY AT(11,20):USING 
"######.;YY :: DISPLAY A 


44 









T(12,20)sUSING "######.##":G 
V :: ZY=YY—GV :: DISPLAY AT( 

13,20) :"-" 

2100 IF YY>GV THEN TEXT*="U/ 
STEUER SCHULD- 

2110 IF YY<GV THEN TEXT$="U/ 

ST. GUTHABEN.s " 

2120 IF YY=GV THEN TEXT*="U/ 

ST-AUSGLEICH-s " 

2130 PRINT #1:TAB(5);TEXT$;T 
AB(59);"DMTAB(67) ; : : P 
RINT #1, US ING "######-## H sZY 
2140 PRINT #1:CHR$(10);RPT$( 
" = " ,75) ; CHR* (12) 

2150 DISPLAY AT(14,1):TEXT$ 

:: DISPLAY AT(14,20):USING " 

######.##":ZY 

2160 CLOSE #1 :: END 

2170 IF GV>GU THEN 2180 :: I 

F GV<GU THEN 2190 :: IF GV=G 

U THEN 2200 

2180 PRINT #1:"UMSATZ STEUER 

GUTHABEN. 

. . .=DM :" :: GOTO 2210 

2190 PRINT #1:"UMSATZ STEUER 

NACHZAHLUNG. 

.=DM :" :: GOTO 2210 

2200 PRINT #1:"UMSATZ STEUER 
AUSGLEICH" 

2210 RETURN 


L 

I 

S 

T 

I 

N 

G 

S 


Msndanten-Nr. 


KASSE 

19_Kto.-Nr-Blatt-Nf. 


10 

i 

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

11 

i 

* 


* 

12 

i 

* 

KASSENBUCH 

* 

13 

i 

* 


* 

14 

i 

* 

Copyright by 

* 

15 

i 

* 


* 

16 

i 

* 

Jens Eckho-f-f 

* 

17 

i 

* 


* 

19 

; 

* Benoetigte Geraete 

* 

20 

i 

* 

TI99/4A Konsole 

* 

21 

i 

* 

Ext- Basic 

* 

22 

i 

* 

32K—Erweiterung 

* 

23 

i 

* 

Di skettenlau-fw. 

* 

24 

i 

* 

Drucker 

* 

25 

i 

* 


* 

26 

i 

* 

Speicherbelegung 

* 

27 

i 

* 

11701 Bytes 

* 

28 

; 

* 


* 

29 

| 

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

60 

i 

** 

in Zeile 310,1490 

u 

2270 

Jahreszahl !!! ** 


70 

i 

** 

in Zeilen 1760—1920 


and 2360-2620 Konten nach Ko 
ntenplan einrichten ** 

80 ! ** U/ST-Satz beachten(G 
OSUB 2640/2650/2660) ** 

90 ! ** in Zeilen 300 u. 172 
0 Namen, bzw. Firmennamen ei 
nsetzen ** 

100 DISPLAY AT(5,1)BEEP ERAS 
E ALL:"KASSENBUCH": :"Drucke 
r klar ?": :"Daten Disk.eing 

elegt": :"Alpha Lock gedruec 
kt! J/N" 

110 CALL KEY(0,K,S):: IF S=0 
THEN 110 :: IF K=74 THEN 12 
0 ELSE 110 

120 DISPLAY AT(7,1)BEEP ERAS 
E ALL:"Neue Daten eingeben ? 

1": :"Daten einiesen?. 

.2" :: ACCEPT AT(9,27)BEEP:D 
AT 

130 IF DAT=1 THEN 160 ELSE 1 
40 

140 OPEN. #10: "DSK1. VORT/KASS 

E " ,INTERNAL,INPUT 

150 INPUT #10:Z,Y :: CLOSE # 

10 :: GOTO 160 

160 OPEN #1:"RS232.LF" 

170 IMAGE #####-## 

180 S1^=RPT^("-",80):: S3$=R 
PW-", 18): s S2$=RPT$("*",6 
1):: S4$=RPT$<"*", 38) : : 1 = 1 
:: ZEI=0 :: SEITE=1 :: SATZ= 
0 

190 DISPLAY AT(1,1)ERASE ALL 
:"KASSENBUCH MONAT:" 

200 PRINT #1:CHR*(27>;"D";CH 
RS (6);CHR$(12);CHR*(27);CHR^ 
(39);CHR^(53);CHR^(63);CHR$( 
72);CHR^(0) 

210 ACCEPT AT(1,19)VALIDATE( 
UALPHA)BEEP:A$ 


1 » 


45 















220 H,AUS,SUMME7,SUMME14,EIN 
=0 :: ES2$="" 

230 IF DAT=2 THEN DISPLAY AT 
(3,1):"Letzter Saldo..-:";Z: 
"Letzte Beleg Nr :";Y 
240 DISPLAY AT( 6 ,1):"Program 
miert sind":"U/St-Saetze 0 7 
u. 147.": "Weiterer U/St. Satz 
?,dann" : "St. Satz V. eingeben" 
250 DISPLAY AT(10,1):"(wenn 
nicht<0>eingeben):"Der Ei 
ngangstext":"<TAGESKASSE>,wi 
rd auch als..Sammel-Text ged 
ruckt" 

260 DISPLAY AT(16,1):"Sonst 
wird <GESAMT>":"ausgedruckt" 
270 ACCEPT AT(10,25)BEEP:SAT 
Z :: IF DAT=2 THEN 300 
280 DISPLAY AT(3,1)s"Letzter 
Saldo...:" :: ACCEPT AT(3,1 
9) BEEP: Z :: DISPLAY -AT (3,1 9) 

:USING "#####.##":Z 
290 DISPLAY AT(4,1):"Letzte 
Beleg Nr.:" :: ACCEPT AT(4,1 
9)BEEP:Y 

300 PRINT #1:"HIER EIGENEN N 

AMEN.";S4$;CHR$(10) : : ZE 

I=ZEI+1 

310 PRINT #1:CHR$(14);"KASSE 
NBUCH..";A$;TAB(27);"1986 *" 
;CHR$(20);" SALDO:";TAB(41); 
:: PRINT #1,USING "#####.##" 
: Z 

320 PRINT #1:CHR$(20) 

330 PRINT #1:CHR$(10);CHR$(1 
3);S2$;CHR$(10);CHR$(10):: Z 
EI=ZEI+3 

340 PRINT #1: "TAG";CHR*(9) ; " 
NR.";CHR$(9);"TEXT";CHR$(9); 
"NST-U/ST";CHR$ (9);"EINZ.BET 
R.";CHR$(9);"EIN";CHR$(9);"A 
US";CHR$(9);"SALDO" 

350 PRINT #1:CHR$(10):: ZEI= 
ZEI + 1 

360 PRINT # 1: S1 $;CHR$(10);CH 
R$(13):: ZEI=ZEI+1 
370 PRINT #1:CHR$<27);"D";CH 
R*<5);CHR$(12);CHR$(28); CHR* 
( 0 ) 

380 Y=Y+1 :: F,M,NM=0 
390 F,M,NM,C,D,SATZ1,B=0 :: 
DISPLAY AT(2,1)ERASE ALL:"NE 
UE BELEG NR.: "; Y 
400 DISPLAY AT(3,1):"LETZTES 
DATUM:";L;" ";"ZEILE=";ZEI 
410 DISPLAY AT(4,1):"LETZTER 
SALDO :" :: DISPLAY AT(4,17 
):USING "#####.##":Z 
420 DISPLAY AT(24,1):"EIN=1; 
AUS=2;ENDE=3" 

430 CALL KEY(0,K,S):: IF S=0 
THEN 430 :: IF K=49 THEN 46 
0 :: IF K=50 THEN 1270 :: IF 


L 

I 

S 

T 

I 

N 

G 

S 


K=51 THEN 1470 ELSE 430 
440 GOTO 460 
450 Z=Z—B 

460 DISPLAY AT(6,1)BEEP:"EIN 

GANG:":"-" : "TAG ?: " 

470 ACCEPT AT(8,8)VALIDATE<D 
IGIT)SIZE(2)BEEP: L 
480 DISPLAY AT(11,1):"bei Te 
xt <TAGESKASSE> wird":"dies 
als Sammelbez.gedruckt,sonst 
GESAMT": : "U/ST. -frei :":"MI 

T..77._: " : "MIT 147._:" 

490 DISPLAY AT(9,1):"TEXT :" 

:: ACCEPT AT(9,8)BEEP:B$ 

500 IF SATZ<=0 THEN 510 ELSE 
DISPLAY AT(18,1):"MIT ";SAT 
Z; "7.. . : " 

510 E^="NST" :: El*="77." :: 
E2T=" 147." 

520 ACCEPT AT(15,17)BEEP VAL 
IDATE(DIGIT,B :: DISPLA 
Y AT(15,17):USING "#####.##" 
:B :: IF B>0 THEN 700 ELSE 5 
30 

530 ACCEPT AT(16,17)BEEP VAL 
IDATE(DIGIT,".">:C 
540 DISPLAY AT(16,17):USING 
"#####.##":C 

550 ACCEPT AT(17,17)BEEP VAL 
IDATE(DIGIT,"."):D 
560 DISPLAY AT(17,17):USING 
"#####.##":D 

570 Z=Z+(B+C+D):: ZC=ZC+C :: 
ZD=ZD+D 

580 IF SATZ >0 THEN GOSUB 267 
0 

590 DISPLAY AT(20,5):"NEUER 
SALDO :" :: DISPLAY AT(20,20 
):USING "#####.##":Z 
600 DISPLAY AT(24,1)BEEP:"AE 
NDERUNG J/N" 

610 CALL KEY(0,K,S):: IF S=0 
THEN 610 :: IF K=74 THEN 63 
0 :: IF K=78 THEN 650 ELSE 6 
10 

620 GOTO 650 

630 Z=Z-(B+C+D+SATZ1):: ZSAT 
Z=ZSATZ—SATZ1 :: ZC=ZC-C :: 
ZD=ZD—D :: GOTO 460 
640 GOTO 460 

650 IF B>0 THEN 700 ELSE 660 
660 IF C>0 THEN 860 ELSE 670 
670 IF C=0 AND D>0 THEN 1010 
ELSE 680 

680 IF C=0 AND(D=0) + (SATZ 1>0 
)THEN 1120 
690 GOTO 730 

700 DISPLAY AT(16,17):"0" :: 
DISPLAY AT(17,17):"0" :: IF 
SATZ>0 THEN DISPLAY AT(18,1 
7):"0" ELSE 710 
710 Z=Z+B :: DISPLAY AT(24,1 
):"AENDERUNG J/N" 


46 






720 CALL KEY(0,K,S):: IF S=0 
THEN 720 :: IF K=74 THEN 45 
0 .. ip k=78 THEN 730 ELSE 7 
20 

730 PRINT #1:L;CHR$(9);Y;CHR 
$(9);B$;CHR$(9); E* 

740 PRINT #1:TAB(51);:: PRIN 
T #1, US ING »#####. ##": B; : : P 
RINT #1sTAB(70);:: PRINT #1, 
USING "#####.##"sZ 
750 PRINT #1:CHR$(10):: ZEI= 
ZEI + 1 

760 DISPLAY AT(24,1)BEEP:"JE 
TZT IN ORDNUNG ? J/N" 

770 CALL KEY(0,K,S):: IF S=0 
THEN 770 :: IF K=78 THEN 81 
0 :: IF K=74 THEN 780 
780 H=H+B :: EIN=EIN+B 
790 GOSUB 2200 
800 GOTO 380 
810 Z=Z—B :: EIN=EIN—B 
820 GOSUB 2200 
830 PRINT #1:"VORSTEHENDE EI 
NTRAGUNG GELOESCHT, BITTE ST 
REICHEN!";CHR$(10):: ZEI=ZEI 
+1 

840 GOSUB 2200 
850 GOTO 460 

860 PRINT #1:L;CHR$(9);"";CH 
R$(9);B$;CHR$(9);E1$ 

870 PRINT #1:TAB(39);:: PRIN 
T #1,USING "#####-##":C 
880 PRINT #1:CHR*<10):: ZEI= 
ZEI + 1 

890 GOSUB 2200 

900 IF D>0 THEN 1010 

910 IF C>0 AND(D=0) +(SATZ 1=0 

)THEN 930 

920 IF D=0 AND SATZ1>0 THEN 
1120 ELSE 1180 

930 DISPLAY AT(24,1)BEEP:"JE 
TZT IN ORDNUNG ? J/N" 

940 CALL KEY(0,K,S):: IF S=0 
THEN 940 :: IF K=74 THEN 10 
00 :s IF K=78 THEN 960 
950 GOTO 32767 
960 Z=Z-C 

970 PRINT #1:"VORSTEHENDE EI 
NTRAGUNG GELOESCHT ! BITTE S 
TREICHEN !"sCHR*(10)rs ZEI=Z 
EI + 1 

980 GOSUB 2200 
990 GOTO 460 

1000 IF D=0 AND SATZ1=0 THEN 
1180 

1010 PRINT #1:L;CHR$(9);" M ;C 
HR$(9);B*;CHR*(9);E2$ 

1020 PRINT #1sTAB(39);ss PRI 
NT #1,USING "#####.##":D 
1030 PRINT #lsCHR*(10):: ZEI 
=ZEI+1 

1040 GOSUB 2200 

1050 IF SATZ1>0 THEN 1120 EL 


L 

I 

S 

T 

I 

N 

G 

S 


SE 1060 

1060 DISPLAY AT(24,1)BEEP:"J 
ETZT IN ORDNUNG ? J/N" 

1070 CALL KEY(0,K,S):s IF S= 

0 THEN 1070 :: IF K=78 THEN 
1080 :: IF K=74 THEN 1110 EL 
SE 1070 

1080 Z=Z—(C+D):: PRINT #1:"V 
ORSTEHENDE EINTRAGUNG GELOES 
CHT ! BITTE STREICHEN !";CHR 
$(10):: ZEI=ZEI+1 
1090 GOSUB 2200 
1100 GOTO 390 

1110 IF SATZ 1=0 THEN F=C+D : 

: EIN=EIN+F :: ZD=ZD+D :: ZC 
=ZC+C :: GOTO 1190 ELSE 1120 
1120 PRINT #1:L;CHR$(9);;C 
HR$(9);B$;CHR$(9);SATZ;"X" : 

: PRINT #1:TAB(39);s: PRINT 
#1,USING "#####.##":SATZ1 
1130 PRINT #1:CHR$(10):: ZEI 
=ZE I +1 :: GOSUB 2200 
1140 DISPLAY AT(24,1)BEEP:"J 
ETZT IN ORDNUNG ? J/N" 

1150 CALL KEY(0,K,S):: IF S= 

0 THEN 1150 :: IF K=78 THEN 
1160 :: IF K=74 THEN 1180 EL 
SE 1150 

1160 Z=Z—(C+D+SATZ1):: PRINT 
# 1 :"VORSTEHENDE EINTRAGUNG 
GELOESCHT ! BITTE STREICHEN 
! ";CHR$(10):: ZEI=ZEI + 1 :: G 
OSUB 2200 
1170 GOTO 390 

1180 F=C+D+SATZ1 :: EIN=EIN+ 
F 

1190 IF B$<>"TAGESKASSE" THE 
N 1220 

1200 PRINT #1:L;CHR*(9);Y;" 

>> TAGESKASSE VÖM";L;". GESA 

MT »" 

1210 GOTO 1230 

1220 PRINT #1:L;CHR$(9>;Y;"> 
> "-"GESAMT VOM "sL;". »" 
1230 PRINT #1:TAB(51);:: PRI 
NT #1,USING "#####-##":F;:: 
PRINT #1:TAB(70);:: PRINT #1 
,USING "#####.##":Z 
1240 PRINT #1:CHR^(10):: ZEI 
=ZEI+1 

1250 GOSUB 2200 
1260 GOTO 380 

1270 DISPLAY AT( 6 , 1 ) AUSGAB 

E: ... ..-»: »JAG ?: " 

1280 ACCEPT AT( 8 , 8 )VALIDATE( 
DIGIT)SIZE(2)BEEP:L 
1290 DISPLAY AT(10,1):"TEXT 
:»: ;"Gegenkonto: 0" :s ACC 

EPT AT(10,8)BEEP:B$ :: ACCEP 
T AT(12,14)BEEP SIZE(-4):KT 
1300 DISPLAY AT(14,1):"BETRA 
G :" :: ACCEPT AT(14,11)VALI 
DATE(DIGIT,"-")BEEP:M 


>fr 


47 




1310 DISPLAY AT(14,11)sUSING 
"#####.##":M 
1320 Z=Z—M 

1330 DISPLAY AT(19,5):"NEUER 
• SALDO s";Z 

1340 DISPLAY AT <24,1)BEEP:"A 
ENDERUNG J/N" 

1350 CALL KEY <0,K,S):: IF S= 
0 THEN 1350 :: IF K=74 THEN 
1360 :: IF K=78 THEN 1370 
1360 Z=Z+M s: GOTO 390 
1370 PRINT #1:L;CHR*(9);Y;CH 
R*(9);B*;" Kto.";KT;CHR*(9); 

II II 

1380 PRINT #1:TAB(61);:: PRI 
NT #1,USING "#####.##":M;:: 
PRINT #1:TAB(70);:: PRINT #1 
,USING "#####.##":Z 
1390 PRINT #1:CHR*(10):: ZEI 
=ZEI+1 

1400 GOSUB 2200 

1410 DISPLAY AT(24,1)BEEP:"J 

ETZT IN ORDNUNG ? J/N" 

1420 CALL KEY(0,K,S):: IF S= 
0 THEN 1420 :: IF K=74 THEN 
1430 :: IF K=78 THEN 1440 EL 
SE 1420 

1430 AUS=AUS+M :: GOTO 2360 
1440 Z=Z+M :: PRINT #l:"VORS 
TEHENDE EINTRAGUNG GELOESCHT 
! BITTE STREICHEN !”;CHR*(1 
0):: GOTO 390 
1450 GOSUB 2200 
1460 GOTO 390 

1470 PRINT #1:CHR*(10);S1*;C 
HR*(10);CHR*(10):: ZEI=ZEI+3 
1480 GOSUB 2200 
1490 PRINT #1:"ZUSAMMENSTELL 

UNG KASSENBUCH MONAT_";A*; 

" 1986";CHR*(10) 

1500 PRINT #1:"GESAMT-EINGAN 
G =: " 

1510 PRINT #1:TAB(35);:: PRI 
NT #1,USING "#####.##"sEIN 
1520 PRINT #1sCHR*(10) 

1530 PRINT #ls"EINGANG TAGES 
KASSE 77. 

1540 PRINT #1s TAB(35);s s PRI 
NT #1,USING "#####.##":ZC 
1550 PRINT #1s CHR*(10) 

1560 PRINT #1:"EINGANG TAGES 
KASSE 147:" 

1570 PRINT #1sTAB(35) 5 :s PRI 
NT #1,USING "#####.##"sZD :: 

PRINT #1s CHR*(10) 

1580 IF SATZ=0 THEN 1610 
1590 PRINT #ls"EINGANG TAGES 
KASSE ";SATZ;"7" 

1600 PRINT #1sTAB(35);:: PRI 
NT #1,USING "#####.##":ZSATZ 
1610 PRINT #1:CHR*(10);"SONS 
T EINGAENGE OHNE U/ST :" 

1620 PRINT #1sTAB(35) 5 ss PRI 


L 

I 

S 

T 

I 

N 

G 

S 


NT #1,USING "#####.##":H 
1630 PRINT #1:CHR*(10) 

1640 PRINT #1:"AUSGABEN :" 
1650 PRINT #1sTAB(35);:: PRI 
NT #1,USING "#####.##":AUS 
1660 PRINT #1:CHR*(10) 

1670 Y=Y—1 :: PRINT #1:"LETZ 
TE BELEG NUMMER : ";Y;CHR*(1 
0 ) 

1680 PRINT #1:"LETZTER SALDO 
■ 11 

1690 PRINT #1sTAB(35);:: PRI 
NT #1,USING "#####.##":Z 
1700 OPEN #10:"DSKl.VORT/KAS 
SE",INTERNAL,OUTPUT 
1710 PRINT #10sZ,Y ss CLOSE 
#10 

1720 PRINT #1:CHR*(12) ; "**-** 
*****FIRMA*******-*" ; CHR* (10) 
1730 PRINT #1s"Zum Kassenbuc 
h Monat " ; A*; CHR* (10); " Au-f te 
ilung der Ausgaben au-f Konte 
n " ;CHR*(10);RPT*("-",34);CHR 
*(10) 

1740 PRINT #1:"Konto";TAB(13 
);"Brutto";TAB(25);"Netto";T 
AB(33);"...wenn kein Nettobe 
trag";CHR*(10) 

1750 PRINT #1:RPT*(,34);" 

keine VorSteuer";CHR*(10) 
1760 IF K112>0 THEN Z*="AN B 
ANK" ss ZZ=K112 s: ZKR=NK112 
ss GOSUB 2160 ELSE 1770 
1770 IF K4001>0 THEN Z*="400 
1" :: ZZ=K4001 :: ZKT=NK4001 
ss GOSUB 2160 ELSE 1780 
1780 IF K4002>0 THEN Z*="400 
2" ss ZZ=K4002 ss ZKT=NK4002 
ss GOSUB 2160 ELSE 1790 
1790 IF K4003>0 THEN Z*="400 
3" ss ZZ=K4002 :: ZKT=NK4003 
s: GOSUB 2160 ELSE 1800 
1800 IF K4101>0 THEN Z*="410 
1" ss ZZ=K4101 ss GOSUB 2160 
ELSE 1810 

1810 IF K4102>0 THEN Z*="410 
2" :: ZZ=K4102 :: GOSUB 2160 
ELSE 1820 

1820 IF K4103>0 THEN Z*="410 
3" ss ZZ=K4103 ss GOSUB 2160 
ELSE 1830 

1830 IF K4201>0 THEN Z*="420 
1" ss ZZ=K4201 ss ZKT=NK4201 
:: GOSUB 2160 ELSE 1840 
1840 IF K4202>0 THEN Z*="420 
2" s: ZZ=K4202 :: ZKT=NK4202 
s: GOSUB 2160 ELSE 1850 
1850 IF K4203>0 THEN Z*="420 
3" ss ZZ=K4203 s: ZKT=NK4203 
ss GOSUB 2160 ELSE 1860 
1860 IF K4401>0 THEN Z*="440 
1" ss ZZ=K4401 s: ZKT=NK4401 
s: GOSUB 2160 ELSE 1870 ^ 


48 



1870 IF K4403>0 THEN Z*="440 
3" :: ZZ=K4403 :: ZKT=NK4403 
:: GOSUB 2160 ELSE 1880 
1880 IF K4410>0 THEN Z*="441 
0" s: ZZ=K4410 :: ZKT=NK4410 
:: GOSUB 2160 ELSE 1890 
1890 IF K4411>0 THEN Z*="441 
1" :: ZZ=K4411 :: ZKT=NK4411 
:: GOSUB 2160 ELSE 1900 
1900 IF K4412>0 THEN Z*="441 
2" :: ZZ=K4412 s: ZKT=NK4412 

:: GOSUB 2160 ELSE 1910 
1910 IF K4505>0 THEN Z*="450 
5" :: ZZ=K4505 :: GOSUB 2160 
ELSE 1920 

1920 IF K4902>0 THEN Z*="490 
2” :: ZZ=K4902 :: GOSUB 2160 
ELSE 1930 

1930 IF SONST>0 THEN Z*="Son 
st." :: ZZ=SONST :: GOSUB 21 
60 

1940 PRINT #1:S3*;CHR*(10);" 
GES.";:: PRINT #1:TAB(10);:: 

PRINT #1,USING "#####-##":G 
ZZ 

1950 PRINT #1:CHR*(10);CHR*( 
10 ) ; "VORSTEUER 147. " :: PR IN 
T #1:TAB(19);:: PRINT #1,USI 
NG "#####.##":GVS14 
1960 PRINT # 1 :CHR*(10);"VORS 
TEUER.. 77. " :: PRINT #1:TAB( 
19);:: PRINT #1,USING "##### 

.##":GVS7 

1970 IF SATZ=0 THEN 1990 

1980 PRINT #1:CHR*(10);"VORS 

TEUER " ; SATZ; "V." :: PRINT #1 

:TAB(19) ; : : PRINT #1,USING " 

#####.##":GVSATZ 

1990 PRINT #1:TAB(34);GVSATZ 

+GVS14+GVS7 

2000 NZC=(INT((ZC*100+.5)/10 
7*100)>/100 =: UMS7=ZC—NZC 
2010 NZD=(INT <(ZD*100+. 5)/11 
4*100))/100 :: UMS14=ZD—NZD 
2020 NZSATZ=(INT((ZSATZ*1000 
+.5)/(SATZ+100)*100))/1000 : 

: UMSATZ=ZSATZ—NZSATZ 
2030 PRINT #1:CHR*<10);CHR*( 
10); "NETTO ERLOES 147."; TAB (2 
2);:: PRINT #1,USING "###### 
.##":NZD :: PRINT #1:TAB(35) 
; "U/ST. 147." 

2040 PRINT #1:TAB(45);:: PRI 
NT #1,USING "#####.##":UMS14 
s: PRINT #1:CHR*(10);"NETTO 
ERLOES 77." 

2050 PRINT #1:TAB(20);:: PRI 
NT #1,USING "######.##":NZC 
PRINT # 1 :TAB(35);"U/ST. 7 
7." 

2060 PRINT #1:TAB(45);:: PRI 
NT #1,USING "#####.##":UMS7 
2070 IF SATZ=0 THEN 2100 



2080 PRINT #1:CHR*(10);"NETT 
O ERLOES ";SATZ; "7."; TAB (21) ; 

:: PRINT #1,USING "######.## 

":NZSATZ :: PRINT #1:TAB(35) 

; "U/ST. " ; SATZ; "7." 

2090 PRINT #1:TAB(45);:: PRI 
NT #1,USING "#####.##":UMSAT 
Z 

2100 GN=NZC+NZD+NZSATZ :: GU 
=UMS14+UMS7+UMSATZ 
2110 PRINT #1:CHR*(10);RPT*( 
"-",54);CHR*(10) 

2120 PRINT #1:"GESAMT :" 

2130 PRINT #1:TAB(20);:: PRI 
NT #1,USING "######-##":GN : 

: PRINT #1:TAB(45);:: PRINT 
#1,USING "#####.##":GU 
2140 GOSUB 2200 
2150 CLOSE #1 :: END 
2160 PRINT #1:Z* :: PRINT #1 
:TAB(10);:: PRINT #1,USING " 
#####.##":ZZ 

2170 IF ZKT=0 THEN GZZ=GZZ+Z 
Z :: PRINT #1:CHR*(10):: RET 
URN ELSE 2180 

2180 PRINT #1:TAB(22);:: PRI 
NT #1,USING "#####.##":ZKT : 

: PRINT #1:CHR$(10):: ZKT=0 
2190 GZZ=GZZ+ZZ :: RETURN 
2200 IF ZEI=55 THEN 2220 :: 

IF ZEI=64 THEN 2250 
2210 RETURN 

2220 DISPLAY AT(2,1)ERASE AL 
L:"WENIGER ALS 3 BELEGE ? J" 

: : ACCEPT AT(2,24)BEEP VALI 
DATE("JN")SIZE(-1):QQ$ 

2230 IF QQ$="J" THEN 2250 EL 
SE 2240 
2240 RETURN 

2250 PRINT #1:CHR$(12);CHR$( 

7) 

2260 ZEI=0 :: SEITE=SEITE+1 
:: DISPLAY AT(3,2)ERASE ALL: 

"NEUE BLATT NR ";SEITE 
2270 PRINT #1:"KASSENBUCH MO 
NAT ";A$;" 1986";"- - - BLATT " 

;SEITE;CHR$(10):: ZEI=ZEI+1 
2280 PRINT #1:S1*;CHR^(10)ss 
ZEI=ZEI+1 

2290 PRINT #1:CHR^(27);"D";C 
HR$(6);CHR$(12);CHR^(27);CHR 
$(39);CHR$(53);CHR$(63);CHR^ 

(72);CHR*(0) 

2300 PRINT #1:"TAG";CHR$(9); 

"NR.";CHR$(9);"TEXT";CHR*(9) 

;"NST-U/ST";CHR*(9);"EINZ.BE 
TR. ";CHR*(9);"EIN";CHR*(9);" 

AUS";CHR*(9);"SALDO" 

2310 PRINT #1:CHR*(10);S1*;C 
HR*(10):: ZEI=ZEI+2 
2320 CALL CLEAR :: DISPLAY A 
T(2,1):"NEUE BELEG NR.:";Y 
2330 DISPLAY AT(3,1):"LETZTE 2# 


49 



S DATUM : " ; L 

2340 DISPLAY AT(4,1):"LETZTE 
R SALDO :: DISPLAY AT(4,1 
7):USING "#####.##":Z 
2350 RETURN 

2360 IF KT=4001 THEN K4001=K 
4001+M :: GOSUB 2640 ELSE 23 
80 

2370 NK4001=NK4001+NM :: GOT 
O 380 

2380 IF KT=4002 THEN K4002=K 
4002+M :: GOSUB 2640 ELSE 24 
00 

2390 NK4002=NK4002+NM s: GOT 
O 380 

2400 IF KT=4003 THEN K4003=K 
4003+M :: GOSUB 2640 ELSE 24 
20 

2410 NK4003=NK4003+NM : : GOT 
0 380 

2420 IF KT=4101 THEN. K4101=K 

4101+M :: GOTO 380 

2430 IF KT=4102 THEN K4102=K 

4102+M :: GOTO 380 

2440 IF KT=4103 THEN K4103=K 

4103+M :: GOTO 380 

2450 IF KT=4201 THEN K4201=K 

4201+M :: GOSUB 2650 ELSE 24 

70 

2460 NK4201=NK4201+NM : : GOT 
O 380 

2470 IF KT=4202 THEN K4202=K 
4202+M :: GOSUB 2640 ELSE 24 
90 

2480 NK4202=NK4202+NM :: GOT 
O 380 

2490 IF KT=4203 THEN K4203=K 
4203+M :: GOSUB 2640 ELSE 25 
10 

2500 NK4203=NK4203+NM :: GOT 
O 380 

-2510 IF KT=4302 THEN K4302=K 
4302+M :s GOTO 380 
2520 IF KT=4401 THEN K4401=K 


L 

I 

S 

T 

I 

N 

G 

S 


4401+M :: GOSUB 2640 ELSE 25 
40 

2530 NK4401=NK4401+NM :: GOT 
O 380 

2540 IF KT=4403 THEN K4403=K 

4403+M s: GOTO 380 

2550 IF KT=4410 THEN K4410=K 

4410+M :: GOSUB 2640 ELSE 25 

70 

2560 NK4410=NK4410+NM :: GOT 
O 380 

2570 IF KT=4411 THEN K4411=K 

4411+M :: GOTO 380 

2580 IF KT=4412 THEN K4412=K 

4412+M :: GOSUB 2650 ELSE 26 

00 

2590 NK4412=NK4412+NM :: GOT 
O 380 

2600 IF KT=4505 THEN K4505=K 
4505+M :: GOTO 380 
2610 IF KT=4902 THEN K4902=K 
4902+M :: GOTO 380 
2620 IF KT=112 THEN K112=K11 
2+M :: GOTO 380 
2630 SONST=SONST+M :: GOTO 3 
80 


2640 VS14=(INT <(M*100+.5)/11 
4*14))/100 :: GVS14=GVS14+VS 
14 :: NM=M—VS14 :: RETURN 
2650 VS7=(INT((M*100+.5)/107 
*7))/100 :: GVS7=GVS7+VS7 :: 

NM=M—VS7 :: RETURN 
2660 VSSATZ=(INT((M*100+.5)/ 
(SATZ+100)*SATZ))/100 :: GVS 
ATZ=GVSATZ+VSSATZ :: NM=M-VS 
SATZ :: RETURN 


2670 ACCEPT AT(18,17)BEEP VA 
LIDATE(DIGIT,".”):SATZ1 :: D 
ISPLAY AT(18,17):USING "#### 
#.##":SATZ1 

2680 Z=Z+SATZ1 :: ZSATZ=ZSAT 

Z+SATZ1 

2690 RETURN 



Spiele-Software 


Wir lassen den TI-USER nicht im Stich! 


Bücher viele Titel Na, ' 
» für denTI-Besitzer v* 


Hardware 

CPS 99, Disk-Station 

Speichererweiterungen 

Schnittstellen 

Disk-Controller 

Drucker 


■ 11 TI 99/4A-Besitzer 

Zubehör z.B. Disketten Drucker-Papier Kabel 


Software 

Professionelle 

und 


. \ " v - ***** 

; \ & 


OW£R RAM Of&K 


CPS SS 


atronic-Produkte 


FORDERN SIE DIE PREISLISTE AN! 

Der ATRON IC-Service löst (fast) alle Probleme 


direkt bei: atronic • Meiendorfer Weg 7 • 2000 Hamburg 73 • Tel. 0 40 / 6 78 93 08-09 • Tx. 2 174 031 


50 










SERVICE 


DIES UND 
DAS-FÜR 
JEDEN 
WAS: TIPS & 
TRICKS 


MODULPLATINE UND 
MODULEXPANDER 
NAVARONE _ 

Eine GROM-Simulation 
(Heiner Martin-Typ 2- 
Platine) hat die Eigenart, 
egal, auf welchem Port 
sie dort gesteckt ist, sich 
immer zu melden, auch 
wenn sie per Schalter 
nicht aktiviert ist. 

Das bedeutet, daß dann 
andere Module nicht mehr 
erreichbar sind, wenn 
eine GROM-Simulation 
am Expander gesteckt ist. 
Abhilfe schafft hier die¬ 
ser kleine Eingriff: 

Die Abschaltung des 
Signals GS, PIN 21 des 
Gromports, wird mit 
einem (öderer mehreren, 
bis zu 3 Stück) Siemens- 
DLR-Relais, also mit 
REEDRelais, realisiert. 

Es sind auch REED¬ 
Relais (1 Schalter) von 
anderen Herstellern be¬ 
nutzbar. Das Relais sollte 
für 5 Volt ausgelegt sein. 
Am PIN 21 des unteren 
Modulstecksockels wird 
GS getrennt. Dies ge¬ 
schieht zweckmäßiger¬ 
weise oben auf der 
Platme. 

Dieses Signal wird nun an 
PIN 1 des Relais gelegt 
und von PIN 7 des Relais 
an PIN 21 des Modul¬ 
stecksockels gelötet. 

Zur Zuschaltung von GS 
wird auf das Relais, PIN 
13, das Signal GRD, von 
PIN 35 und 36 des Grom¬ 
ports abzunehmen, ge¬ 
legt. 

Als Schaltspannung wird 
—5 Volt benutzt. Dieses 


Signal liegt links neben 
der unteren Schaltbahn. 

Es wird dort abgegriffen 
und auf PIN 6 des Relais 
gelegt. 

Sollten noch weitere Ports 
geschaltet werden, falls 
mehrere Simulationen 
benutzt werden, so ist für 
die obere und mittlere 
Modulposition analog zu 
verfahren. 

Eine gesonderte Stromver¬ 
sorgung für das Relais 
ist nicht erforderlich. 

Lutz Kaschke 

Anm.d.Red.: Man kann 
dazu natürlich auch einen 
einfachen weiteren Schal¬ 
ter nehmen. 


DAS BUCH ZUM 
ASSEMBLER III 


Die Fortsetzung des 
Assemblerkurses II von 
Hagera bildet der Assem¬ 
blerkurs III. Dieser Kurs 
setzt die im zweiten Kurs 
erlernten Befehle als be¬ 
kannt voraus, da er als 
Weiterführung gedacht ist 
und so den tieferen Ein¬ 
stieg in die Maschinen¬ 
sprache des TI 99/4A er¬ 
möglicht. 

Im Gegensatz zum Assem¬ 
blerkurs II, der sich haupt¬ 
sächlich auf die sicht- und 
hörbaren Bereiche der 
Maschinensprache, also 
Text, Sound und teilweise 
Grafik bezog, beschäftigt 
sich dieser Kurs haupt¬ 
sächlich mit logischen 
Instruktionen, den Be¬ 
triebsmodi des TI 99/4A 
(40 Zeichen. Bit Map, 


etc.) und der Variablen¬ 
übergabe von Basic nach 
Assembler und umge¬ 
kehrt. 

Äußer der Logik der Ma¬ 
schinensprache, welche 
im Vordergrund steht, 
beschäftigt sich dieser 
Kurs ebenfalls wieder mit 
den grafischen Möglich¬ 
keiten des TI 99. Doch 
auch bei diesen Bereichen 
steht eher die Funktions¬ 
weise dieser Modi im Vor¬ 
dergrund als das Ergeb¬ 
nis auf dem Bildschirm. 
Die grafischen Bereiche, 
mit denen sich dieser 
Kurs beschäftigt, sind 
Sprites. High Resolution 
Graphic und Multicolor 
Mode. Zum Unterschied 
zum zweiten Kurs liegt 
diesem Buch keine Dis¬ 
kette bei. Dies bedeutet 
aber nicht, daß er schlech¬ 
ter ist. Im Gegenteil: Er 
geht mehr auf die Proble¬ 
matik der Maschinenspra¬ 
che ein, so daß dieses 
Buch in einem gewissen 
Maße auch als Nachschla¬ 
gewerk zu verwenden ist. 
Ebenfalls fällt bei den 
Fragen am Ende eines je¬ 
den Kapitels auf, daß die 
Fragestellung nicht nur 
das aktuelle Kapitel be¬ 
inhaltet, sondern auch zu¬ 
rückliegende Befehle er¬ 
fordert. Beginnt man den 


Kurs näher zu betrachten, 
so stellt man fest, daß die 
Schrift verkleinert wurde 
und so der Kurs an Um¬ 
fang zugenommen hat. 
Anschließend an den zwei¬ 
ten Kurs, in dem alle 
Assemblerbefehle aufge¬ 
führt wurden, befinden 
sich in diesem Buch wieder 
eine Reihe sehr nützlicher 
Tabellen. Es werden wie¬ 
der alle Befehle aufgeführt, 
ohne Erklärung wie sie 
funktionieren, sondern ihr 
Befehlsname, ihr Maschi¬ 
nencode, das Befehlsfor¬ 
mat und welche Bits sie im 
Status Register beeinflus¬ 
sen. Eine weitere Tabelle 
gibt die Adressen der 
Assembler-Hilfsprogram¬ 
me an, an welcher sie im 
Extended Basic stehen, 
und somit anzusprechen 
sind. 

Betrachtet man den 
Assemblerkurs II von 
Hagera im gesamten, so 
bleibt zu sagen, daß er, ' 
was den Lemgehalt angeht, 
um einiges besser als der 
zweite Kurs ist. Ich kann 
ihn deswegen für etwas 
fortgeschrittene Program¬ 
mierer empfehlen, da er 
einige Punkte gut erklärt, 
welche im Editor/Assem- 
bler-Handbuch unzurei¬ 
chend verständlich sind. 

Oliver Huber 


ERROR HELP FÜR 
EX-BASIC 

Das nachfolgende Kurz- 
listing nach der Pro¬ 
grammeingabe vor dem 
ersten Lauf des Pro¬ 
grammes eingeben. Die 
Programme enthalten 
dann meistens Syntax- 
Errors am Laufmeter. 


Wird ein Fehler entdeckt, 
springt das Programm 
automatisch in die falsche 
Zeile und zwar in den 
Editiermodus. Jetzt kann 
die Zeile richtig geschrie¬ 
ben werden. Läuft das 
Programm einwandfrei, 
können die Errorzeilen 
wieder gelöscht werden. 

Heut Schönauer 


1 ON ERROR 32000 

31999 STOP 

32000 CALL ERR(A,B,C,D>:: CA 
LL INIT 

32010 print a;b;c;d 

32020 A=INT(D/256):: B=D-A*2 
56 

32030 CALL LOAD( - 31986 , 0 , 10 ) 
32040 CALL LOAD< - 31980 , A,B) 
32050 CALL LOAD( - 31931 , 1 : 
STOP 


51 




SERVICE 


KASSETTENPRO¬ 
GRAMME MIT NAMEN 


In der TI-REVUE veröf¬ 
fentlichten Sie das Pro¬ 
gramm Kassetten-Hilfe, 
welches es ermöglicht, 
Programme mit Namen 
auf Kassette zu speichern 
und wieder einzuladen, 
ohne das Programm lang 
zu suchen. Als ich es je¬ 
doch probierte, fand der 
Computer das gewünsch¬ 
te Programm nicht. Des¬ 
halb habe ich folgende 
Frage: 

Wie wird das Programm 
codiert und was müssen 


die ersten 3 Zeilen des 
geladenen Programmes ent¬ 
halten, damit der Compu¬ 
ter das Programm erkennt? 
Lothar Imcke 
Hannover 


Um die genaue Codierung 
des Programmes herauszu¬ 
finden, müssen Sie das 
Programm ‘OLD mit 
NAME ‘ folgendermaßen 
ergänzen: 

Der Code, unter dem das 
Programm auf der Kasset¬ 
te sich befindet, ist in 
der Variablen CODE$ 
gespeichert. Um den Code 
also ausgeben zu lassen, 
müssen Sie eine zusätz¬ 
liche Zeile ein fügen: 

225 PRINT CODE$ 

Durch diese Zeile wird 
der Code vor der Kasset¬ 
tenmeldung, die durch 
das R UN “CS1 “ entsteht, 
auf dem Bildschirm aus- 
gegeben. Dieser Code 
muß bei dem Programm, 
das unter diesem ‘Namen ‘ 
geladen werden soll, in 


der Variablen B$ gespei¬ 
chert werden. Die Zeile 1 
des geladenen Programms 
muß also folgenderma¬ 
ßen ausseh en: 

1 B$=“.... “, wobei anstatt 
der Punkte der Code 
stehen muß, der durch 
das Ladeprogramm erzeugt 
wurde. 


SELBSTGEBAUTE 
SPEICHERERWEITE¬ 
RUNG DEFEKT? 


Wenn ich mit meinem 
Computer und Extended 
Basic II plus arbeite, 
stürzt er öfters ab; schalte 
ich den Computer aber 
zuerst ein und schiebe das 


Modul ein, so funktioniert 
er fehlerlos. Liegt dies an 
meiner selbstgebauten 
32k Erweiterung, die ich 
in den Computer einge¬ 
baut habe? 

Dann habe ich noch ein 
Problem: 

Gebe ich in meinen Com¬ 
puter CALL FILES(l) 
ein, so bringt er die 
Fehlermeldung ‘Subpro¬ 
gramm not found*. 
Können Sie mir sagen, 
woran das liegt und was 
man dagegen machen 
kann? 

Bruno Bogenrieder, 
Weingarten 

Die Probleme, die mit 
Ihrem Extended Basic II 
plus auftreten, sind ein 
Anzeichen dafür, daß die 
Steckerleiste, in die die 
Module in den Computer 
eingesteckt werden, ver¬ 
schmutzt ist. Den Grund 
für die Verschmutzung 
stellen die Kontakte der 
Modulplatine dar. Da sie 
verzinnt sind, schabt sich 


bei jedem Modulwechsel 
etwas von den Kontakten 
ab und bleibt in der 
Steckerleiste liegen. Die¬ 
ser Zinnstaub verursacht 
dann Kurzschlüsse, die 
den Computer zum Ab¬ 
sturz bringen. Reinigen 
Sie deshalb die Stecker¬ 
leiste im Computer und 
die Kontakte an der Mo¬ 
dulplatine. Sollte dann 
noch keine Verbesserung 
auftreten, so verwenden 


Die Darstellung von Ta¬ 
bellen in jeder beliebigen, 
auf dem Bildschirm dar¬ 
stellbaren Größe ist mit 
der nachfolgenden An¬ 
weisung mit nur einem 
Zeichensatz (8 Zeichen) 
möglich. 

In diesem Beispiel wird 
der ASCII-Code der 
Zeichen 128 bis 135 
benutzt. 

100 CALL CH AR 
(128,RPT$(“80“.7)& 
“FFFF“&RPT$(“80“,7) 
&RPT$(“01 “,7)&“FFFF“ 
&RPT$(“01‘\7),132, 
RPT$(“80“.8)&RPT$ 
(“0“.14)&“FFFF“,135, 
RPT$(“01“,8)) 

Um die so definierten Zei¬ 
chen auf dem Bildschirm 
sofort sichtbar zu machen, 
benutzt man für den 
ASCII-Code 128 das 
Komma und von 129 bis 
135 die Buchstaben A bis 
G immer in Verbindung 
mit der CTRL-Taste. 

(Vgl. Bedienungsanleitung 
TI 99/4A, Seite 90). 


Anhand des Programmes 
‘Diagramm mit 54 Balken 4 
ist es möglich, 54 Werte 
zwischen 0 und 20 als 
Balken eines Diagramms 
darstellen zu lassen. Da 
das Programm übersicht¬ 
lich aufgebaut ist, kann 
man es sehr leicht für an¬ 
dere Verwendungszwecke 


Sie ein ölfreies Kontakt¬ 
spray zur Reinigung und 
entfernen Sie den Filz 
an der Steckerleiste im 
Computer, da sich der 
Zinn an ihm absetzt. 
CALL FILES ist ein Un¬ 
terprogramm, welches 
im ROM des Disk-Con¬ 
trollers ist. Daher kön¬ 
nen Sie dieses Unterpro¬ 
gramm ohne angeschlos¬ 
senen Disk-Controller 
auch nicht auf rufen. 


Waagerechte oder senk¬ 
rechte Trennlinien können 
in Normal- oder Fettdruck 
dargestellt werden. Hier¬ 
zu das nachfolgende Pro¬ 
grammbeispiel. Bitte bei 
der Eingabe beachten, 
daß mit jeder Zeichentaste 
gleichzeitig die CTRL- 
Taste betätigt werden 
muß. 


110 PRINT 

“AFFFCAFFFFFA 

FFFCFFFC“ 

120 PRINT 

“D...GD.D...G...G“ 

130 PRINT 

“,EEEB.EEEEE,EEE 

BEEEB“ 

140 PRINT 

“D...GD.G“ 

150 PRINT 

“AFFFCAFFFFFAFFF 

CFFFC“ 

160 PRINT 

“D...GD.D...G...G“ 

170 PRINT 

“AFFFCAFFFFFAFFF 

CFFFC“ 


umschreiben. Z.B.: geben 
einem die 54 Balken die 
Möglichkeit, die Goldprei¬ 
se über das ganze Jahr 
verteilt in einem Dia¬ 
gramm zu veranschauli¬ 
chen (Mittelwert des Gold¬ 
preises pro Woche ein¬ 
geben). 

G. J. M. Aresin 




Martin Hulbach 


HISTOGRAMM 
MIT 34 BALKEN 


52 







SERVICE 


10 

1 

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

11 

» 

*DIAGRAMM M. 54 BALKEN* 

13 

i 

* 

* 

14 

i 

* 

Copyright by * 

15 

! 

* 

* 

16 

i 

* 

Gatt-fried Areain * 

17 

i 

* 

* 

18 

! 

* 

Benoetigte Geraete*. * 

19 

1 

* 

TI-99/4A Konsole * 

20 

i 

* 

Ext. Basic * 

21 

i 

* 

* 

22 

i 

* 

* 

23 

i 

* 

* 

24 

1 

* 

* 

25 

1 

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

100 


CALL CLEAR 


110 CALL CHAR<128,"OOEEEEEEO 
OEEEEEE") 


120 CALL CHAR<129,"OOEOEOEOO 
OEOEOEO") 

130 CALL CHAR(130,"OOOEOEOEO 
OOEOEOE") 

140 CALL CHAR(97,"FF") 

150 CALL CHAR<93,"0701010101 
010101") 

160 CALL CHAR<99,"FF01010101 
" ) 

170 CALL CHAR<100,"FF10") 

180 CALL SCREEN(13) 

190 FOR 1=1 TO 8 

200 CALL COLOR<1,16,13) 

210 NEXT I 

220 CALL COLOR <13,12,13) 

230 CALL COLOR<9,10,13) 

240 DISPLAY AT<11,4):«DIAGRA 
MM MIT 54 BALKEN« 

250 FOR DEL-i TO 1000 :: NEX 
T DEL 

260 CALL HCHARU4,1,97,32) 
270 DISPLAY AT<16,6):"<C) G. 
ARESIN 1/86« 

280 CALL HCHARU9, 1,97,32) 
290 FOR DEL=i TO 1000 :: NEX 
T DEL 

300 DISPLAY AT<24,4) .'«LOESCH 
ENi 99 EINGEBEN!" 

310 FOR DEL=i TO 1000 :: NEX 
T DEL 

320 CALL CLEAR 
330 CALL HCHAR < 22,31,97,2) 
340 DISPLAY AT <22,3) *. "caadac 
aadacaadacaadacaadac« 

350 FOR K=0 TO 10 :: DISPLAY 
AT<2*K+i,1):USING “## n :<10- 
K)*2 :: NEXT K 


360 CALL' HCHAR <2,31,97, 2) 

370 DISPLAY AT<2,4):"aadacaa 
d acaadacaadacaadac* 

380 CALL VCHAR(2,5,98,20) 

390 CALL VCHAR <2, 32, 98, 20.) 
400 CALL HCHAR <12,6,97,26) 
410 DISPLAY AT<7,4):«a.a a a 
aaaaaaaaa” 

420 DISPLAY AT(17,4): M a a a 
aaaaaaaaa a H 
430 J , Y1, Y2, MI, MA, DI, I, K., SP= 
0 ' 

440 FOR J=0 TO 52 STEP 2 
450 DISPLAY AT<24,1):USING " 
##.":j+l :: DISPLAY AT<24,4) 
SIZE(10):"WERT o«:Yi 
460 ACCEPT AT(24,9)SIZE<-2)V 
ALIDATE(DIGIT)BEEP:Y1 
470 IF Yi=99 THEN 670 
480 IF Yl<0 OR Y1>20 THEN 46 
0 

490 CALL VCHAR<22-Yi,6+SP,12 
9, Yl) 

500 DISPLAY AT <24,1):USING " 

##.":J+2 il DISPLAY AT <24,4) 

SIZE <10):«WERT 0«:Y2 

510 ACCEPT AT <24,9)SIZE <-2)V 

ALIDATE<DIGIT)BEEP!Y2 

520 IF Y2-99 THEN 670 

530 IF Y2<0 OR Y2>20 THEN 51 

0 

540 MA*MAX<Yl,Y2) 

550 MI=MIN <Yl,Y2) 

560 DI=MA-MI 

570 CALL VCHAR<22-MI,6+SP,12 
8,MI) 

580 IF DI=0 THEN 630 

590 IF Yl>Y2 THEN 600 ELSE 6 

20 

600 CALL VCHAR <22-MI-DI,6+SP 
,129,DI) 

610 GOTO 630 

620 CALL VCHAR(22-MI-DI,6+SP 
,130,DI) 

630 SP-SP+i 

640 IF SP>26 THEN 670 

650 NEXT J 

660 GOTO 430 

670 DISPLAY AT<24,1)SIZE<19) 
BEEP:"WIEDERHOLEN 7 (3/N)« 
680 ACCEPT AT<24,16)SIZE<-1) 
: A4 

690 IF A*- n N« THEN 700 ELSE 
320 . 

700. CALL CLEAR. i i END 


53 




TEST 



b 



Wer eine Peripherie-Box besitzt und seinen TI-99 erweitern 
will, der steht heute vor der Frage: Gibt es überhaupt noch etwas? 

Das kann ganz einfach beantwortet werden: Mehr als je zuvor, und natür¬ 
lich auch zu den Originalen funktionsgleiche Karten. Eine dieser Möglich¬ 
keiten ist die Speichererweiterung von Atronic. Mit der Erweiterung als 
solches ist es nun möglich, Editor-Assembler-Programme zu erstellen und/ 
oder auszuführen. Im Extended Basic stehen einem runde 24 KBytes 
für Programme und ein zusätzlicher Speicherbereich von 13928 Bytes, der 
von Stringvariablen genutzt werden kann, zur Verfügung. Anhand dieser 
Erweiterung wird das Erstellen größerer Programme ermöglicht. 


che interne Druckerschnittstelle stellt 
die RS232/PIO-Karte der Firma 
Atronic dar. Sie vereinigt auf einer 
Karte zwei RS232 und eine Parallel- 
Schnittstelle. Eine RS232 Schnitt¬ 
stelle gibt ihre Datenbits seriell aus, 
d.h. sie werden hintereinander an 
den Drucker, bzw. das Gerät, das ge¬ 
rade mit dieser Schnittstelle ange¬ 
steuert wird, abgegeben. Diese 
Schnittstelle wird z.B. zum Anschluß 



Wer also seinen Computer um 32K- 
Bytes aufrüsten will, dem ist diese 
Erweiterungskarte durchaus zu emp¬ 
fehlen, da sie voll kompatibel zu 
allen anderen Geräten von TI ist 
und so keine Schwierigkeiten ent¬ 
stehen. Die einzige Bedingung dabei, 
man ist Besitzer einer Peripherie- 
Box. 

Will man nun diese Programme auf 
Papier bringen und besitzt noch 
keine Möglichkeit, einen Drucker an 
den Computer anzuschließen, so 


bietet die RS232/PIO Schnittstelle 
der Firma Atronic eine verhältnis¬ 
mäßig kostengünstige Alternative. 
Solche Schnittstellen gibt es für den 
TI in mehreren Ausführungen. Sie 
lassen sich aber im Wesentlichen in 
zwei Gruppen unterteilen: Die eine 
wird “intern“ genannt, da sie in die 
Peripherie-Box gesteckt wird. Die 
andere sind “extern“, da man sie 
direkt an den Input/Öutput-Port 
(der sich seitlich am Computer be¬ 
findet) des TI’s anschließt. Eine sol- 


Die drei Karten von Atronic: 


eines Akustikkopplers benötigt. 

Der Name Parallel der anderen 
Schnittstellle, die auf der Karte ent¬ 
halten ist, sagt es schon, daß die 
Datenbits parallel, also gleichzeitig, 
an die “Umwelt“ abgegeben wer- 


54 





TEST 


den. Anhand dieser zwei Schnittstel¬ 
lentypen ist es möglich, eine große 
Anzahl von Geräten an den TI an¬ 
zuschließen; so z.B.: Plotter, Druk- 
ker, Telefon Modem etc. Die RS- 
232-Schnittstellenkarte von Atro- 
nic unterscheidet sich nur in der 
Pinbelegung des Steckers der Paral- 
lel-Schnittstelle von der Original 
TI-RS232/PIO-Karte. Dies kann als 
Nachteil gewertet werden, da man 
sich gegebenenfalls ein Kabel selbst 
anfertigen muß, was nicht jeder¬ 
manns Sache ist. Sieht man jedoch 
davon ab, so ist die RS232-Schnitt- 
stellenkarte der Firma Atronic eine 
voll Tl-kompatible Erweiterung. 

Als dritte Karte wird von Atronic 
auch noch der Diskettenkontroller 
für die Peripherie-Box angeboten. 
Mit dieser Karte lassen sich bis zu 
vier Laufwerke ansteuern, also 
eines mehr als bei der Originalkarte. 


Controller auch doppelseitige Lauf¬ 
werke verarbeiten. 

Aber was nützt das schönste Lauf¬ 
werk ohne den Disk-Manager, mit 
dem es erst möglich ist, die Disket¬ 
ten zu initialisieren, um dann Pro¬ 
gramme darauf speichern zu kön¬ 
nen. Dieser Disk-Manager befindet 
sich auf einer Zusatzdiskette und 
kann einfach mit dem BefehF 
CALL MGR oder CALL MANAGER 
eingeladen und aufgerufen werden. 
Bei bestimmten Optionen ist dieser 
Disk-Manager dem originalen Disk- 
Manager von Texas-Instruments 
überlegen. 

Wie auch schon die RAM-Erweite- 
rung, und die RS232-Schnittstellen- 
karte, ist auch der Diskcontroller 
von Atronic voll mit allen Program¬ 
men kompatibel. Das schließt natür¬ 
lich auch ein, daß der Controller in 
jedem Laufwerk einseitig mit ein¬ 



Ein Blick ins Innere zeigt den sauberen 
Aufbau von RAM-Erweiterung und 
Diskcontroller. 


Auch kann der Atronic-Controller 
“doppelte Dichte“, d.h. er kann 
die Disketten mit einer höheren 
Datenrate beschreiben als der Ori¬ 
ginalkontroller, je nachdem welche 
Laufwerke man besitzt. Heutige 
Laufwerke sind aber eigentlich alle 
für doppelte Dichte geeignet. Bei 
Laufwerken, die doppelte Dichte 
und doppelseitig schreiben und 
lesen können, passen dann 360 KB 
an Daten auf eine Diskette, denn 
selbstverständlich kann der Atronic- 


facher Dichte bespielte Disketten le¬ 
sen und auch beschreiben kann. 
Jegliche Befürchtungen, man könn¬ 
te mit diesem Controller seine alten 
Disketten nicht mehr lesen, sind 
also fehl am Platz. Gerade dieser 
Controller bietet sich ja auch den¬ 
jenigen an, die schon bisher ein Dis¬ 
kettenlaufwerk haben, aber mit der 
geringen Speicherkapazität des alten 
Controllers unzufrieden sind. 

Nun könnte man leicht auf den Ge¬ 
danken kommen, daß es sich bei 
diesen Karten nur um Nachbauten 
der alten Karten von Texas-Instru¬ 
ments handelt, aber dagegen hat 
sich Atronic “etwas einfallen las¬ 
sen“. Bestimmte Karten kann man 


auch als Kombination der eben auf- 
geführten Erweiterungskarten erhal¬ 
ten, also z.B. RS232 mit RAM-Er¬ 
weiterung. Der Vorteil davon liegt 
schon im Preis, und man spart zu¬ 
sätzlich Slots in der Peripherie-Box. 
Auch gibt es die Kombination von 
Diskettenkontroller und der RAM- 
Erweiterung. Diese Karten mit 
zwei integrierten Funktionen 
kosten ca. 170,— DM weniger als 



die jeweiligen Einzelkarten. Daraus 
geht schon hervor, daß die Karten 
völlige Neukonstruktionen sind, 
sauber im Aufbau und mit einem 
stabilen Metallgehäuse versehen. 
Auch die beiliegenden Anleitungen 
lassen keine Wünsche offen, wobei 
diese natürlich beim Disk-Controller 
am umfangreichsten ist. 

Oliver Huberl / Heiko Liebald 

Preise: 3 2 KB-Erweiterung 298,- 
RS 232 Karte 298,- 
Diskcontroller 448,— 

RS 232 + RAM 428,- 
Controller + RAM 578,— 



55 







SERVICE 


CLUB¬ 

SEITE 

Der erste Club, der sich Also schreibt uns! Die 
vorstellen will, ist eine Adresse lautet: 
Neugründung in unserem TI Computer Club Baden 
Nachbarland Schweiz. 5400 Baden (Schweiz) 


Hallo TI 99-User in der 
.Schweiz. Endlich gibt es 
auch in der Region Baden 
einen Tl-Club. Wir sind 
zur Zeit nur 9 Mitglieder, 
jedoch voll ausgerüstet 
mit einer Peripherie-Box. 
Der TI COMPUTER 
CLUB BADEN soll mög¬ 
lichst alle Anwender an¬ 
sprechen. Unsere Inter¬ 
essen sind Programmier¬ 
sprachen, Technik und 
Aufbau des Systems, 
Probleme miteinander zu 
lösen und vieles mehr. 

Wir treffen uns regelmä¬ 
ßig jede gerade Woche des 
Kalenders an einem Don¬ 
nerstag im Restaurant 
Post in Ennetbaden. Dort 
haben wir eine komplette 
Anlage, auf der wir Pro¬ 
gramme vorführen usw. 
Wir sind ein aufgewecktes 
Team und freuen uns auf 
weitere Mitglieder. Wir 
wollen auch Kontakt zu 
anderen Tl-Clubs haben. 


Unsere zweite Meldung 
heute kommt aus Mün¬ 
chen, wo sich ein Work¬ 
shop für den TI 99/4A 
gebildet hat: 

Wer hätte das gedacht, 
seit September ’83 wird 
der kleine TI 99 nicht 
mehr hergestellt, und 
trotzdem sprießen aus 
allen Ecken neue TI 99 
Gemeinschaften heraus. 

So auch jetzt in München. 
Hier haben wir seit etwa 
3 Monaten den TI-WORK- 
SHOP MÜNCHEN ge¬ 
gründet und befinden uns 
bereits nicht mehr im 
Status nascendi. 

Dieser Workshop zeichnet 
sich vor allem dadurch 
aus, daß er kein Club ist 
und daher nichts kostet. 
Wir haben überhaupt kei¬ 
ne kommerziellen Ab¬ 
sichten. Schriftführer oder 
1. 2. 3. Vorsitzende etc. 
gibt es bei uns nicht. 

So kann man hier, ohne 


irgendwelche Beiträge o.ä. 
zu bezahlen, Probleme 
behandeln und Ratschlä¬ 
ge austauschen. 

Fast alle Sprachen werden 
programmiert, vom ein¬ 
fachen Basic bis zum 
UCSD Pascal. 

Auf dem Gebiet der 
Hardware ist bei uns 
auch einiges los, vom 
Eprommer mit Spezial¬ 
erweiterung bis zur Spei¬ 
cherkarte wird hier alles 
gebaut. 

Durch diese Ungebunden¬ 
heit aufgrund des Fehlens 
irgendwelcher Clubgeset¬ 
ze erhält unser TI 
WORKSHOP in München 
ein besonderes Flair und 
es macht daher großen 
Spaß. 

Mittlerweile sind wir 
schon etwa 25 Leute aus 
München und Umgebung, 
und wir nehmen an, daß 


die Zahl bald erheblich 
steigen wird. 

Wir freuen un§ auf jedes 
neue Gesicht, egal ob man 
viel weiß oder meint, 
noch nicht ganz so fit zu 
sein. Bei uns sind alle 
Kategorien willkommen. 
Als Kontaktperson steht 
Euch zur Verfügung: 

Peter Henkel 
Narzissenweg 12 
8000 München 21 
Er gibt Euch Auskunft, 
wann und wo wir uns 
treffen usw. 

Also dann bis bald: 

TI WORKSHOP 
MÜNCHEN 

Das war' es dann schon 
wieder einmal für heute. 

In der Sommerzeit 
scheinen wohl auch die 
Aktivitäten der Clubs 
etwas weniger zu 
werden. 


UHR X 4! 


Dieses Uhrenprogramm 
ist eine Programmstudie, 
welche erweiterungs-, ver- 
einfachungs- und verbes¬ 
serungsfähig ist. Aber als 
Studie bietet sie eine 
Menge Anregungen. 

Programm 1: 

Uhr am Bildschirm 

Mit diesem Programm 
kann man auf dem Bild¬ 
schirm alle Zeitdaten 
darstellen. Die Genauig¬ 
keit entspricht jedoch 


nicht der einer Quarzuhr. 
Verbessern kann man die 
Ganggenauigkeit durch 
Verändern der Zahl 122 
in der Zeile 250. Gestar¬ 
tet wird die Uhr durch 
die Minuteneingabe. 

Programm 2: 
Quarzgenauigkeit 

Löscht man in der Zeile 
250 vom Beginn bis ein¬ 
schließlich Rufzeichen, 
wirkt die ‘UNTEN‘-Bewe- 
gung des Joysticks Nr. 1 


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 

Graphic Tableau 


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

Fordern Sie unsere kostenlose Preisliste an. 



Software 

Mini Memory 198,- 

Editor Assembler 165,- 

Assembler-Kurs II 79,90 

Tl-Writer (deutsch) 259,- 

Basic Compiler 98,- 

ID-Data 69,- 

ID-Konto 69,- 

Term. Emulator II 85,- 

Spiele ab 20,- 


Programm-Service 


GmbH 


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


56 






TIPS & TRICKS 


wie eine Sekundenein¬ 
gabe. An die betreffen¬ 
den Kontakte kann man 
über ein Relais oder über 
einen Optokoppler.Se¬ 
kundenpulse einer Quarz¬ 
uhr oder einer Quarz¬ 
schaltung einspeisen (dies 
entspricht den Anschlüs¬ 
sen 7 und 8 am Joystick¬ 
eingang des TI). 


Programm 3: 

DCF-77 Uhranzeige 

Hier werden in der glei¬ 
chen Weise die hochge¬ 
nauen amtlichen Impulse 
zur Uhranzeige verwendet 
(enthält jedoch nicht 
selbständige Datenein¬ 
stellung!). f=77,5 kHz. 

Da aber in diesem Fall 


die 59. Sekunde nicht aus¬ 
gestrahlt wird, muß man 
in der 280. Zeile die Zahl 
60 in 59 abändern. 

Programm 4: 
France-Inter-Uhranzeige 

Auf der Frequenz 163,84 
kHz wird nicht nur das 
Rundfunkprogramm aus¬ 
gestrahlt, sondern in ei¬ 


ner Art Schmalstband- 
FM die Uhrzeit nach der 
DCF-77-Norm. Auch hier 
gibt es die genannte Ein¬ 
speisungsmöglichkeit. 

Ich hoffe, mit diesem 4- 
fach-Programm den Elek¬ 
tronik- und Computer¬ 
fans einige Anregungen 
gegeben zu haben. 

Gottfried J. M. Ave sin 


10 ! 

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

280 IF S=60 THEN £ 

=0 : : 1=1+ 

11 ! 

* * 

1 


12 ! 

* 1. UHR * 

290 IF 1=60 THEN I 

=0 : : H=H+ 

13 ! 

* 2. QUARZ-UHR-ANZ. * 

1 


14 ! 

* 3. DCF 77-UHR-ANZ. * 

300 IF H=24 THEN H=0 :: W=W+ 

15 ! 

* 4. FRANCE-INTER- * 

l :: t=t + i 


16 ! 

* UHR-ANZ. * 

310 IF T=32 THEN T 

=1 :: m=m+ 

17 ! 

* * 

1 


18 ! 

* COPYRIGHT BY * 

320 IF M=13 THEN M=1 :: J=J+ 

19 ! 

* GOTTFRIED ARESIN * 

1 


20 ! 

* * 

330 IF W=8 THEN W= 

l 

21 ! 

* BENOETIGTE GERAETE * 

340 DISPLAY AT(6,18) : USING " 

22 ! 

* TI-99/4A KONSOLE * 

##":s 


23 ! 

* EXT. BASIC * 

350 DISPLAY AT(6,14)SIZE<2) : 

24 ! 

* OPT. JOYSTICK (1) * 

USING "## M :i 


25 ! 

* * 

360 DISPLAY AT(6,10>SIZE(2) : 

26 ! 

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

USING 


27 ! 


370 ON W GOSUB 400,410,420,4 

100 

CALL CLEAR : : CALL SCREE 

30,440,450,460 :: 

(10,11):w* 

DISPLAY AT 

N(13):: for i«0 TO 12 :: cal 

380 ON W GOSUB 470,480,490,5 

L C0L0R(I, 16, 1) : : NEXT I 

00,510,520,530,540,550,560,5 

110 

INPUT -jahr: ":j 

70,580 :: DISPLAY 

AT(14,7) IT 

120 

INPUT "MONAT (1-12): " : M 

|M*| J 


130 

IF MCI OR M>12 THEN 120 

390 GOTO 240 


140 

INPUT "KAL.-TAG (1-31): 

400 W$="MONTAG" :: 

RETURN 

":t 


410 W$="DIENSTAG- 

:: RETURN 

150 

IF T<1 OR T>31 THEN 140 

420 W$="MITTWOCH " 

:: RETURN 

160 

INPUT -WOCHENTAG (1-7): 

430 W*="DONNERSTAG" :: RETUR 

":w 

170 

IF W<1 OR W>7 THEN 160 

N 

440 W$="FREITAG“ 

: RETURN 

180 

INPUT "STUNDE (0-23): *: 

450 W*="SAMSTAG" 

: RETURN 

H 


460 W$="SONNTAG" 

: RETURN 

190 

IF H<0 OR H>23 THEN 180 ‘ 

470 M$= H JANUAR“ : 

RETURN 

200 

INPUT "MINUTE (0-59): ": 

480 M$="FEBRUAR" 

: RETURN 

I 


490 M*="MAERZ“ :: 

RETURN 

210 

IF I<0 OR I>59 THEN 200 

500 M$="APRiL" :: 

RETURN 

220 

CALL CLEAR 

510 M$=-MAI" :: RETURN 

230 

S=0 

520 M$="JUNI" :: RETURN 

240 

CALL JOYST(1,X,Y) 

530 M$="JULI” :: RETURN 

250 

FOR X=i TO 122 :: NEXT X 

540 M$=“AUGUST" : 

RETURN 

• • 

• ■ 

GOTO 260 :: iIF Y=-4 THE 

550 M$="SEPTEMBER 

’ :: RETURN 

N 260 ELSE 240 

560 M$=”OKTOBER" 

: RETURN 

260 

CALL SOUND(50,1000,0) 

570 M$=“NOVEMBER" 

:: RETURN 

270 

S=S + 1 

580 M$="DEZEMBER" 

:: RETURN 


57 








BÖRSE 


***TI99/4A*** *Super **** 
Wer will mit mir Programme 
tauschen (Ti. u. Ex.) Einfach 
Postkarte an: M. Schenk, 
Rosenweg 4, 7107 Bad Fried¬ 
richshall und es kommen bald 
die Infos von M. Schenk ins 
Haus! Adresse nicht vergessen! 


Suche Disckontroller für 
original TI-Laufwerk PHP 
1250 im Tausch gegen Parsec, 
235 Progr., 2 Joysticks im 
Wert von nicht weniger als 
200 DM. Meldet euch bei: 
Manfred Schneider; Nunkir- 
cherstr. 42 a; 6648 Wadcrn- 
Büschfcld; Tel. 06874/6705 


Verkaufe TI99/4A mit ITT 
Rec. u. Kabel und extended 
Basic für DM 350,-Tel. 
06251 /3375, Henning ver¬ 
langen 


Verkaufe 

PHILIPS TP 200 Grünmoni¬ 
tor m. superscharfem Bild 1 
Jahr alt mit Anschlußkabel 
an TI 190,- 

2 TEAC FD 55 B Sliml. Lauf- 
w. halb. Strom DSSD neu je 
280,— ggf. Anschlußk. zu 
Selbstkost Parsec 30,— DISK- 
Man. II 70,— Datenrec. mot. 
gesteuert 40,— 

Suche 

Tl-Calc auch leihweise Kosten 
werden voll erstattet +Beloh. 
Modulexpander max. 70,— 
Billig od. Dcfektmodulc sowie 
Konsole z. Ausschlachtcn 
30,-Tel.: 07240/7668 


Verk.: Radix Miniassembler 
mit Anwendersoftw. 95,—/ 
Alien Add. Multipl., Minus 
Miss, je 10,— Car Wars 30,—/ 
Soaeer 38,— Mini Memory 
mit Editor Assemb. Hand¬ 
buch 145,— alles VB! 
Michael Kugelmann 06127- 

5652 


** K&G SOFT PRESENTS** 
Bollershipp mit Titelmelodie 
Peter Gun DM 10,— Race 
Peser-Sie müssen den Rasen 
mühen DM 10,— Andere 
Softw. schon ab 50 Pf! 
Michael Kugelmann Tel. 
06127-5652 


** K&G SOFT PRESENTS** 
Haben Sie eine Programmidee 
und wissen nicht, wie man 
diese programmiert? Wir ma¬ 
chen Ihnen das! Rufen Sic an, 
ehe Sie verzweifeln. Michael 
Kugelmann / 06127-5652 

Suche Controller für TI-99 
intern oder extern, evtl, 
zusammen mit Laufwerk. 
Angebote an Thomas Klein, 
Cornelissenstr. 4, 4100 Duis¬ 
burg 11, Tel. 0203/598127 


2 TI 99/4A + Extras + 2 
Rec-Kabel + Software + 

2 Bücher + 9 Kassetten zu 
verk. VB 700,-06753/5120 
ab 1 7 Uhr 


Suche: Defekte Ti-Konsolen 
und 1 x TMS 9929 A 
Kurt Bansemir, Wilhelmstr. 8 
6452 Hainburg-Hainstadt 
Tel. 06182/68531 ab 18 Uhr 


Achtung TI-Freaks! Kosten¬ 
lose Kleinanzeigen für Privat 
+ Gewerbe jetzt auch im 
Clubreport des Dietzenbacher 
Computerclubs. Info, Ange¬ 
bote oder gesuchtes an den 
Computerclub Dietzenbach z. 
Hd. Peter Flick, Rosenwegen 
33, 6057 Dietzenbach. 
Abteilung Anzeigen für TI-99 


Suche Mini-Ass.-Freaks aus 
Nah + Fern zwecks Programm- 
+ Erfahrungsaustausch. Mel¬ 
det Euch bald bei Peter Flick 
Rosenweg 33, 6057 Dietzen¬ 
bach 1, Telefon 06074-319 77 
(ab 1 7 Uhr) Kennwort = 
MINI-ASS * TI-99/4A* 

Computerclub Dietzenbach 
Spezialisten für den TI+ 

ATARI** 


Computerclub sucht noch 
Material wie z.B. Hardw. 
Bauanl. aus eigener Idee, 
Kleinanzeigentips u.v.a. für 
den Clubreport. Jeder, der 
Material schickt, bekommt 
ein Gratisbuch nach der 
Fertigstellung: Info beim 
CCD, z.Hd. Peter Flick, 
Rosenweg 33, 6057 Dietzen¬ 
bach 1. 


Suche Module sowie Hard¬ 
ware. Kostenlose Weitergabe 
an Clubmitglieder des Dielzen¬ 
bacher Computerclubs. Ange¬ 
bote an den Computerclub 
Dietzenbach, z.Hd. Peter 
Flick, Rosenweg 33, 6057 
Dietzenbach 1 * TI-99/4A** 


Verk. TI 99/4A + 6 Module 
u.a. Ex.-Basic, Schach, 
Video-Games, Othello, Mind- 
Challang. Casetten mit üb. 
160 Listing Div. Bücher Ex.- 
Bas. Tips + Tricks, 14 TI- 
Revue, 2 TI-Sp. Service-Un- 
terl. + Rec.-Kabel VB DM 
490,-Tel. 04222/2472 


Verk. TI99/4A-Ext.-Bas. + 
Datenrek. mit Kabel 350 DM, 
Module: Schach 50,—, Bu- 
chungsj. 60,— Datenverw., 
Statistik, Videogames je 
40,—, orig. Tl-Cassetten: 
Finanzberater, Oldies bul 
Goldies, TI + Ext. Lernprog. 
je 15 ,-TI-Joysticks 2fach 
45,—, div. Literatur 
06893/1553 J. Peter 


Großes Gewinnspiel beim 
Computerclub Dietzenbach. 

* Wer bastelt die beste Hard¬ 
ware für den TI-99/4A? 

Große Gewinne winken! 

Nicht versäumen, der Schnell¬ 
ste hat die größten Chancen, 
aber alle werden berücksich¬ 
tigt. Info bei Peter Flick, 
Rosenweg 33, 6057 Dietzen¬ 
bach 


Verkaufe: TI 99/4A Konsole 
+ Ext. Basic mit DTSC. Hand¬ 
buch + 2 Joyst. + Recorder- 
Kabel + 6 TI-Revue + div. 
Listings (alles wenig gebraucht) 
Preis: DM 550,- 
Jörg Wohsmann, Am Großen 
Dern 80, 4 Düsseldorf 1 2 


NEULING 

sucht alles Defekte oder Übrig¬ 
gebliebene für TI 99/4A gegen 
Rückerstattung der Porto¬ 
kosten. Bitte senden an: 
Dittmar Arnold, Siriusweg 12B 
7000 Stuttgart 80 


Verk. T199/4A + 6 Module 
u.a. Ex.-Basic, Schach, Video- 
Games, Othello, Mind-Chal- 
lang. Casetten mit üb. 160 List. 
Div. Bücher Ex.-Bas. Tips & 
Tricks, 14 TI-Revue, 2 TI-Sp. 
Scrvice-Unterl. + Rec.-Kabel 
V. DM 490,- Tel.: 04222/ 
2472 


*TextvcrarbcitungsprogTamm* 
auf Kassette: nur EXBAS. + 
32k + Drucker notw./durch 
horizon. Scrolling bis zu 1 28 
Zeichen pro Zeile / mit deut¬ 
schen Umlauten / komforta¬ 
ble Formatierung / NUR 
DM 70 / bei: Lothar Krauß, 
Tel. 0561/887129 


*Verkaufc: Speech-S.: 85 DM* 
*Datenwaltung: 33 DM, Joy¬ 
stick-Adapter: 15 DM, Basic- 
lehrgang: 15 dm********** 
*Handbuchdt: 25 DM ang.** 
*30 DM, Büchcr-Hefte: 20** 
*DM Otello: 15 DM, Plus +** 
♦Minus 20 DM ** Tel. 07621 / 
84508****************** 
Den Abdruck kostenloser 
Anzeigen Vorbehalten müssen, 
insbesondere wenn deren In¬ 
halt nicht Tl-typisch ist oder 
gegen geltendes Recht ver¬ 
stößt. Private Chiffreanzeigen 
werden nicht aufgenommen. 
Für Privatanbietcr: maximal 
acht Zeilen 

Name: Lehmann, Vorname: 
Sascha, Straße: Jahnstr. 9 
(PLZ) Ort: Lörrach, Tel.: 
07621/84508 


Schüler sucht günstig!! 

Ext. Basic und V24 Schnittst. 
Angebote an: Elmar Krüger, 
Bühlhof 6, FMA 02, 

7542 Schömberg 


Verk. 99/4A + XB + MM + 
E/A-Paket m. deutsch. Handb. 
+ ext. Floppy-Cqptr. mit 3 
Drive. + ext. 32k in kl. Par. 
Schnittst. + Softw. (ID-PLOT, 
ID-DATA, ID3D) + 99 Spec. 
I+II + TI 99-4A Intern. Unter 
sFR. 1000,-Tel. (CH) 058/ 
813556 

07—08 Uhr Hr. Strub verlang. 


Suche: verschiedene Module 
für TI 99/4A, u.a. Schach, 
LOGO, Mini Memory. Bin 14 
Jahre alt, Schüler. Tel. 
08458/2767 ab 18.00 Uhr. 
Klaus Ucbersczig. 


VERKAUFE F. Tl-MODULE 
Ext. Bas. 120DM, Ed. Ass. 

110 DM, Minimem. 110 DM, 
Diskfix. 90 DM, Sup.-dup. 90 
DM, D.manager II 70 DM, 
Dat.verw. & An. 40 DM, 
Statistik 40 DM, Vid. games I 
20 DM, Househ. Budget 30 
DM, Earlylearn. 20 DM, 3-fach 
M. Exp. 80 DM; Verp. 3 DM 
Nachn o. Scheck 
W. Schmidt, Heimchenweg 80, 
6230 Frankfurt 80, 069/ 
306671 


P-Box, 1 Disk, 

Controler 800 DM 
32K-RAM 200 DM 
Interfac 200 DM 
P-Code Karte mit Soft¬ 
ware 600 DM 
GP-100A 200 DM 
Epson 2x40 Track 
in Gehäuse 300 DM 
Specchsyn. 80 DM 
1x40 Track 120 DM 
TI 99 /4A 150 DM 
Gram-Modul, Disks, Manuals, 
Dreierstecker 600 DM 
Joysticks 20 DM 
Monitorkab. 10 DM 
Druckerkab. 40 DM 
X-Basic 150 DM 
Volker Küsters 
Tel. 0202/735309 


Verkaufe zwei neuwertige 
Module mit deutscher Bedie¬ 
nungsführung und deutschem 
Handbuch: Statistik, 40 DM 
und Buchun'gsjournal, 60 DM. 
Thomas Klein, Cornelissenstr. 
4, 4100 Duisburg 11, Tel. 
0203/598127 


Verkaufe im TOP-Zustand: 


TI99/4A . 180,- 

Exp.-Box 250,- 

2 x RS 232 250,- 

Slimline Floppy 300,— 

Ext.-Bas. nur 120,— 

Mini-Mem.nur 150,— 

Spielmodule je 25,— 

E-A-Handbuch nur 30,— 

u. Zubehör, 

Kompl.-Preis VB 1300,— 


Holgcr Kruse, 4030 Ratingen, 
Sanddornweg 5, Tel. 02102/ 
444935 


58 































BÖRSE 


Verk. Studentische Arbeit: 
Einführung i.d. Grundlagen 
von Bit-Map-Mode-Grafik in 
TMS-9900-Assembler, 30 
Seiten, 46,— DM. Info gegen 
Rückumschlag Robert Hundt, 
Am Bogen 2, 8012 Otto- 
brunn 089/6092989 


Verkaufe orig. XBasic neu 
150, PE II 40, Diskfixer 
Modul 50. MBI-RS232- 
Interface 50, Reckabel 10, 
Alpiner, Invaders, Poub- 
stone je 20, Dig Dug, Defen- 
der, Donkey Kong je 15, 
Wumpus 10, alle Adventures 
f. Modul je 10 o. kompl. 

80 (alle orig.). Alien Add. 
f. 1. Anruf gratis 069/783480 

Verkaufe folgende neuwertige 
Peripherie: 

Extended Basic (amer.) 120 


Konsole . 80 

Modul „moon Patrol“ 25 

Modul „MASH“ 25 

Modul „Return to P.I.“ 30 

Modul „Microsurgeon“ 30 

Modul „Parsec“ 20 

Modul „Munch Man“ 20 

Modul „Alpiner“ 20 

Modul „Star Trek“ 30 

Adventure Modul mit 
allen 11 Cassetten 80 

ca. 50 Cassetten (besp.) 45 

Modul „TI Invaders“ 20 

Joystick Adapter 10 

Neuwertiger Rekorder 
mit Kabel statt 
180 NUR 80 

div. Bücher und Zeit¬ 
schriften sehr günstig 
abzugeben. 


Alle Preise in DM und ohne 
Versandkosten. Bei Abnahme 
größerer Mengen Rabatt 
möglich. Tel. 04202/81279 
ab 15 Uhr/Volker Niemeyer. 


Suche Drucker/Thermodruk- 
ker für TI99-4A, Angebote 
an Martin Luckas, Schulstr.14 
5980 Werdohl 


Verk. Speech Editor Sprach- 
Modul Preis: 55 DM, Verk. 
neues deutsches Buch TI- 
Basic/Extended Basic 325 S 
für 35 DM 

Suche Mini-Memory Modul 
Suche Bücher über Assembler 
(auch engl.) Tel. 04554/6396 

TI99/4A Textverarbeitungs¬ 
programm von Casette mit 
Einführungsbuch und Ext32K- 
Erweiterung zu 389,— DM 
Ab 1 7.00 Uhr oder viel 
später Tel. 0228/284144 


* Achtung** TI 99/4A ***** 
Suche deutsches Handbuch 
für TE II Zahle 10,- DM VB 
M. Schenk, Rosenweg 4, 

7107 Bad Friedr.hall, Tel. 
07136/4116 ab 17 Uhr 


TI 99’er MAILBOX! 

Wer hat Interesse an einer 
Mailbox spez. für Tl-User 
* Host-System: TI-99/4A* 
DFÜ-Freaks u. Datenreisen¬ 
de meldet euch bei: 

Josef Serafin, Löchgauer 
Str. 37, 7120 Bietigheim 

EditoröAssembler VI.03-99/ 
4A Überarb. Version. Nur 
XBASIC, 32K und Kass. 

Rek. nötig. Mit vielen Hilfs- 
progr. Sehr komfort. Editor. 
E/A auf Kass. + dickes Hand¬ 
buch mit Ass.-Kurs für 
60 DM. Info 80 Pf. 

T. Klein, Weißstr. 14, 

53 Bonn 1 


VERKAUFE GÜNSTIG: 
Module Extended Basic, 
Schach, Alpiner, Persec, 
Soccer, Tombstone City, 
Altack, Car Wars TI-Kon- 
sole (defekt), Joyst. 

Data Becker-Buch 

Tel. 06642/1067 nach 18 Uhr 


Verk. TI 99/4A + Ex.B. (orig. 
TI) + Rec. Kabel + Schach¬ 
modul + Datenverw.-modul + 
alle Handbücher + Basic-Kurs 
+ Software = VhB 600 DM. 
Michael Pilz, 6944 Hemsbach, 
Königsberger Str. 66, Tel. 
06201/75758 


Tausche original Tl-Peri- 
Box gegen Terminal Emu¬ 
lator II + Minimemory- 
Modul + Datenverwaltung 
und Analyse-Modul oder 
gegen TI-Logo oder gegen TI- 
Forth oder gegen Tl-Writer 
Tel. 030/6036920 W. Scholz 
W. May Weg 10, 1 Berlin 47 


Verkaufe TI99/4A + Expan¬ 
sionsbox und Erweiterungs¬ 
karte + Interface-Karte + 
Drucker GP700 A + 20 
Module + 2. Laufwerk usw. 
VB 3800,— Tel. 0821/493955 


Verk.: Tl-Invaders (USA Mo¬ 
dul) für 30 DM, Programmier¬ 
handbuch TI-Basic/Extended- 
Basic deutsch 325 Seiten NP. 
48 für 24 DM (Neuw.) Kas¬ 
settensoftware Market-Simu- 
lation (Original TI) mit dt. 
Anleitung für 20 DM. 

Gloede Klaus-Peter, Dorf- 
str. 43, 2362 Wahlstedt 


Tausche folgendes Tl-Zube- 
hör gegen 32 K-Karte für 
Peri-Box: Parsec, 2 Joysticks, 
235 Progr. Der jetzige Wert 
dieser Zubehörs beträgt 
nicht weniger als 200,— DM. 
Meldet euch also bei: Man¬ 
fred Schneider; Nunkircher- 
str. 42 a, 6648 Wadern- 
Büschfeld; Tel. 06874/6705 


Achtung! Ich verkaufe! 

2 TI Module + 1 paralleles 
Druckerinterface für 220 DM! 
Würde auch gegen MM- 
Mödul mit Software tau¬ 
schen!!! Meldet Euch bei 
J. Klaas in Gronau, 

Tel. 02562/1362 


Verkaufe TI-99/4A + 100 
TI-Basic-Programme + Basic- 
lehrgang komplett für 
VB 350,- DM 
Schmitz Ralf, Am Telegraf 
14, 5068 Odenthal-Blecher 


MBI INTERFACE, TI99/4A 
auf CENTRONICS - für 
Drucker mit parallelem An¬ 
schluß-Interface kann zwi¬ 
schen TI99 und P.Box ange¬ 
schlossen werden, mit durch¬ 
gehendem Bus. 

Tel. 02236/2110 oder 02236/ 
2377 Preis: VB 


l ausche Oszilloscop Hameg 
312/5 S gegen P-Box + 
Contr. + Dsk. + RS232 
Tel. 040/6723910 


TI-MODULE: Hustle, A- 
Maze-Ing. Hangman, Video II, 
Connect four Kniffei, Othello 
jeweils 30,— 

TI-MODULE: Music-Maker, 
Datenverw. + Analyse, 
Statistik, Adventure + 

1 Kass., jeweils 45,— 

Peter Hielscher, Am Wall 22, 
4401 Saerbeck 

TI-BÜCHER: Tl-Intern 
(Martin) 20,- DM, Tl-Spezial 
I 30,— DM, TI-Bücher, je¬ 
weils 15,— DM; Tips & Tricks, 
Spielen + Lernen + Arbeiten, 
Farbe + Ton + Grafik + 
Speile, Kochbuch I + II, 
Spielprogr. selbst erstellen 
I + II. Peter Hielscher, Am 
Wall 22, 4401 Saerbeck. 


Lotto-System-Programme für 

6/49 + 7/38. Abschreibfer- 
tige Systeme mit Gewinn¬ 
garantie. Zwei Ex-Basic- 
programme auf Kassette 
gegen 10,— DM von 
Peter Hielscher, Am Wall 22, 
4401 Saerbeck. 


TI994A mit Box, Drucker 
und Zubehör gegen Höchst¬ 
gebot Tel. 0231/373736 ab 
19.00 Uhr 


Verk. TI99/4A, Cass. Rec. + 
Kabel, Module: X-Bas. + 
Handb., Stoccer, Alpiner, 
Tcxt-Dateiverw., Basic-Lehrg. 
(Cass.),Orig.Joyst., 2 Bücher, 
3 Ordn. meist TI-REVUE, 
div. Cass.; nur kompl. 600,— 
DM (NP 1200,-), H.J. Beck¬ 
mann, Unt. Dorfstr. 165, 

59 Siegen 


Tips & Tricks rund um den 
TI 27 KB-Ex-Basic-Pro- 
gramme Mit zwei Progr. 
auf Kassette gegen 10,— 

DM von Peter Hielscher, 

Am Wall 22, 4401 Saerbeck. 


3 Ex-Basic-Programme: 

1. Datenverwaltung, 2. Lotto 
6/49 + 7/38, 3. Tips 8c 
Tricks rund umd en TI gegen 
Einsendung von 20,— DM, 
Peter Hielscher, Am Wall 22, 
4401 Saerbeck 


TI-Kassetten: 

Grundkurs 10,— DM, Finanz- 
ber. 20,— DM, Marketing- 
Planspiel 20,— DM, Compu¬ 
ter-Kontakt 1 A-Kass. von 
Peter Hielscher, Am Wall 
22,4401 Saerbeck 


32 KB-Exit-Speichererw. mit 
Centronic-Schnittstelle und 
Cen Ironie-Drucker kabel. 

gegen 230,- DM von Peter 
Hielscher, Am Wall 22, 

4401 Saerbeck 


Verkaufe Bücher: 

16Bit Mikro-Kursb. Texas 


Instruments 35 DM 

99 Spezial I Texas Instru¬ 
ments 35 DM 

99 Spezial II Texas Instru¬ 
ments 40 DM 

Spielen, TI-99/4A Schmidt/ 
Raabe 20 DM 

Tl-Special Nr. 1 
TI99, Tips & Tricks 
K.P. Schwinn 35 DM 

TI99/4A Farbe ... 

G. Pahlberg 25 DM 

TI99/4A Intern 

H. Martin 30 DM 

TI99/4A Programme 

CHIP _ 10 DM 

TI Basic/Ext. Basic 
Texas Instruments 35 DM 

R. Thielmann, 

Tel. 02234/79646 


Suche Kontakt zu Tl-Usern 
im Raum Overen, Tel. 02421/ 
17673 


TI99/4A+Ext. B+32K+Modu- 
le+Zeitschriften + Programm¬ 
kassetten + Bücher + TI. Plan- 
Netzteil VB 540 DM0231/ 
391541 Ab 20.00, Spielpro¬ 
gramme Buch 1+2 + Daten¬ 
recorder + Joystick + Kabel + 
TI-Revue 


Verkaufe für TI Superprogr.- 
auf Cassette. Für den Preis 
von nur 120,— DM erhaltet 
Ihr diese bei Manfred Schnei¬ 
der, Nunkircher Str. 42 a, 
6648 Wadern-Büschfeld, Tel. 
06874/6705 ab 14.00 Uhr 


Verkaufe ASCOM High- 
Score Joystick inkl. Adapter 
50,-Tel. 07934/8475 


59 

































BÖRSE 


Verk. TI 99/4A + Ex. Basic 
+ Disk + Control. + RS 232 
+ Drucker + Div. Module + 
Joysticks + Software + Li¬ 
teratur. Chr. Eschmann, Tel: 
01/8103732, Schweiz. 


Verk. 99/4A + XB + MM+ 
E/A-Paket m. deutsch. 
Handbuch + ext. Floppy- 
Contr. mit 3 Drive + 
ext. 32 K in kl. Par. Schnitt¬ 
st. + Softw. (ID-Plot, ID- 
Data, ID 3 D) + 99 Spec. I + 
II + TI 99-4A Intern. Unter 
SFr 1000,-, Tel: 058/8135 
56, Schweiz, Herr Strub, 
7.00 - 8.00 Uhr. 


Editor/Assembler VI.03- 
99/4A. Überarb. Version. 

Nur X Basic, 32 K und Kass. 
Rec. nötig. Mit vielen Hilfs- 
progr. Sehr komfort. Editor. 
E/A auf Kass. + dickes Hand¬ 
buch mit Ass.-Kurs für 
60,— DM. Info 80 Pfg. 

T. Klein, Wcißstr. 14, 5300 
Bonn 1. 


Tl-User aufgepaßt!!! Endlich 
ähnl. Suchroutine in Assembl. 
für Basic-Datei-Verwaltungen 
auf Cass oder Disk. Nun ist 
Schluß mit Tippfehlern und 
unklaren Schreibweisen! Ein 
Muß für alle!!! Info geg. fran. 
Rückumschl. Bei: Torsten 
Beuck, Horner Redder 14, 
Folgende Module billig zu 
verk. Hunt The Wumpus, 
Chisholm Trail, Zero Zap, 

The Attack, Tombstone City, 
Blackjack and Poker. Zusam¬ 
men 80,— DM, einzeln 15,— 
DM. Tel: 07732/56279. 


Achtung!! 

Vqjk. TI 99/4A betriebsber. 
'+ X Basic + Doppelcss. Kabel 
(alles orig. TI) + 2 Joyst. + 
Handbücher +15 Cass. + 
B.-Kurs + 8 TI-Revue + Son¬ 
derhefte + TI-9 9-intern + 
Schaltpläne + Systemorg. Als 
Bonus: Uber 100 Com. 

Hefte mit Progr. Alles 100 % 
neuwertig! VB 400,— DM!!! 
Tel: 0911/799425, Müller. 


Verk. TI-Software billig!!! 
Top-Progr. für wenig Geld in 
TI- oder Ex-Basicü! Auch 
Module auf Lager. Gratis¬ 
liste bei: M. Boron, Hohen- 
staufenstr. 30, 7141 Mög¬ 
lingen. 


Suche Sonderhefte TI-Rc- 
vue, TI-Begleitbuch, TI-Bü- 
cher Hardware-Pläne, Bau¬ 
anleitungen. Geschäftliche 
Software RS 232 32 KB in¬ 
tern. Extended Basic, Text¬ 
verarbeitung. V. Henschel, 
Graf-Zeppelin-Str. 8, 3580 
Fritzlar. 


Ich verkaufe meinen TI 99/ 
4A + X Basic Modul und 
Spielen, VB 320,- DM. 
Außerdem ein Paar Tl-Joy- 
sticks und donkey-Kong- 
Modul, VB 120,- DM. Mel¬ 
det Euch bei Alexander Lie- 
big, Tel: 05572/7120. 


Systemerweiterung mit 
Progr. Speedtape 2000 für 
M.M. + 32 K, 6mal schneller 
als original auf die Kass. 

Ass. soft, bis 32 K, ohne 
+ Basicroutinen. Besser kom¬ 
parabel, höhere Datensicher¬ 
heit als orig. öS 350,— an: 
Rudolf Mauk, Justgasse 29/ 
67/1, A-l210 Wien/Öster¬ 
reich. 


TI-Turm zu verk. mit vielen 
Extras, Preis 3500,— DM. 
Tel: 0202/663765. 


Wir kl. neuw. TI 99/4A (K 10 
Betr. Std.) + Orig. TI-Rec. 
(neu) + Ex. B. m. dt. + engl. 
Anleitung + Ex. Basic-Lern- 
progr. + List-Hefte. VB 480,— 
DM, Tel: 02507/2304. 


Suche Drucker, A. Koppler, 
TE II, Ass.Porgr., Adventure, 
Tl-Writer, Def. Hardware. 
Biete Robbe Fernsteuerung 
mit 2 Modellen und Zubeh. 
Amateurfunkcmpf. Verk. 
Progr. in TI/ExB auf Cass./ 
DSK, Angebote an: P. Merti- 
neit, In der Olk 20, 5501 
Gusterath. 


Verk. von Trommelschlä¬ 
ger Genie II S, 64 Kb-RAM 
2 Laufwerke 80 Tr dd/ds, 

1 Bildschirm bernstein 18 
MHz, 1 Floppy-Controller- 
Karte, 1 Floppy-Kabel 2fach, 
1 Drucker-Kabel Centronics, 

1 Monitor-Kabel, zusammen 
2500,- DM. Tel: 069/70 
72480. 


HALLO LEUTE 
Wollt Ihr Euren TI richtig 
erweitern? 

Biete orig. Erweiterungsbox. 
VB ca. 1/2 bis 1/4 NP. Tel: 
05373/7359. 

Verk. TI-99/4A + Ext. B. + 

P. Box + Floppy + 32 K-RAM 
+ Ed. Ass. + Schach + Othello 
+ Budget Manager + Pac Man 
uva., evtl, auch einzeln. 

Tel: 02253/6134, Di. - Fr. 
10.00 bis 15.00 Uhr. 


Verk. Datenverwaltung + 
Analyse 30,—, Othello 15,—, 
u.a. Module sowie Disk. 
Rechnungsstellung und Lager¬ 
haltung je 30,—, Recorder- 
Kabel 10,—; Basic-Lehrgang 
10,— DM. Martin Pochncr, 
Brunhildstr. 31,5300 Bonn2. 


Verk. TI 99, Ex.-Basic, 
Schach, Statistik, Buch Jour. 
MB I-Centronics, Sprachsyn. 
TI-Cass. Progr. ca 15 Cass- 
Progr., teilweise aus TI-Re- 
vue Special, Bücher TI- 
Revue, Rec.-Kabel etc. VB 
690,— DM, ggf. auch ein¬ 
zeln. W. Beier, Tel: 02204/ 
82784. * 


Verk. P-Box mit 32 K, DSK- 
Controller, Laufwerk, RS 
232, Preis VB 1000,- DM. 
Anfragen ab 18.00 Uhr 
unter Tel: 0821/718058, 
Haegele. 

Verk. Module: XB 120,-, 
EA 110,-, MM 110,-, 
Diskfixer 90,—, Sup. dup. 
90,—, Diskman II 70,—, Dat. 
Verw. An. 40,—, Statist. 
40,-, VideaoG. 20,-, 
Household Man. 30,—, 

Early Learning 20,—, Modul 
3 X Expand. 80,- DM. W. 
Schmidt, Tel: 069/306671. 


Zu Verk. TI 99 + X-Basic + 
P.-Box + 32 K + Disc + Con¬ 
troller + Assambier + div. 
Module bei: Stefan Lammers, 
Hamburg, Tel: 040/ 89 
2319. 


Orig. TI-DSK-Laufwerk S 1/ 
4” für Box 248,—, Ext. RS 
232/V 24 Schnittst. + Kabel 
195,—, Ext. 8 K-Speichcrerw 
+ Software f. Maschinenspra¬ 
che und -progr. 60,— DM. 
Ruft an: N. Seitz, Tel: 069/ 
901030. 


Dringend!!! Suche Ex-Basic 
und Module; Tausche auch 
Progr. Andreas Preletzer, 
Th. Helmstr. 26, A-4523 
Neuzeug. 


Superangebot!!! Kompl. An¬ 
lage abzugeben. Alles original 
TI, alle Karten u. Box MM 
Apesoft Graphic, Bücher, 
viel Software Philips S/W- 
Fernseher, Oreis 1200,— DM. 
Tel: 07231/41436 nach 
19.00 Uhr. 


Verk. XB-Utilities auf Disk 
für 32 K RAM und XB-Basic 
70,—, Assembler-Kurs Asem 
4 von FDA (Buch + Disk) 
70,-, Buch Basic + XBasic für 
Anfänger + Fortgeschr. 

40,- DM. Tel: 089/1572559. 


Ich verk. die TI-Revue 
5/6/86, sowei div. andere 
Zeitschriften und die folgen¬ 
den Bücher: Basic für den blu¬ 
tigen Laien, Programme für 
den TI99/4A. 

Tobias Meisner, Hofheimer 
Str. 36, 6239 Kriftel a. Ts. 
Tel: 06192/25331. 


TI 99/4A + Ext. Bas. + Cass. 
Rec. + Joyst. + Kabel + 32 
K-ext. + viel Lite. + Progr. VB 
650,- DM, Tel: 07143/237 
98. 


Suche Ex.-Basic für max. 
100,— DM (nur guter Zus- 
stand). Tel: 01/9540663, 
Thomas Wunderli, Wilhof 
8332 Russikon. 


Verk. TI 99/4A mit Hand¬ 
buch Tips + Tricks. Anschlu߬ 
kabel für Cass.Rec., 1 Modul 
und Anfangshefte, Preis 
600,— DM. Robin Schröder, 
Tel: 02334/3330, Hagen. 

Ideal für Einsteiger!!! TI 
99/4A + Staubschutzhaube 
+ 2 Orig. Tl-Spiele Cass. für 
100,- DM zu verk. Ulrich 
rungc, Vlissingerstr 12, 

2800 Bremen 66, Tel. 0421/ 
570949 werkt, ab 16 Uhr. 


Suche Tl-User im großen 
Kreis um Köln - Rodenkir¬ 
chen, anrufen bei: Markus 
Glombitza, Tel: 0221/ 

39_1 29_L_ 

Super TI Spiele. Tolle Grafik 
Guter Sound. Info bei: R. 
Toonen, Pf. 31,4175 Kevel¬ 
aer 1. 


Verk. TI 99/4A-32 K Me¬ 
mory, Ex. Basic II Plus. Chri¬ 
stian Schroer, Klühnmarkl 2, 
4426 Vreden, Tel: 02564/ 
32599, Preis nach VB. 


Achtung!!! 

Verk. Parsec 35,—, Soccer 
29,—, Tomst. City 29,—, 
Munch Man 35,—, Wupus 
19,—, alles zusammen 1 20,— 
DM. Erik Schober, Römerstr. 
53, 6530 Bingen 17, Tel: 
06721/43307. 


Achtung Tl-Users, wer 
möchte mit mir ED/AS-Progr. 
tauschen. Besitze ca. 120; 
schickt Eure Tauschlisten an: 
Marco Wintzer, Mühlstr. 42, 
6070 Langen, Tel: 06103/ 
52630. 


Wer tauscht sein TE-II 
gegen mein Munch Man und 
Mind Challengers Modul ge¬ 
gen 20 Assembler-Spiele. 
Marco Wintzer, Mühlstr. 42, 
6070 Langen, Tel: 06103/ 
52630. 


Verk. 3 Zoll-Floppy. Direkt 
als 20.3 Laufwerk am TI ver¬ 
wendbar 150,— DM, fabrik¬ 
neu. Tel: 02571/2411. 


Hilfe! Wer verkauft mir billig 
Ex-Basic und Spiele, auch 
Module. Boris Kienle, Maien- 
str. 6, 8901 Gablingen. 


60 







































BÖRSE 


TI99/4A 

Folgende Teile verkaufe ich 
wegen Systemwechsel günstig: 
TI99/4A Konsole kpl. DM 150 


Ersatz Tastatur neu 30 

Ex-Basic Modul 130 

TI-EX-Basic Handbuch 30 

Datenrecorder 50 

Rek. Kabel 1-fach 15 

Rek. Kabel 2-fach 25 

RGB-Modulator neu 1 20 
Sprach-Synthesizer 100 

Joystick TI 40 

Joyst. Quickshot je 20 

Adapter hierzu 10 

SOFTWARE: 

TI Lagerverw. Disk 40 

TI Versandli. Disk 40 

TI-Basic Lehrcass. 15 

EX-Basic Lehrcass. 15 

Datenverw. Modul 40 

Statistik Modul 40 

Buchungsjourn deutsch 150 

Oldies Bud Gold Cass 15 

Oldies Bud Gold 2 Cass 15 

Video Games Modul 25 

Othello Modul 25 

Finanzberater Cass 15 

Marketing PlanCass 15 

Chisholm Trail Modul 30 

Munchman Modul 25 


Orig. Dynamic Cassetten: 
Monoco/Darts/City Quiz 
Digger/Zentoria je DM 5 
Schallpl. Archiv/Vokabel- 
Trainer/Lager je DM 20 
TI LITERATUR preiswert 
auf Anfrage 

Tel. 02234/74448 ab 19 Uhr 


Von TI-99-System noch gün¬ 
stig abzugeben: Konsole, 

Cass.-Kabel, Joy-Sticks! für 
Box: Schnittst.-Karte, 32K- 
Erweitg., Druckerkab. Centr.; 
2. Floppy BASF! Module: 
Schach, Video-Graphs, Video- 
Spile I, Diagnostic! auf Disk: 
Text u. Datei, Flugsimul., div. 
Progr.jdiv. Bücher; Tel. 
07365/6235 u. 18 Uhr 


Tonausgang für Stereo¬ 
anlage inkl. Kabel 4 m 18,— 
Tonausgang inkl. Verst. 


+ Gehäuse 45,— 

Rec. Kabel 2 m 15,- 

3 Joyst. je 30,— 

Speech Editor 50,— 

RS-232-Indicator 30,— 


Parallel-Seriell Umsetzer 
Macht aus Parallel-Seriell 
Schnittstelle 60,— 

Tel. 02181/8595 ab 19 Uhr 


Original TI-Ex Basic m. dt. 
Handb. VB 160,- 

Ext. 32K Erw. Akku¬ 
gepuffert 150,— 

mit durchgef. Bus 160,— 

mit eingebautem System 
Reset +15,— 

Ansteckbare Zeitlupe 
+ Standbild 29,— 

Videoausgang 45,— 


Suche def Tis + Peripherie! 
Tel. 02181/8595 ab 19.00 


TI-Ex. Basic incl. engl. Hand¬ 
buch für DM 95,-, TI 99/4 
(alte Version) DM 70,—, Buch 
Special I 10,— DM, Kass.Rec.- 
Kabel 10,— DM, Centronics- 
Kabel f. FXBO 30 DM. 

Tel. 02821-18399 


Verk. folgende Module Parsec 
35,—, Tl-lnvaders 30,—, Car- 
wars 25,— Verk. eine C-60 
Kassette voll guter Programme 
für nur 10,— (ca. 28 Progrm.). 
Andreas Scholz, Londoner 
Ring 6, 6700 Ludwigshafen, 
0621/666424 


Suche die 4 Programme des 
Radix Miniassembler und eine 
Kopie oder ein Original der 
Beschreibung. Beides ist mir 
2 Kassetten voller Programme 
wert. Andreas Scholz, Londo¬ 
ner Ring 6, 6700 Ludwigs¬ 
hafen. 


Suche Kontakt zu Usern der 
128 K Gram-Karte. Zwecks 
Austausch von GPL-Program- 
men. Dr. Werner Schmidt, 
Heimchenweg 80, 6230 
Frankfurt 80. 


Verk. externe 32 C-CMOS- 
RAM-Erw. Bus durchge¬ 
führt, batteriegepuffert, 
mit Schreibschutz (schalt¬ 
bar), stabiles Metallgeh. 
150,- DM. W. Schmidt, 
Heimchenweg 80, 6230 
Frankfurt, Tel: 0611/3066 
71. 


Verk. P.-Box mit RS 232, 

32 KByte, Diskcontroller, 2 
Laufwerke (5 1/4 und 3 1/2), 
40 Disks mit TI-Futter, TI- 
Writer, Ed/Ass. , Diskm. 2 
kompl.: 1800,— DM oder 
einzeln auf Anfrage. Holger 
Wesemann, Kreuzkrug 62, 
3079 Raddestorf 1, Tel: 057 
65/427. 


Verk. TI-Extended Basic - 
Handbuch (engl.) Angebote 
an: Michael, Tel: 0421/6712 
87, ab 15.00 Uhr. 


Verk. Orig. TI-Minimem. 
130,— DM/900 öS, sowie 
Memoryexp. (Extern) mit 
Centronic-Interface 210,— 
DM/1500 öS. Auch Tausch 
gegen Logo/Forth/Multiplan/ 
RS 232 Karte/Drucker oder 
Speechsynth. möglich! 

Bitte Tel: 02732/704325, 
Österreich. 

Verk. TI-Konsole ■•■Joy¬ 
sticks (Orig. TI) + Rec.Kabel 
+ RI-Revue - 5/86 + Joystick- 
Adapter + Tl-Invaders + Par¬ 
sec + Ext. Basic mit engl. 
Handbuch. Angebote an: 
Michael Könnecke, Friedhof- 
str. 11 a, 2874 Lemwerder. 


Verk. TI-Konsole 150,—, 
Ext. Basic 180,—, Mini Mem. 
200,—, Editor/Assembler-. 
Modul, erweitert um einen 
Assembler/Disassembler und 
Resetknopf (dadurch kopie¬ 
ren möglich von Disk-Progr. 
auf Kassette) 200,-, 32 K- 
Erw. (gepuffert) 200,—, Par¬ 
sec 30,—, Dig Dug 30,—, 
Othello 25,-, TMS 
9900-Handbuch 45,-, TI 
Intern 25,- Dt. Handb. TI 
+ Ex-Bas. 40,—, Tips + 

Tricks 15,—, E/A-Handbuch 
20,—, 99 Special I + II, je 
20,—, Software VB. Div. 
Tl-Zeitschr. und Bücher VB. 
Gesamtpreis 999,— DM VB. 
Alfred Manthey Rojas, Ei¬ 
chenkampf 22, 2200 Elms¬ 
horn, Tel: 04121/74734. 

Suche RTTY-Fernschreib- 
Progr. für TI 99/4A ohne 
Ext. Basic auf Kass. Peter 
Hubertus, Hohlweg 1.6695 
Tholey, Tel: 06888/8000. 


Tausche Sprachsynthesizer 
gegen Miniass. von Fa. Radix. 
Kaufe Module aller Art und 
suche Astroprogramme. 
Angebote an: Heinz-Jürgen 
Fischer, Bergisch-Gladbacher 
Str. 800, 5000 Köln 80. 


Verk. Munchman-Modul 
für 15,—, Schach-Modul für 
50,— , Daten Record, m. Kab. 
für 60,—, Es.-Progr.-Kass. 

(voll bespielt) je 8,— DM. 

Dirk Biehl, Tel: 06821/5531. 


Verk. TI 99, Tips + Tricks 
25,—, 36 Tl-Progr. for Home, 
School + Office 20,—, 16 Bit- 
Microprozessor-Kursbuch 
30,—, Sprachsynthesizer 
100,— und Mini Mem. 130,— 
DM. R. Offerhaus, Lessing- 
str. 1, 5810 Witten. 

Tel. 02302/55351— 

Assembler Progr. Austausch. 
Wer braucht ein Editor/ Ass. 
auf Kass. oder ein Taged Ob¬ 
ject Code Loader für Kass., 
der es ermöglicht einem auf 
Kass. befindlichen TIK zu 
laden, der von einem Freund 
von OFSK überspielt wurde. 
Ragnar Jakobsmeier, Am 
Münsterer Wald 7, 6233 Kelk¬ 
heim. 


Mini-Assembler (Radix) 95,— 
Ex.-Basic (orig. TI) mit engl. 
Handbuch 105,- DM. Tel: 
06085/2581, werktags ab 
17.3 0 U hr). 

56 K Byte Gramkarte Soft¬ 
ware-gesteuert, nur 288,— 

32 K Byte für Peri-Box 
179,—, Modulgehäuse 8,— ab 
10 Stück 5,— DM. R. Moor, 
Tel: 02381/789030. 


Verk. alles Original; Editor- 
Assembl. 90,—, Ex-Basic 
100,—, Statistics German 
20,—, Othello 20,—, Selbst¬ 
bau 56 K Byte Gram karte im 
Modulgehäuse zum einiesen 
von Modulen. Inc. Steuer- 
Software 288,— DM. R. 

Moor, Tel: 02381/789030. 

Suche Epson Drucker RX-80 
oder kompatible sowie 
Schnittstelle für Peri-Box, TI- 
Writer (dt.) und TI Forth 
und VSCD-Pascal. Roland 
Kurz, Arminiusstr. 16, 8500 
Nürnberg 1. 

Achtung TI User: Verkaufe 
geg. Gebot TI-Konsole 
kpl. Ex. B. Modul 
Data-Recordcr kpl. m. 

Kabel, Modul-Mash, Speech- 
Synthi, Ext. 32 K-Erweit. 
m. Centr. cSchnittst. Joyst. 
Adapter Epson FX80 + neu 
Alle TI Rev. + Spz. 

Wolfg. Becker, Einsteinstr. 11 
8012 Ottobrunn, Tel. 089/ 
60932 89_ab 18 Uhr _ 

Suche für TI 99/4A Peri-Box 
+ DiskControler + Laufwerk. 
Angebote an: Thomas Lutz, 
Poscner Str. 78, 2940 Wil¬ 
helmshaven, Tel: 04421/51 
29£L__ 

Suche möglichst billig!!! 
Epson (o. kompatibel) 
Drucker (auch Farbe) mit Ka¬ 
bel und Tl-Writer. Bitte mel¬ 
den: Thomas Nowas, Wangen- 
heimstr. 36, 1000 Berlin 33, 
Tel: 030/8911062, nach 
14.00 Uhr. 


Verk. Sp.Syn. 94,—, Joyst. 
35,—, Parsec 28,—, Tl-Intern 
(neu) 22,—, TI6Ex. Basic f. 
Anf. und Fort. 24,—, 7 Zeit¬ 
schrift. 20,75 DM, Tel: 
0761/71682. 


TI 99/4A + Ext-Basic 290,- 
(nur zusammen), Module 
Statistik, Report-Generator, 
Datenverwaltung je 50,—, Mi¬ 
nus Mission, Alien Addition 
je 18,—, Rec-Kabel 15,—, 
Lernkassetten Basic-ExBasic 
je 10,— DM. Bei Nachnahme 
plus 2,50 DM. Klaus Lindner, 
Weilerstr. 7, 5303 Bornheim 
4, Tel: 02227/7040. 


Suche Anleitung für TI- 
Forth (deutsch od. engl.) pnd 
Sprachsynthesizer für TI 99 
/4 A. Wolfgang Bertsch, 
Helenenburgweg 61, 7120 
Bietigheim-Bissingen, Tel: 
07142/41504, ab 18.00 Uhr. 


Verk. TI 99/4A + Ext. Basic 
+ Schach + Joystick-Adapt. + 
Spiele + Alle TI-Revue + 
Porgr. + Video-Archiv 250,— 
DM. Tel: 09191/96102. 


61 






























BÖRSE 


Verk. RS 232 (Extern) 200 - 
DM VB + Orig. TI-Assembler 
150,- DM, Tel: 07452/1450. 
32 K Intern (Def.) 50,- DM. 


Verk. Rechnungsstellung 

35,—, Video I 35,—, TI 99/ 
4 225,- DM. J.W. Stulen, 
De Rohdomp 5, 7671 WL 

Vriezenveen/Holland. 


Datenverwaltung + Analyse 
40,— DM, Lagcrverwaltung 
35,- DM. J. W. Stulen, De 
Rohdomp 5, 7671 WL Vrie¬ 
zenveen/Holland. 


Verk. Papier für TP-Drucker 
PHP1900 (Orig. Texas) J.W. 
Stulen, De Rohdomp 5, 7671 
Vriezenveen/Holland. 


Verk. meinen Tl-Drucker 
orig. Epson MX-80 auch div. 
Software auf Disk, oder Mo¬ 
dul.Tel: 0871/25791. 


Verk. Othello, Invaders, 
Attack, Munch Man, T-City, 
Stück 15,—, Parsel 25,—DM. 
Anrufen bei: Mark, Tel: 02 
21/391291. 

Verk. billig 2 TI-Module, De- 
fender und Microsurgeon für 
30,- DM. Tel: 040/8504917. 


Verk. TI-99/4A + Peri Box + 

1 Disk + Joystick + Ex Basic 
+ Module + Disk. Cass. Soft, 
VB. R. Hiestand, Luziaweg 4, 
8807 Freienbach. 


TI Special Kass.-Prog.-Paket 3 
+ 4 20,-, Comp. Kontakt 
Kass. TI 12 a, 1 a + 11 für 
35,— , Basic Lehrgang 20,— 
DM. Tel: 06155/4692. 


TI 39/4A + Reset Taste 
Modulator CH36 + Comp. 
Sync. + Spiel Modul 200,—, 
Modulator CH4 30,—, Netz¬ 
teil 25,- DM. Tel: 06155/ 
4692. 


Verk. TI 99/4A, Diskcontr., 
Diskdrive, 32 K, RS 232, 
Eprommercentro, XB, EA, 
Multipl. Forth, Philips Mo¬ 
nitor usw. ca. 25 kg Litera¬ 
tur, VB 2450,- DM. S. 
Drescher, Tel: 06101/42160. 


Tausche TI Invader und 
Tombstone City-Module 
gegen Schach- oder Schach¬ 
meistermodul für TI 99/ 

4 A. Thomas Kammei, 
Kurt-Schumacher-Str. 29, 
6700 Ludwigshafen. 


TI 99/4 A + X Basic + Rec. 
+ Joystick Adapter + Softw. 
+ Listings + Bücher. Kompl. 
für ca. 250,- DM. Tel: 063 
31/45410. 


TI Editor Assembl. Buch 
30,-, TI Intern 25,-, TI- 
Revue, 12 Stück bis 4/86 
20,—, Monitor Schwenk¬ 
fuß 20,- DM. Tel: 06155/ 
4692. 


Suche günstig Speech-Syn¬ 
thesizer und Speech-Editor. 
Auch Einzelangebotc bitte 
an: Sascha Kern, Amsclweg 4, 
6759 Odenbach. 


Verk. Video Chess, Deutsche 
Version, Adventure Modul 
+ Pirate Adv. 59,—, Video 
Chess 69,- (VB). Verk. an 
Meistbietenden. Tel: 
06128/44973, ab 14 - 21.00 
Uhr. 


Verk. TI 220,-, Joystick 
30,-, X Basic 190,-, Mini¬ 
mem 260,—, 32 K-Erw. 
270,—, Pacman 69,—, Par¬ 
sec 39,-, Othello 29,-, M. 
Mission 10,—, Adv. Modul 
69,—, Aschach 69,—, TI- 
Büchcr (15 Stück 30,—, Zeit¬ 
schriften (10 St.) 25,—, Di¬ 
verse Spiele 50,—.Joystick- 
Adapter 25,—, Rek.Kabel 
25,—, Verk. an Meistbieten¬ 
de. Insgesamt 1325,— DM. 
auch einzeln. Tel: 06128/44 
973, ab 14.00 - 21.00 Uhr. 


Verk. TI 99/4 A 209 -, TI- 
Joystick 29,—, X Basic 
189,—, Minimem. 249,—, 32 
K-Erw..269,—. Pac Man 50,— 
Parsec 35,—.Othello 25,—, 
Minus Mission 10,—, Adven¬ 
ture Modul 60,—, Video 
Chess (deutsch) 70,—, Tl- 
Revue (15 Stück) 30,—, Zeit¬ 
schriften (10 Stück) 21,—, 
Oldies but Goodies 1+2 
25,—, Basic für Anfänger 
16,—, X und Basic-Spiele 
19,—.Joystick-Adapter 20,—, 
Recorder Kabel 20,—, Verk. 
an Meistbietenden, gesamt 
1280,— DM. Auch einzeln. 
Tel: 06128/44973, ab 14.00 
-21.00 Uhr. 


Verk. TI, X Basic, M.M., 32 
K, 6 Module, Bücher, Cass. 
usw. Einzeln oder gesamt 
1390,- DM. Anrufen: 

Tel: 06128/44973, ab 14.00 - 
21.00 Uhr. 


Verk. meine 6 Module, 
alle nur 225,— DM. Z.B. 
Parsec, Schach, Adv.-Modul, 
Pac Man, Othello, M.Mission, 
Tel: 0612/844973, ab 14.00 
-21.00 Uhr. 


Suche Ti-Club in Mannheim 
oder Umgebung. Suche fol¬ 
gende Module: Tunnell of 
Doom, Ti-Invanders. Claus 
Dieter Boseckcr, Bruckner 
Str. 3, 6800 Mannheim 1. 


Soft- und Hardware. Uwe 
Walter, Merweldtstr. 75, 4350 
Recklinghausen, Tel: 4350/ 
64168. 


Verkaufe Ti 99-4A + Ext.- 
Basic + Doppel-Joystick 
+ Cass.-Kabel + Progr.Cass. 
+ Literatur 400,— DM. Tel: 
0541/187571 ab 18.00Uhr. 


Ti 99-4A, Ext.-Basic, 25 
Spielmodule, + Originalanwei- 
sungen. Literatur für 350,— 
DM in bar. Helmut Weiler, 
bei Lutz, Freiherr von Stein 
Str. 1,6108 Weiterstadt. 


Verkaufe P.-Box (leer) 199,— 
DM, 32 KEP. 199,- DM, RS 
232 199,— DM, Diskconlrol- 
ler (CDRComp) für 4 Lauf¬ 
werke DS-DD 449,- DM 
(1/2 Jahr alt), 2 Slimline 
Laufwerke DS-DD je 299,— 
DM incl. Einbausatz für P- 
Box. Buch Ti-lntern 
25,— DM, Ti-Spccial 25,— 

DM. Tel: 02152/50188, 
van den Eeckhout ,4152 
Kempten 1. 

Ti 99-4A: Suche Modul Dc- 
fender (Atarisoft) und Miner 
2049er. Zahle je Modul bis 
50,- DM. Angebote schrift¬ 
lich an: Ralf Bauer, Kclter- 
str. 1 6, 6962 Adelsheim- 
Sennfcld (möglichst mit 
Anleitung!) 

Sprachsyntesizer Ti 99/4A 
günstig zu kaufen gesucht. 
Wer schenkt Jungen in der 
DDR Konsole Ti 99/4A oder 
anderen Homecomputer. 
Margot Neefe, Weißenstei¬ 
ner Str. 79, 7070 Schwäbisch 
Gmünd. 


Achtung! TI User 
Verkaufe original Hardware 
von Texas Instruments. 
Externe V-24 (RS232) ca. 
250,- DM, Externes Lauf¬ 
werk ca. 300,- DM, Internes 
Laufwerk ca. 250,— DM. Sie 
können mich wochentags 
unter Tel: 08161/61537 
erreichen. 


DAS COMPUTERMAGAZIN 
DES CLUBS DER TOTEN 
(nicht nur für Mitglieder). Wer 
es haben will, sende uns zwei 
50Pfg.-Marken zu (Porto + 
Verpackung). 2099er, Am 
Hang 5, 2054 Geestahcht. 

Aus dem Inhalt: Berichte, 
Listings, Tests, usw. 


Verk. TI99/4A-Konsole + 
Expansion System + Laufw. + 
Disk-cont. + Ex Basic-Disk 
Manager 2 + 2 Joystickcr + 
Module, Schachmeister + 
Othello + TI-Rcvuc + Bücher 
für 1200,- DM. Tel. 0431/ 
726488 


Verkaufe TI-99/4a 150,— 
Allig.Mix/Yahlzee/ZeroZap 

je 15,— 

Amazing/Blasto/CarW'ars/ 
Hustle NumberMagic/Super 
DemonAttack Tl-Inv. / Vid. 
Gamesl je 20,— 

Connect Four/Parsec/Sneggil 
je 25,- BuckRodgers/Junglc 
Hunt/MASH Microsurgeon/ 
Miner2049er Moonsweeper/ 
Munchmobile/Othcllo Pers. 
Rec. Keeping/Pers.Rcp. 
Generator Star Trek je 
30,-. Ex-Basic (Orig.) 100,- 
Tandberg 62 ohne Gehäuse 
200,—. J. Schneiderat, 
0211-632042 (9-15 Uhr 
werktags) 

Suche Hardware im Tausch 
gegen Software (über 300 
Programme stehen Euch zur 
Auswahl). Näheres bei: 
Manfred Schneider, Nun- 
kirchcr 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 für TI 99 Siemens 
Floppy mit Diskkontroller!!! 
Ruft S. Altstadt an: Tel: 
07253/22681. 


Holschuh Daten-Cassetten-Dlscetten 
Preise auf Anfrage! 

Daten-Cassetten - Kopien jede Stückzahl! 
5,25-Discetten - Kopien jede Stückzahl! 
Preise auf Anfrage! 



Holschuh 
Keltenstr. 67 
6140 Bensheim 
Tel. 06251 —62665 


62 






































Bogen 1 


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 Kassetten-Service 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 

63 





Peripherie 

mann-Tally 


WmSß 


i SlliülipUitttJ 

hieb Eszaasstliisli 




msM 


waumiunmiumm. 




@^l^bÖ.2eilenyj\Aihuf6Dr^kg'eschwi 
! MM0tätiowe.Gömm&f Personal^ 
/ Computer, Bü rocompüter. Textsyster 
- EDV-Systeme. Drucker mit vielen Züs 


^annVTai1y-Klässe^as^d§ 
eicfce Drucker; kompatibel iu’erft 
MÖbfepütersystemen und^azü«^ 
laijfizierte, künden nahe Service:) 

ssmann Tally GmbH 

□er-Str. 10, 7000 Stuttgart 50 
r? 07 11 / 5 03 90,’Telex 7 254 672 V 


ausstattungen wie Einzelblattzufuhr,||| 
Stapelzufuhr, Mehrfarbdruck, Etiketten 
druck oder Schneidevorrichtung. Drüc! 
mit vielen, wählbaren Schriftarten. 


MANNESMANN