Skip to main content

Full text of "TI Revue Special Collection"

See other formats








mmmm 


mi©jp^rajrii 


Wßm 




A ATI 99/4A 

SPECIAL 


rnmmjßxmnim'ämm 


gaTlIM/BfA^airilM 




MIM 


U^myAtkSm : 


feWCi!»T^|l^ 


Fi\ 

m 

7',’ /IfipD'Tffl 


»AI 


p^^Tiipom^a 


bT.|P«! 


ÜljllQIQT/fni 


iMMfAraTiiM/ayAraTii 


•9/M^feafntm»yAt+a 




iKafATaTiiwayATai 


«4l 


{<j <C ^*ir J a J -isf ^ M _k_i_r __X^*_^_M_—LI 

IlMMAllril»»^ 


SPIELPROGRAMME 




gpüing^gMt 

l i| - : V:': 

S|M ,V. ■ 

■S7 ;?; il^7S'Ä|3 

BmS 


Bi J ^ ! 




:': jn •■-■ivil 1 >?S7a s £ M 

pn| -■ T’; 


BHHBiiiH 


UTILITIES 




it9M^fA^airiiL9igjMyATaTiik9iw^yA^ai»ii^M/ByAr+aiii^7/MAi 


g^rarjiM 




roT/#rüi 


■;. Jg'^ggrAW^y 

jjj. 




'™rz\rn\n£\ r\ * ‘TPfifcftfiftM £\ j. TtTlfB^/?^ A -a. TPn(g|(?l/7i1 /A _n_ c T?fl(frrfr//,<fl M n ‘TPnrövfr/J/fl r\ n spnt^mn/n /A 






SD®, 

<D® 




®@l 


»] " |ii H ffn 

B j 

& 


feanjin/K 

La. ÜI 3 a jh - 

r 



®®, 


®®, 



bj^y 

FTSaR-. »irnTmi 





















































SERVICE 


Zeig beim Porto 

Herz & Verstand: 




Kauf 
Wohlfahrts¬ 
briefmarken. 


Hilfe, die ihr Ziel erreicht. 

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


IMPRESSUM 


TI-SPECIAL, die Zeitschrift 
für den TI PC und TI 99/4A, 
erscheint in der 
München Aktuell Verlags 
GmbH 

Redaktion: Senator-Presse- 
Service. 

Verantwortlich für den Inhalt: 
Heiner Martin. 

Verantwortlich für Listings: 
Hartmut König. 
Geschäftsführer: Werner 
E. Seibt 

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 Beiträge sind 
urheberrechtlich geschützt. 
Jedwede Verwertung ist unter¬ 
sagt. Nachdruck nur mit aus¬ 
drücklicher schriftlicher 
Zustimmung des Verlages. 
Namentlich gezeichnete 
Artikel geben nicht unbe¬ 
dingt die Meinung der 
Redaktion wieder. 

Kein Anspruch auf Lieferung 
bei Ausfall durch höhere 
Gewalt. 

Abo- und Kassetten-Service: 
Henny Rose Seibt 
©by TI/CBM Verlag 
SPS und Autoren. 

★ 

Gerichtsstand: München 


TI99/4A 

PREISSENKUNG BEI VIELEN 
ARTIKELN !! 

Peripherie Modulsoftware 


RS 232 Karte (Original TI) 

379 - 

Extended Basic II Plus 


279.— 

RS 232 Karte (Alronic) 

299.— 

Mini Memory (Original TI) 


169- 

32 K-Karte (Alronic) 

299 - 

Editor/Assembler (32 K notw.) 


159- 

Disccontroller 0S00 (Alronic) 

449.- 

Tl-Writer (32 K + Disk notw.) 


259.— 

Compacl Peripherie System CPS 99 


Multiplan (32 K + Disk notw.) 


259.— 

mit 1 Diskettenlautwerk DSDO 


Tl-Logo II (32 K + Disk notw.) 


299.— 

+ 10 Disketten 

1399.— 

Diskfixer (Navarone) 


129 — 

CPS 99 mit 2 Diskettenlaufwerken 


Terminal Emulator II 


85- 

DSDD + 10 Disketten 

1749.- 

Connecl tour. Attack NUR je 

19.— 

Diskettenlaufwerk DSDD tür Peri - 


Alpiner. Chisholm Trail. 



box mit Einbausatz 

399.— 

Othello. Tombstone City 

je 

29.- 

Externe 256 K-Erweiterung 

589.— 

Car Wars. Delender. Dig Dug. 



Externe 32 K-Erweiterung 

199.- 

Invaders. Munch Man. Statistik 

ie 

39.- 

Externe 32 K-Erweiterung batterie- 


Falhom. Jungle Hunt. Moon Pal rot. 



gepullert 

239.- 

Hopper. Parsec. Indoor, Soccer 

ie 

49- 

Externe 32 K-Erweiterung mit 


Congo Bongo. Burgertime. Espial, 



1 Centronicsschnittstelle 

269 — 

Moonsweeper. Microsurgeon. Treasure 


Externe 32 K-Erweüerung mit Cen¬ 


Island. Donkey Kong. Tunnels ol 



tronicsschnittstelle + Drucker¬ 


doom. Protector II 

ie 

59,- 

kabel + Epsondrucker LX 80 

1169.— 

Adventuremodul. Buck Rogers. Relurn 



dto + Epsondrucker EX 85 

1519.- 

Io Pirals Isle. Star Trek, Video 



dio + Stardrucker Gemini-10X 

859.— 

Chess. Shamus 

ie 69.- 

dio + Stardrucker NI-10 

1259.- 

Popeye. Pole Position. Miner 

ie 

79.- 

Sprachsynthesizer 

175.- 

Dalenverwallung + Analyse 


79- 

Modulexpander 3lach 

RGB-Modulator 

125- 

179- 

BÜCHER 



Akustikkoppler Dalaphon S 21 d 


Editor/Assembler Handbuch dl 


98.- 

+ exlerne V-24-Schmtistelle 


Mini Memory Spezial dl. 


98.- 

+ Verbindungskabel 

539.- 

TMS 9900 Assemblerhandbuch lür das 


Akustikkoppler Oataphon S 2t d 


Mini Memory dl 


78- 

♦ Kabel lur RS 232 Karte 

299.- 

Tl-99/4 A intern dl 


38.- 

Tl-Maus mit Software (Diskette) 
Fernbedienung 

295.- 

65.- 

Disketten- und 



M8X-Sprachsteueremheit + 
Baseballmodul anschlußlertig 

325.— 

Cassettensoftware 

Grafiktablett Supersketch + Dig 


Gesamlübersichi mit Preisliste 



Dug + Delender + Statistik 

179.- 

erhallen Sie gegen Zusendung eines 




Freiumschlags (Kennwort Tl-99/4 A). 

Z B Tl-Arlist 99. 

3 D-World. Graphicmasler )e 75.- 

!!! Ebenfalls im Lieferprogramm: Atari, 
Epson, Commodore + Schneider !!! Ver¬ 
sandkostenpauschale (Warenwert bis DM 
1000,—/darüber): Vorauskasse (DM 
8 ,- 120 ,—), Nachnahme (DM 11,20/23,20), 
Ausland (DM 18,—/30,—). Lieferung nur 
gegen Vorauskasse oder per NN; Ausland 
nur Vorauskasse. 

CSV RIEGERT 

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


Neue Software für den TI 99/4A: 


ALPHA DATECK VI .0 von U. Brüsseler, Datenverarbeitungsprogramm 
von privater Adressendatei bis professioneller Datenverwaltung. Gravie¬ 
rende Merkmale: 40. Zeichen pro Zeile — superschnelles Sortieren — 
Item's (Datenfelder) zu jeder Zeit änderbar — 2 Suchroutinen — super¬ 
schnelle Bedienung — inkl. Datei Etikettieren. Benötigte Konfiguration: 
Extended Basic, 32 K RAM, mind. 1 Diskettenlaufwerk. 


MONITOR VI.1 von J. Sundermann, Programm zum Generieren, Kor¬ 
rigieren und Testen von Assembler-Programmen. Völlig überarbeitete 
Fassung aufgrund Testbericht in TI REVUE 5/86, mit z.B. Setzen bzw. 
Löschen von Speicherbereichen — Ablegen eigener und fremder Pro¬ 
gramme ab A000 — Auslesen und Änderung der CRU-Bits — Protokol¬ 
lierungsmöglichkeit der gesamten Monitoraktivitäten auf Drucker oder 
Diskette. Benötigte Konfiguration: E/A-Modul, 32 K RAM, mind. 1 
Diskettenlaufwerk. 


Nicht zu vergessen: GPL-Assembler, GRAM-Karte, Public-Domain-Software für GRAM-Karte, Extended Basic II plus, 
ATRONIC-Produkte, Eprommer-Gerät, TI-MAUS, Adventure-Editor, TMS 9900 ASSEMBLER von S. Koppelmann, Modul-, 
Eprommer-, 32 K-PIatinen, Spielmodule zum Ausschlachten (Schleuderpreise) 

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


2 










LISTINGS 


Commander 
Der Sternenkrieg 
geht weiter. Zwei Spieler 
im Kampf um die 
Vorherrschaft 


ab Seite 59 


Haushaltsrechnung 
Der TI99 hat Ihre Kasse 
fest im Griff. Mit Tendenz¬ 
anzeige und Jahresgrafik 


ab Seite 90 


Das Labyrinth von OX 

Ein gefährlicher Weg in 
die Freiheit 

ab Seite 4 

Dschungel-Abenteuer 

Finden Sie in der grünen 
Hölle des Amazonas die 
Beute einer Gangsterbande 

ab Seite 10 

Retrun 

In einem unterirdischen 
Höhlensystem warten 
verschollene Forscher auf 
Ihre Hilfe 

ab Seite 15 

Netzteilberechnung 

Der TI99 im Dienste 
der Lötkolbenfreaks 

ab Seite 21 

Resonanzfrequenz 
...und noch ein Hilfs¬ 
programm für Bastler 

ab Seite 21 

Vier gewinnt 

Ein Strategiespiel für 

1 — 2 Personen mit 
guter Bildschirm¬ 
darstellung 

ab Seite 25 

BRD-Quiz 


Wie gut kennen Sie sich 
in Deutschland aus? 

Eine lehrreiche Unter¬ 
haltung für die ganze 

Familie 

ab Seite 29 

X-Format 28 

Endlich für alle Tl-User: 
Listingausdrucke im 
Bildschirmformat, 
sogar zweispaltig 

ab Seite 35 

Stufen zum Erfolg 

Beweisen Sie in diesem 
Staatsführungsspiel Ihre 
Führung-qualitäten 

ab Seite 37 

Halloween 

Ein Monster mit 100 

Leben treibt sein 

Unwesen 

ab Seite 45 

Hasenjagd 

Eine Computersimulation 
über das Gleichgewicht 
in der Natur 

ab Seite 47 

Die Mendel'schen Regeln 
Generationen — 
vom TI berechnet 

ab Seite 50 

Speed-Racer 

Der TI wird zur 

Rennpiste 

ab Seite 53 

Way to Home 

Ein Grafik- und 
Textadventure. Finden 

Sie das 'Home' und 


achten Sie auf den 
Geheimgang 

ab Seite 54 


Wohngeld 

Haben Sie Anspruch auf 
Mietzuschuß? 

oU C 0 Jt 0 CQ 

Rechtskosten 

Ein Zivilprozeß kann 
teuer werden 

ab Seite 97 

Der TI99 sagt es Ihnen 

3D oclie DO 



Kreuzworträtsel 

Der TI hilft beim Lösen 
und Sie können Ihre 
eigenen Rätsel bauen 

ab Seite 75 

Speech Prozessor 2 

Der Sprachsynthesizer 
kann viel mehr, als nur 
englisch sprechen 

abSeite102 

Das Fünfzehnerspiel 

Hier ist wohl einiges 
durcheinandergeraten. 
Stellen Sie die Ordnung 
wieder her 

ab Seite 81 

Das Berg'sche Spiel 

Der TI gewinnt (fast) 
immer. Durchschauen 

Sie das System 

ab Seitei 10 

Flashdance 

Wie gut sind Sie 
beim Tanzen? 

ab Seite 82 

EAN-Coder 13 

Strichcodes erstellen 

rvriifpn aiKdriirkpn 


Cyclons 

Zwei Spieler im 

Feuertest 

ab Seite 87 

Ul U 1 Vl UUoUl 1. 

Die erstellten Codes können 
von jeder Warenkasse 
gelesen werden 

ab Seite114 
















LISTING 


DAS 

LABYRINT 

VONOX 

Der Zauberer Galmot hat Dich in das Labyrinth 
von Ox verzaubert. 

Fast über 18 Bildschirme erstreckt sich das Laby¬ 
rinth, in dem Du verzweifelt nach einem Ausgang 
suchst. 

Erst wenn Du alle Gefahren überwunden hast, 
siehst Du in der Ferne den weißen Ausgang aus der 
Welt des Zauberers. 

Bis dahin ist aber noch ein weiter Weg, den nur der 
beste und intelligenteste Held lebend meistern 
kann, wobei er ständig sein einziges Leben aufs 
Spiel setzen muß. 

Du kannst Dich in den oberen zwei Dritteln des 
Bildschirms fast gefahrlos bewegen, willst Du tie¬ 
fer in das Labyrinth eindringen, drückst Du einfach 
den Feuerknopf des Joysticks. 

Es gibt jedoch keinen Weg zurück. Sind erst einmal 
Teile des Labyrints aus dem oberen Teil des Bild¬ 
schirms verschwunden, ist Dir dieser Rückweg für 
immer verschlossen. 

Teilweise versperren Dir Fallgruben den einzigen 
Durchgang nach vorne oder Du landest unverse¬ 
hens in einer Sackgasse. 

Doch es gibt einen Weg in die Freiheit, und Du mußt 
ihn nicht ganz ohne Hilfsmittel antreten. Dir steht 
eine magische Streitaxt zur Verfügung, mit der Du 
die Mauern in jeder beliebigen Richtung einreißen 
kannst. Dazu mußt Du nur die Leertaste drücken 
und Dich nach dem Summton in die gewünschte 
Richtung bewegen. Die Streitaxt macht Dir den 
Weg dann frei. 

Um ihre Magie einsetzen zu können, benötigt sie - 
jedoch Energie, die Du ihr zuführen kannst, indem 
Du die roten Gegenstände einsammelst, die Du 
unterwegs findest. 

Fürjeden aufgenommenen Gegenstand erhältst Du 
zwischen 50 und 300 Punkte. 

Jeder Einsatz Deiner magischen Axt kostet Dich 
dafür auch gleich wieder 100 Energiepunkte und 
für jeden Schritt werden Dir zusätzlich 5 weitere 
Punkte berechnet. , 

Bewegst Du Dich auf dem Bildschirm zu hoch oder 
zu tief, gehen jeweils weitere kostbare 100 Punkte 
flöten und im Falle Deines plötzlichen Todes wer¬ 
den nochmals 250 Punkte abgezogen. 

Die Mauern des Labyrinthes solltest Du tunlichst 
nicht berühren; sie sind mit negativer Energie auf¬ 
geladen und ein Sturz in eine der vielen Fallgruben 
ist Deiner Gesundheit auch nicht gerade zuträglich. 
An vielen Stellen des Labyrinthes erkennst Du ein 
bläulich schimmerndes Etwas. Dies ist ein Dimen¬ 
sionsdurchgang, der Dich in einen anderen Teil des 
Labyrinthes befördert und 150 Energiepunkte 
kostet. 

Diesen Sprung solltest Du aber wirklich nur als letz¬ 
ten, verzweifelten Ausweg wagen, denn leicht 
kannst Du in einen oberen Teil des Labyrinths ver¬ 
schlagen werden, in dem Du Dir den Weg nach un¬ 
ten erst wieder freischlagen mußt und dadurch 
kostbare Energiepunkte verlierst. 

Mit der Taste ‘s* kannst Du Dir in der linken oberen 



Bildschirmecke die Summe Deiner Energiepunkte 
ansehen. 

Ratsam ist, möglichst alle Gegenstände aufzusam¬ 
meln, die erreichbar sind und jeden Schritt genau 
zu überlegen. Bis zum rettenden Ausgang sind viele 
Fallgruben zu umgehen und Mauern einzureißen. 
Mit zu wenig Energiepunkten oder zu viel Übermut 
und Leichtsinn wirst Du mit größter Wahrschein¬ 
lichkeit Dein irdisches Leben im Labyrinth des 
Zauberers aushauchen. 

Solltest Du jedoch den Ausgang lebend errei- 


4 




LSSTING 


. .- -:or : r . 



chen, wartet eine kleine Überraschung auf Dich. 
Obwohl dieses Spiel für TI-Basic und TE-II-Modul 
geschrieben ist, läuft es aber auch ohne Probleme 
und Änderungen in Extended-Basic. 

Die Punkte im Listing gehören nicht zum Bild¬ 
schirmaufbau. Sie sollen nur, wie immer, das 
Abtippen der vielen Leerzeichen erleichtern. 

Zum Schluß noch einmal eine Übersicht über die 
Steuerung und die Punkteverteilung: 

— Joystick (1) = Bewegung in alle Richtungen, 
einschließlich d iagonal (spart Energie) möglich. 


— Feuerknopf = Labyrinth scrollt nach oben 
(nicht zurücknehmbar) 

— Taste V = Score wird links oben angezeigt. 

— Spacetaste = Gebrauch der Streitaxt 


Punkte: 

— Gegenstand aufnehmen = + 50 — + 300 Punkte 


1 Schritt 
Dimensionstor 
Streitaxteinsatz 
zu hoch/tief laufen 
Todesfall 


5 Punkte 
= —150 Punkte 
= -100 Punkte 
= —100 Punkte 
= —250 Punkte 


5 





(<<((( 


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



* 

OX 

* 


* 

MANFRED LIPOWSKI 

* 


* 

<c) 1986 

* 

20 

REM* 


* 


*BENOETIGTE GERAETE 

:* 


* 

TI99/4A KONSOLE 

* 


* 

JOYSTICK 1 

* 

30 

REM* 

WENN 

* 


* 

VORHANDEN 

* 


* 

TE-2 MODUL 

* 


* 

+SPRACHSYNTHESIZER* 

40 

REM* 


* 


* 

SPEICHERBELEGUNG: 

* 


* 

13104 BYTE 

* 


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

30 REM 

ZEILE 10-50 LOESCHEN 
SONST 

PROGRAMABSTURZ ! 

100 DIM A$(21) 

110 CALL CLEAR 
120 AB=i 

130 CALL SCREEN(5) 

140 RANDOMIZE 
150 GOSUB 2980 
160 CALL CLEAR 
170 A$(1)=" ((<<<<<(<(((((<( < 
(<<<<<<<((<" 

180 A$(2) = " <. 


L 

I 

S 

T 

I 

N 

G 

S 


190 

A*<3)= 

" ( 

9 9 

. 

( 

< 

( 

( ( 

( 

( 

( . 



( ( 

( ( ( ' 

(<<(... 

( " 













200 

A$(4)= 

" ( 

, , 

, 

< 

( 

( 

9 9 

, 

( 

( . 



( ( 

(. . . 

<<(... 

( " 













210 

A$(5)= 

" ( 

m 9 

. 

( 

( 

( 

m m 

. 

( 

( . 



( ( 

< . . . 

((<<(< 

( H 













220 

A$(6)= 

" ( 

( ( 

( 

( 

( 

( 

a | 

a 

( 

( . 



( ( 

(. . . 

<<(... 

C 













230 

A$(7)= 

" ( 

. , 

. 

( 

< 

( 

■ ■ 

a 

( 

( . 



( ( 

< < < i 

[<<<... 

< " 













240 

A$(8)= 

" ( 

. . 

■ 

( 

( 

( 

( ( 

( 

( 

( . 



( ( 

(. . . 

<<(... 

(" 













«9 

m 

N 

3>' 

MD 

II 

" ( 

a | 

9 

( 

( 

( 

a a i 

a 

( 

( ( 

( 

( 

( ( 

(.. . 

(<(... 

( " 













260 

A$<10) 

_ H 

( . 

. 

m 

( 

( 

( . 

a 

, 

( ( 



. ( 

< < ( i 

[<<<<<< 

< < 

ii 












270 

A$(11) 

— ii 

( ( 

( 

( 

( 

( 

( ( 

< 

( 

( ( 



. ( 

< (. . 

.<<(.. 

. ( 

ii 












280 

A*(12) 

— ii 

< . 

• 

• 

( 

( 

( < 

< 

( 

< ( 

< 

< 

( ( 

< < < « 

[<(((.. 

. ( 

ii 












290 

A$(13) 

= 11 

( ( 

( 

( 

( 

( 

( ( 

( 

( 

< ( 



. ( 

< < < ' 

(<<((<< 

< ( 

H 












300 

A$(14) 

_ n 

( . 

. 

, 

m 

. 

9 9 

. 

. 

a a 



. ( 

< < < < 

(<(<<(< 

( ( 

II 












310 

A$(15) 

— tt 

( ( 

( 

( 

< 

( 

( ( 

( 

( 

( ( 



a a 

■ • > • 


. < 

II 












320 

A$(16) 

=" 

( 

( 


( 


< 

( 


( 

< 


( 

< < 

( < < 

( ( 

II 












330 

A$(17) 

=" 

( ( 


( 


( 

( 


( 

( 


( 

( 

( 

< < ( ( 

( 

II 












340 

A$(18) 

= II 

( . 

■ 

. 

( 

( 

( ( 

( 

( 

( ( 

( 

( 

( ( 


<<<<<<<<<<(<'' 


350 A$ <19)="((((<((... 
<<(<<<(<<<<< " 

360 A$<20)=" (<(<<<<<(<<<<<< < 

<(...<<(<<<< *' 

370 A$<21) = “<(<<<<(<<(<<<<< < 

<<<<<<<(...<" 

380 CALL CHAR<40, M FFFF000000 
00FFFF") 

390 DATA 1818247E993C2424,18 
18257E985C1622,1818A47E193A6 
844 

400 DATA 0C0C317E581C6488,0C 
0C1014281C0A1|30308C7E1A3826 
11,3030182814385008,FFFEFCF8 
F0E0C08 

410 DATA 143C7C3414040404,00 

00FF061F0E04,0000FF60F8702,2 
02020282C3E3C28,0003074FFFFF 
7F3F,3F7FF971,0018BCFEFCF8FC 
FE,FEFCF0E0E 

420 DATA 99245AA5A55A2499,18 
3C3C7E7EFFFFFF,7E3C241818181 
83C,081C3E3E3E7F7F7F,6B493E0 
808081C3E 

430 DATA 081C3E3E7F7F2A08,10 
38387C7CFE7C38,48390E380B6C1 
808,0102060E1E3E7EFF,FFFFFFF 
FFFFFFFFF,FFFAF4E8D0A0C08 
440 DATA 3C7EFFFFFFFF7E3C,,, 

,,1F2345F989AA8CF8,00006C383 
8101038,0000140814 204,A050A0 
3008040201 

450 DATA 00222A7F7F7F6341,00 
440822082012,00081C 361C08080 
8,103810387C7C7C38,78C3868A9 
29FC07F,00FF000000FF00FF,1EC 
3615149F903FE 
460 RESTORE 390 
470 FOR A=96 TO 138 
480 READ B$ 

490 CALL CHAR(A,B$) 

500 NEXT A 

510 CALL CHAR (64, ,, 0” ) 

520 CALL SCREEN(5) 

530 DATA 5,11,16,13,16,1,16, 

1,16,1,16,1,16,1,16,1,2,11,7 

,11,5,11,2,11,7,11,16,11 

540 RESTORE 530 

550 FOR A=1 TO 14 

560 READ B,C 

570 CALL COLOR < A,B,C) 

580 NEXT A 
590 PRINT :A$<1) 

600 FOR A=i TO 22 
610 PRINT A$<2) 

620 NEXT A 
630 FOR A=1 TO 3 
640 B=INT(RND*18)+3 
650 C=INT(RND*23)+4 
660 CALL HCHAR <B,C,INT(RND*8 
)+128) 

670 CALL SOUND(-99,-A,A) 

680 NEXT A 







690 GOSUB 3220 

700 D$=" "'FIND A >THE _WAY A >0 
UT . A >0X" 

710 GOSUB 3320 
720 SC=0 
730 XX=5 
740 YY=16 

750 CALL HCHAR(XX,YY, 96) 

760 PA=96 

770 D$= nA THIS A >ARE A YOUR . 
A ADVENTURE A >MANN" 

760 GOSUB 3320 
790 RESTORE 2850 
600 IF SC<0 THEN 810 ELSE 82 
0 

610 SC=0 

620 CALL HCHAR(XX,YY,96) 

830 CALL JOYST(1,X,Y) 

640 CALL KEY(1,K,S) 

850 IF K=18 THEN 1760 
660 CALL KEY(0,M,L) 

670 IF L=0 THEN 890 
880 GOTO 2220 

890 IF (X=0)*(Y=0)THEN 800 

900 SC=SC-5 

910 IF X=-4 THEN 950 

920 IF X=4 THEN 970 

930 PA=97 

940 GOTO 980 

950 PA=10i 

960 GOTO 980 

970 PA=99 

980 CALL HCHAR(XX,YY,32) 

990 XX=XX+(Y/-4) 

1000 YY = YY +(X/4) 

1010 CALL GCHAR(XX,YY,L) 

1020 IF L< >32 THEN 1280 
1030 IF XX>1 THEN 1120 
1040 XX=XX+i 

1050 FOR A=0 TO 30 STEP 5 
1060 CALL SOUND(-333,110+A*1 
0,A,112+A*10,A) 

1070 NEXT A 

1080 D$= ,,A >GO . A >DOWN" 

1090 SC=SC-100 

1100 GOSUB 3320 

1110 GOTO 3550 

1120 IF XX< =20 THEN 1230 

1130 XX=XX-i 

1140 CALL HCHAR(XX,YY,96) 
1150 D$= ,,A >GO A >HIGHER " • . 
1160 FOR A=i TO 3 
1170 CALL SOUND (250, 311-fcA, A, 
415*A,A) 

1160 CALL SOUND<425,208*A,A, 
277*A,A) 

1190 NEXT A 

1200 GOSUB 3320 

1210 SC=SC-100 

1220 GOTO 3550 

1230 CALL HCHAR(XX,YY,PA) 

1240 CALL SOUND(-9,-5,9) 

1250 CALL HCHAR(XX,YY,PA+1) 


L 

[ 

S 

T 

I 

N 

G 

S 


1260 CALL SOUND (-9,-5,15) 

1270 GOTO 830 

1280 CALL HCHAR(XX,YY,32) 

1290 IF XX<=1 THEN 1040 

1300 IF XX>=21 THEN 1130 

1310 CALL HCHAR(XX,YY,96) 

1320 IF L=i12 THEN 2700 

1330 IF (L=120) + <L=121) + (L=l 

22)THEN 1420 

1340 IF L=40 THEN 1640 

1350 IF (L=136)+<L=137)+<L=1 

38)THEN 3720 

1360 SC=SC+INT<RND*250)+50 
1370 B=INT(RND*900)+220 
1360 FOR A=1 TO 30 STEP 7 
1390 CALL SOUND(-99,B,A,B+A, 
A,B*A/2,A) 

1400 NEXT A 

1410 GOTO 800 

1420 CALL CLEAR 

1430 CALL COLOR(1,2,2) 

1440 CALL COLOR(10,11,11) 
1450 CALL SCREEN(7) 

1460 CALL COLOR(9,16,2) 

1470 CALL COLOR(2,5,5) 

1480 CALL VCHAR(1,23,40,480) 
1490 CALL HCHAR(24,11,104,12 
) 

1500 FOR A=1 TO 23 
1510 B=INT(RND*7)+96 
1520 CALL HCHAR(A,16,B) 

1530 CALL HCHAR(A,16,32) 

1540 CALL SOUND(-222,900-A*i 
0,A,800-A*ii,A) 

1550 NEXT A 

1560 FOR A=0 TO 30 STEP 2.5 
1570 CALL SOUND(-99,-5,A) 
1580 NEXT A 
1590 CALL CLEAR 
1600 CALL SCREEN(2) 

1610 SC=SC-250 

1620 AB=2 

1630 GOTO 2980 

1640 FOR A=1 TO 30 STEP 2 

1650 CALL HCHAR(XX,YY,96) 

1660 CALL C0L0R(2,13,16) 

1670 CALL HCHAR(XX,YY,40) 
1680 CALL C0L0R(2,16,13) 

1690 CALL SOUND(-333,-6,A) 
1700 NEXT A 
1710 SC=SC-250 
1720 CALL SCREEN(14) 

1730 CALL CLEAR 
1740 AB=2 
1750 GOTO 2980 
1760 READ KO 

1770 IF K0=23 THEN 1780 ELSE 
1800 

1780 GOSUB 3630 
1790 K0=4 

1600 CALL HCHAR(XX,YY,32) 
1810 IF K0=22 THEN 1820 ELSE 
1840 




7 



1820 PRINT A$(INT<RND*20)+1) 
1830 GOTO 1850 
1840 PRINT A$(KO) 

1850 IF RND<.4 THEN 1870 
1860 GOTO 1010 
1870 A=INT<RND*3)+1 
1880 ON A GOTO 1890,1990,259 
0 

1890 FOR A=1 TO 4 
1900 B=INT<RND*23)+4 
1910 CALL GCHAR(22,B,C) 

1920 IF C< >32 THEN 1970 
1930 CALL HCHAR(22,B,112) 
1940 A=INT(RND*900)+220 
1950 CALL SOUND<-333,A,30,A, 
30,A,30,-4,0) 

1960 GOTO 1980 

1970 NEXT A 

1980 GOTO 1010 

1990 IF (KO=1)+(KO=16)+(KO=1 

7)THEN 1010 

2000 B=INT(RND*5)+1 


2010 ON B GOTO 2020,2040,206 

0,2080,2100 
2020 B=4 
2030 GOTO 2110 
2040 B=10 
2050 GOTO 2110 
2060 B=15 
2070 GOTO 2110 
2080 B=21 
2090 GOTO 2110 
2100 B=27 

2110 CALL GCHAR(22,B,C) 

2120 CALL GCHAR(22,B+l,CI) 
2130 CALL GCHAR(22,B+2,C2) 
2140 IF (C<>32)+<C1<>32)+(C2 
< >32)THEN 1010 
2150 CALL HCHAR(22,B,120) 
2160 CALL HCHAR(22,B+1,121) 
2170 CALL HCHAR(22,B+2,122) 
2180 FOR A=2 TO 26 STEP 8 


2190 CALL SOUND(-99,220-A*3, 
Aj-5,A+4) 

2200 NEXT A 

2210 GOTO 1010 

2220 IF M=115 THEN 3550 

2230 IF SC< =99 THEN 800 

2240 CALL JOYST(1,X,Y) 

2250 CALL SOUND(1,-1,20) 

2260 IF <X=0)*(Y=0)THEN 2240 

2270 SC=SC-100 

2280 IF X=-4 THEN 2290 ELSE 

2310 

2290 PI=106 

2300 GOTO 2410 

2310 IF X=4 THEN 2320 ELSE 2 

340 

2320 PI=105 

2330 GOTO 2410 

2340 IF Y=4 THEN 2350 ELSE 2 

370 

2350 P1=104 


L 

I 

S 

T 

I 

N 

G 

S 


2360 GOTO 2410 

2370 IF Y=-4 THEN 2380 Fi ST : 

2400 

2380 P1-107 
2390 GOTO 2410 
2400 GOTO 800 
2410 >:i=XX+(Y/-4) 

2420 Y1=YY+(X/4) 

2430 CALL GCHAR(XI,Y1,I) 

2440 IF 1040 THEN 2450 ELSE 
2510 

2450 jF (1 = 120)-« (1 = 121) + (1 = 1 

22)THEN 2460 ELSL 2490 

2460 SC=SC-250 

2470 CALL SOUND(-99,-7,0) 

2460 GOTO 800 

2490 SC=SC-100 

2500 GOTO 800 

2510 FOR A=1 TO 5 

2520 CALL HCHAR(XI,Yl,I) 

2530 CALL SOUND(-99,-7,A*2) 
2540 CALL HCHAR(XI,Yl,Pi) 
2550 CALL SOUND(-99,-6,A*2) 
2560 NEXT A 

2570 CALL HCHAR(Xi,Yl,32) 
2580 GOTO 800 
2590 Q=INT(RND*8)+128 
2600 FOR A=1 TO 4 
2610 C=INT(RND*24)+3 
2620 CALL GCHAR(22,C,D) 

2630 IF D< >32 THEN 2680 
2640 CALL HCHAR(22,C,Q) 

2650 A=INT(RND*900)+1500 
2660 CALL SOUND(-99,A,30,A,3 
0,A,30,-8,0) 

2670 GOTO 1010 

2680 NEXT A 

2690 GOTO 1010 

2700 CALL HCHAR(XX,YY,32) 

2710 IF SC<=149 THEN 800 

2720 CALL SOUND(-99,-7,0) 

2730 SC=SC-150 

2740 FOR A=900 TO 500 STEP - 

25 

2750 CALL SOUND(-333,A,9,A+A 
, 15) 

2760 XX=INT(RND*18)+3 
2770 YY=INT(RND*23)+4 
2780 CALL GCHAR(XX,YY,D) 

2790 IF D< >32 THEN 2830 

2800 CALL HCHAR(XX,YY,96) 

2810 CALL SOUND(-99,-6,0) 

2820 GOTO 800 

2830 NEXT A 

2840 GOTO 2740 

2850 DATA 4,4,4,4,4,4,4,4,4, 

4,4,4,6,6,6,6,6,6,6,6,5,5,5, 

5,5,9,9,9,9,9,9,2,2,2,2,2,2, 

2,2 

2860 DATA 12,12,12,12,12,12, 
12,12,12,12,12,12,14,14,14,1 
4,14,14,15,15,15,15,15 
2870 DATA 2,2,2,2,2,2,2,2,4, 


8 



434.4.4.4.4.4.4.4.4.4.4.4.4, 

9,9,9,9,9,9,9,9,10,10,10,1^, 

10 

2880 DATA 14,14,14,14,16,16, 

17.17.16.16.17.17.16.16.17.1 
7 , 21 , 21 , 21 , 21 , 21 , 21 , 21 , 21,21 
,21 

2890 DATA 3,3,3,3,3,3,3,3,3, 

4.4.4.4.12.12.2.2.18.18.18.1 
8,2,2,2,2,21,21,21,21,16,17, 
16, 17 

2900 DATA 16,17,16,17,16,17, 
18,18,18,18,18,18,18,18,2,2, 

2.2.2.4.4.4.4.4.4.4.4.4.4.4, 

4,4,6,6,6,6 

2910 DATA 9,9,9,9,5,5,5,5,5, 

14.14.14.14.14.16.17.21.21.2 
1,21,21,21,16,17,18,18,18,18 
,18,2,2,2,2 

2920 DATA 3,3,3,3,3,3,3,3,3, 

3>4,4,4,4,4,4,4,4,4,4,3,5,3, 
5,5,14,14,14,14,10,10,10,10, 
10 , 10 

2930 DATA 10,10,22,22,22,16, 

17.16.11.11.11.11.11.11.11.2 
2,22,22,22,11,11,11,7,7,7,7, 
21 , 21 , 21,21 

2940 DATA 22,21,21,2,2,18,18 
,18,2,21,21,21,17,16,17,17,1 
6,16,17,18,18,18,18,18,4,4,4 
,4,4,4,4,4 

2950 DATA 22,22,22,12,12,12, 
12,12,12,12,12,12,12,18,18,1 
8,18,18,16,17,16,17,16,17,16 
,17,16,17 

2960 DATA 16,17,16,17,22,22, 
22,22,3,3,3,3,3,3,3,3,9,9,9, 
9,9,9,12,12,12,21,21,21 
2970 DATA 22,22,22,21,21,16, 
17,18,18,18,2,2,2,2,23,2,1,1 

,l,i,l,l,l|i,i,l|l»l»l»l|l»l 
, 1, 1, 1, 1 

29B0 FOR A=1 TO 14 
2990 CALL COLOR(A,2,11) 

3000 NEXT A 

3010 CALL CHAR(35,"3C4299A1A 
199423C") 

3020 PRINT 

MANFRED LIPOWSKI PRESENT": 


• II 

a ■••••■• 


. ox": 


3030 PRINT # APRIL 1986 BY 
M.LIPOWSKI": : : : : : 

3040 IF ABOi THEN 3400 

3050 PRINT .SIND TE-2 

MODUL +": .SPRACHSYN 

THESIZER": ANGESCHL 

OSSEN ?" 

3060 CALL KEY(0,A,B) 

3070 IF B=0 THEN 3060 
3000 IF (A< >74)*(A< >106)THEN 
3130 

3090 OPEN #1:"SPEECH",OUTPUT 


L 

I 

S 

T 

I 

N 

G 

S 


3100 PRINT #1: " > A WELCOME A TO 
0 . A OX" 

3110 Z=i 

3120 GOTO 3140 

3130 Z=0 

3140 RETURN 

3150 GOTO 3150 

3160 D=INT<RND*999)+600 

3170 FOR C=1 TO LEN(B$) 

3180 CALL HCHAR(A,B+C,ASC(SE 
G*<B*,C,1))) 

3190 CALL SOUND(-99,D,30,D,3 
0,D,30,-4,C) 

3200 NEXT C 
3210 RETURN 

3220 DATA 294,262,233,220,19 

6.196.196.30000.294.262.233, 
220,196,196,196,30000 

3230 DATA 392,349,311,294,26 

2.262.262.30000.294.262.233, 
220,196,196,196,30000 

3240 RESTORE 3220 
3250 FOR A=1 TO 32 
3260 READ B 

3270 FOR C=0 TO 30 STEP 15 
3280 CALL SOUND(-99,B,C,B-2, 
C) 

3290 NEXT C 
3300 NEXT A 
3310 RETURN 

3320 IF ZOi THEN 3360 ELSE 
3330 

3330 CALL SOUND(1,110,30) 
3340 PRINT #l:D$ 

3350 RETURN 

3360 FOR A=30 TO 0 STEP -5 
3370 CALL SOUND(-99,-5,A) 
3380 NEXT A 
3390 RETURN 

3400 IF SC<0 THEN 3410 ELSE 
3420 

3410 SC=0 

3420 IF AB< >3 THEN 3450 
3430 PRINT :" DU HAST ES GES 
CHAFFT" 

3440 GOTO 3460 

3450 PRINT :" DU HAST ES NIC 
HT GESCHAFFT" 

3460 PRINT I" DEIN PUNKTESTA 
ND"jSC;"": :" NOCHMAL ? J/N" 
3470 D$=" A THIS A IS A >THE A >E 
ND" 

3480 GOSUB 3320 
3490 CALL KEY(0,A,B) 

3500 IF B=0 THEN 3490 
3510 IF <AO74>*<AOi06)THEN 
3530 

3520 GOTO 160 
3530 CALL CLEAR 
3540 END 

3550 CALL VCHAR(1,2,64,24) 
3560 IF SC<0 THEN 3570 ELSE 
3580 


» 


9 







3570 SC=0 

3560 FÜR A=1 TO LEN<STR$(SC) 

) 

3590 CALL VCHAR < 1 + A, 2,ASC < SE 
G*(STR*(SC),A,1) ) ) 

3600 CALL SOUND(1,999,9) 

3610 NEXT A 
3620 GOTO 800 
3630 CALL HCHAR(22,15,136) 
3640 CALL HCHAR(22,16,137) 
3650 CALL HCHAR(22,17,138) 
3660 FOR A=0 TO 30 STEP 5 
3670 CALL SOUND(-99,220,A,19 
6, A) 

3680 CALL SOUND(-99,196,A,33 
0, A) 

3690 CALL SOUND(-99,330,A,22 
0, A) 

3700 NEXT A 
3710 RETURN 

3720 D$= " A > YOU A FIND A >THE _ 
>WAY . A OUT A >OX" 

3730 GOSUB 3320 
3740 CALL CLEAR 
3750 CALL SCREEN(11) 

3760 FOR A=1 TO 14 
3770 CALL COLOR(A,1, 1 ) 

3780 NEXT A 

3790 CALL CHAR(128,"0103070F 
1F3F7FFF") 

3800 CALL CHAR(136,"FFFEFCF8 
F0E0C08") 

3810 CALL CHAR(129,"FFFFFFFF 
FFFFFFFF") 

3820 CALL CHAR(130,"FFFEFCF8 
F0E0C08") 

3830 CALL CHAR(137,"0") 

3840 FOR A=1 TO 21 
3850 A$(A)="" 

3860 NEXT A 

3870 CALL HCHAR(20,5,128) 

3880 CALL HCHAR<21,4,128) 

3890 CALL HCHAR(21,5,136) 

3900 CALL HCHAR<20,6,129,2) 

3910 CALL HCHAR(20,8,130) 

3920 CALL HCHAR(21,6,137) 

3930 CALL HCHAR (21,7,103) 

3940 CALL HCHAR (1,1,40,256) 

3950 CALL HCHAR(3,16,123) 

3960 FOR A=i TO 31 STEP 2 

3970 CALL HCHAR(17,A,113) 

3980 CALL HCHAR(18,A,114) 

3990 CALL HCHAR <17,A+1,115) 

4000 CALL HCHAR<18,A+l,116) 

4010 NEXT A 

4020 A=1 

4030 B=4 

4040 GOSUB 4440 

4050 A=3 

4060 B=27 

4070 GOSUB 4440 

4080 A=4 

4090 B=13 


L 

I 

S 

T 

I 

N 

G 

S 


4100 GOSUB 4440 

4110 FOR A=1 TO 20 

4120 CALL HCHAR (INT (RND-X-7) +9 

,INT <RND*31)+1,INT <RND*3)+11 

7) 

4130 NEXT A 

4140 DATA 11,11,5,5,16,1,16, 

1,2,1,2,1,2,1,2,1,2,1,16,5,1 

3,1,12,5,7,1,7,2 

4150 RESTORE 4140 

4160 FOR A=1 TO 14 

4170 READ B,C 

4180 CALL COLOR(A,B, C ) 

4190 NEXT A 

4200 FOR A=1 TO 8 

4210 FOR B=24 TO 19 STEP -1 

4220 CALL HCHAR(B,11,INT(RND 

*7)+96) 

4230 FOR C=1 TO 20 
4240 NEXT C 

4250 CALL HCHAR(B,11,32) 

4260 CALL SOUND(-333,600-B*i 

0 , 8 ) 

4270 NEXT B 

4280 FOR B=19 TO 24 

4290 CALL HCHAR(B,11,INT(RND 

*7)+96) 

4300 FOR C=i TO 20 
4310 NEXT C 

4320 CALL HCHAR(B,11,32) 

4330 CALL SOUND(-333,600+B*i 

0 , 8 ) 

4340 NEXT B 
4350 NEXT A 

4360 CALL HCHAR(24,11,96) 
4370 AB=3 

4380 FOR A=1 TO 999 
4390 NEXT A 
4400 CALL CLEAR 
4410 CALL SCREEN(13) 

4420 GOSUB 2980 

4430 GOTO 100 

4440 CALL HCHAR(A,B,108) 

4450 CALL HCHAR(A+l,B,109) 
4460 CALL HCHAR(A,B+1,110) 
4470 CALL HCHAR(A+l,B+i,111) 
4480 RETURN 


JUNGLE- 

ADVENTURE 

Seit Monaten schon trieb eine Gangsterbande in 
allen Großstädten ihr Unwesen und raubte alles, 
was nicht niet- und nagelfest war. Als die Bande 
nun letzte Woche gefangen wurde, blieb die Beute 
verschwunden, und nichts konnte sie dazu bewe¬ 
gen, zu verraten, wo die Beute versteckt ist. 

Erst nach stundenlangen Verhören und der Zusiche¬ 
rung auf Straffreiheit konnte einem Mitglied ein 


Bitte lesen Sie weiter auf Seite 14 


10 



10 
i 1 
12 

13 

14 

15 

16 
17 

19 

20 
21 
22 
26 

27 

28 
29 


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


* 

* Dschungel-Abenteuer* 

* * 

* Copyright by * 

* Matthias Renken * 

* * 
* * 

* Benoetigte Geraete * 

* TI99/4A Konsole * 

* Ext. Basic * 

* * 

* Speicherbelegung * 

* 9150 Bytes * 

* * 


»*#*K*#**#**#***#*****‘ 

ograrom bitte mit abtipp 


er,, 

100 CALL CLEAR :: FGR F=65 T 
0 90 :: CALL CHARPAT(F,E$):: 

CALL CHAR(F+32,E«>:: NEXT F 
110 CALL C HAR(1 2 1, "00FF0.0000 
0000000",120,"00201008040810 

20 " ) 

120 CALL. CHAR ( 123, "000030300 
0303000",125,"00384404081000 

130 * CALL CHAR(64, "3C4299A1A1 


99423C*’ ) 

140 FÜR F=1 TO 14 :: CALL CO 
LOR < F,8,5):: NEXT F :1 CALL 
SCREEN(2) 

150 DISPLAY AT(5,7):"JUNGLE- 
ADVENTURE" :: DISPLAY AT<8,1 
4):"BY" 

160 DISPLAY AT(11,8> : "MATTHI 
AS RENKEN" :: DISPLAY AT(18, 
3);"ß AUG. 1985" 

170 CALL KEY(0,K,S):: IF S=0 
THEN 170 


180 CALL CLEAR 
190 CALL COLOR(0,8,5,4,8,51 
200 CALL COLOR(9,6,5,10,6,5) 
210 CALL CGL0R(11,6,5,12,6,5 
) 

220 ORT=il :: DIM BEF$(11),6 
EG* (25,3) ,UNT*(25),UMG*<25) , 
FELD <25,4 >,INV*<5) 

230 INSCH®="*DIE VERSPERRTEN 
WOGEN DES FEUCHTEN FUEHRE 
N ZUM HIMMELREICH’" 

240 RANDOMIZE :: FOR E=1 TO 
5 CO*«CO**<CHR* (INT <RND*25 


)+65):: NEXT E 

250 RESTORE :: FOR F=1 TG 11 
:: READ BEF*<F):: NEXT F 
260 FOR F=1 TO 25 :: READ UM 


G$(F):: NEXT F 

270 UMT$ (5) = "BUSCHMESSER" :: 

GEG®<8,1) «"SCHLUESSEL" 

280 GEG®(9,1)="HOHES GRAS” : 

: GEG*(i1,1J--SCHLUESSEL" 

290 GEG®(13. 1)="KISTE” : : GE 
G*i14,1)»"STANDBILDER" 

300 GEGSM8,1)="DICKICHT” :: 


L 

I 

S 

T 

I 

N 

G 

S 


6EGS<20,1>="E1MER" 

310 GE6®(23,1)="HOEHLE" :: G 
EG*(25,1)="STEIN" 

320 GE6*(10,1)="DICKICHT" :: 

GEG®(15,1)="SCHLANGE" :: GE 
G®(6,1)“"GIFTIGE TIERE" 

330 UNT® (9)="BRECHSTANGE" :: 

UNT®<14)«"EINE INSCHRIFT " 
340 UNT®(20)="ER IST VOLL WA 
SSER" :: UNT®<23)-"EIN MODER 
NES ZAHLENSCHLOSS" 

350 UNT® (25)="SCHLANGENFALLE 
« :: UNT® < 10) = " EI NE HOEHLE M 


IT SCHLOSS" 

360 FOR E=1 TO 25 :: IF GEG® 
(E,1)®" M THEN GE6*(E,1)*"KEI 

NE" 

370 NEXT E 

380 FOR T=1 TO 25 


39 

40 

410 NEXT 
420 NEXT 

430 ! 

440 CALL 


FOR Y=1 TO 4 
READ FELD(T,Y) 
Y 
T 


CLEAR 


PRINT 


h sehe hier{ 


i c 

y y 


yyyyyyyyyyy" •*umg® <ort) : : 

450 PRINT "besonderheiten< 

yyyyyyyyyyyyyy" : 

460 FOR 6=1 TO 3 :: IF GEG® ( 
ORT,G)< >"" THEN PRINT 6EG®<0 


RT,G) 

470 NEXT G :: PRINT : "moegl 1 
che rieht u n g e n < y y yyyy 


yyyyyyyyyyyyyy : 

480 IF FELD(ORT,1)<>0 THEN P 
RI NT "NORD" 

490 IF FELD(ORT,2)<>0 THEN P 
RINT "OST" 

500 IF FELD(ORT,3)<>0 THEN P 
RINT "SUED" 

510 IF FELD(ORT,4)<>0 THEN P 
RINT "WEST" 

520 print " yyyyyyyyyyyyyyyyy 
yyyyyyyyyyy" ; 

530 PRINT "was soll ich tun 


3 " 

540 INPUT "x";IN® :: PRINT 
550 IF LEN <IN®)>1 THEN 580 
560 IF IN$<>"N" AND IN®<>"S" 
AND IN®< >"0" AND IN$<>"W" T 
HEN 5S0 

570 NOM®=IN® :: GOTO 900 
580 PO=ros( in®," verb 

®»SE6®(IN®,1,3)J s NOM®^SEG®( 
IM® j PO+ 1, LEN (IN®) -PO ) 

590 FOR F = 1 TO 1 1 .*: IF VERB 
®*BEF®(F)THEN 670 


600 NEXT F 

610 PRINT : " ’ " 5 SEG® (INS, 1, PO 
) ; •* ’ " : "VERSTEHE ICH NICHT ! " : 

:: GOTO 520 

620 GN F GOTO 640,860,900,12 
30,1320,1370,1320,1440,1580, 

! 670 , 430 


11 





630 GOTO 520 

640 IF NÜM$="SCHLANGE" THEN 

830 

650 IF NOM*="TIERE” OR NOM*= 
"GIFTIGE" THEN 840 
660 IF NOM$="KISTE” THEN 850 
670 IF GEG* (ORT, 1 )=" " AND GE 
Gt- (ORT,2)=" " AND GEG$(0RT,3) 
= " " THEN PRINT "HIER GIBT ES 
NICHTS AUF- ZUNEHNEN!" : 

: GOTO 520 

680 IF 3EG*(ORT, 1 ) <>NOM$ AND 
GE6$(ORT,2)<>NGM$ AND 6EG$( 
ORT. 3) < >NOM* THEN PRINT "DAS 
GIBT ES HIER NICHT ! ! " :: G 

OTO 520 

690 IF NOM*-"BUSCHMESSER" TH 
EN B~1 :: GOTO 770 
700 IF NOM$="SCHLUESSEL" AND 
ORT»11 THEN KEY 1 = 1 GOTO 

770 

710 IF NOM$="SCHLUESSEL" AND 
ORT-8 THEN k'EY2=l :: GOTO 7 

70 

7?0 IF NQM*="EIMER" THEN E=1 
:: GOTO 770 

730 IF NOMS«"BRECHSTANGE" TH 
EN BR= J :: GOTO 770 
740 IF NOM*« " SCHLANGENFALLE " 
THEN SCH= J :: GOTO 770 
750 IF NOM*="PERGAMENT" THEN 
PER“1 :: GOTO 770 
760 PRINT "DAS KANN ICH NICH 
T NEHMEN." :: GOTO 520 
770 FÜR T= 1 TO 5 :: IF INV$( 
T)<>"" THEN 780 ELSE INVS(T) 
«NOM* :: PRINT "ICH HABE ES. 

" :: GOTO 800 
780 NEXT T 

790 PRINT "SO VIEL KANN ICH 
NICHT TRAGEN. ICH MUSS 

ERST ETWAS WEGLEGEN!" :: GOT 
0 520 

800 FOR Y=1 TO 3 :: IF GEG$( 
ORT > Y)< >NOM* THEN ©10 ELSE G 
EG$ (ORT,Y)«"" :: GOTO 520 
810 NEXT Y 
820 GOTO 520 

830 PRINT : :"AHHH, DIE SCHL 
ANGE WAR GIFTIG UND HAT 

MICH UMGE“ BRACHT !!!!" :s 
GOTO 1650 

840 PRINT : :"DAS HAETTE ICH 
MIR AUCH DEN-KEN KOENNEN, D 
ASS ICH DAS HIER NICHT UEB 

ERLEBE. DIE TIERE HABEN MI 

CH UMGEBRACHT." :: GOTO 1650 
850 PRINT : :"VERFLU..., UNT 
ER DER KISTE WAREN GIFTIGE 
DORNEN. JETZT MUSS ICH STERB 
EN..." :: GOTO 1650 
860 IF NOM*< >" WASSER" THEN P 
RINT "KANNST DU MIR MAL SAGE 
N, WIEMAN "|NOM*J" GIESST ?" 


L 

I 

S 

T 

I 

N 

G 

S 


:: GOTO 520 

870 IF NGM$="WASSER" AND E=0 
THEN PRINT "DU HAST ES MICH 
T. " GOTO 520 
880 TF 0RT=6 AND E=1 THEN PR 
INT "DIE TIERE FLUECHTEN VOR 
DEM WASSER DER WEG IST FREI 
11 !" :: TIEWEG=1 :: GOTO 52 

0 

890 PRINT “SCHGEN UND GUT, A 
BER ES PAS-SIERT NICHTS! PEC 
H." :: GOTO 520 
900 HIL*=SEG*(NOM*,l,l) 

910 IF HIL$<>"N" AND HIL$<>" 
0" AND HIL*<>"S" AND HIL*<>" 


W" 

THEN PRINT " 

DIESE RICHTUN 

G G 

IST ES NICHT 

II « * 

GOTO 540 

920 

IF HIL$="N" 

AND 

FELD(ORT 

, i> 

=0 THEN 970 



930 

IF HIL*="0" 

AND 

FELD(ORT 


-0 THEN 970 



940 

IF HIL*="S" 

AND 

FELD(ORT 

,3) 

=0 THEN 970 



950 

IF HIL$«"W" 

AND 

FELD(ORT 

,4) 

*0 THEN 970 



960 

GOTO 980 



970 

PRINT : "DORTHIN 

FUEHRT K 

EIN 

WEG 1 1 " : : 

GOTO 

540 


980 IF ORT«1 THEN 1040 
990 IF ORT«22 THEN 1070 
1000 IF ORT=6 THEN 1100 
1010 IF ORT =15 THEN 1130 
1020 IF ORT=13 THEN 1160 
1030 GOTO 1180 
1040 IF HIL$<>"0" THEN 1130 
1050 IF BR=0 THEN PRINT "DA 
LIEGEN DOCH FELSEN!" :: GOT 
0 520 

1060 GOTO 1180 
1070 IF HIL$< >"0" THEN 1180 
1080 IF BO=0 THEN PRINT "ICH 
KANN NICHT SCHWIMMEN." :: G 
OTO 520 

1090 GOTO 1180 
1100 IF HIL$<>"W" THEN 1180 
1110 IF TIEWEG-0 THEN PRINT 
"DA SIND DOCH DIE TIERE." ii 

V3U I ü O/ftf 

1120 GOTO 1180 

1130 IF HIL*<>"N" THEN 1180 

1140 IF SCH=0 THEN PRINT "DO 

RT LIEGT EINE SCHLANGE!" :: 

GOTO 520 

1150 GOTO 1180 

1160 IF HIL$< >"W" THEN 1180 

1170 IF B=0 THEN PRINT "DURC 

H DAS DICKICHT KOMME ICHNICH 

T ! " : *. GOTO 520 

1180 IF HIL$="N" THEN ORT=FE 

LD(ORT,j > 

1190 IF HIL$="0" THEN ORT=FE 
LD(ORT, 2) 

1200 IF HIL*="S" THEN ORT=FE 


12 



LI) (ORT, 3) 

1210 IF HIL*="W" THEN ORT=FE 
LD( ORT,4 ) 

1220 GOTO 430 

1230 IF UNT*(ORT) < > " " THEN P 

RINT "ICH ENTDECKE:":UNT*(OR 

T):: GOTO 1250 

1240 PRINT UNT*(ORT):: GOTO 

520 

1250 IF ORT=l4 OR ORT=20 OR 
ORT= 23 OR ORT = 10 THEN 1290 
1260 FOR Y=1 TO 3 :: IF GE6* 
(ORT,Y)<>"» OR GEG*(ORT,Y)=" 
KEINE" THEN 1270 ELSE GEG$<0 
RT, Y ) = IJNT* ( ORT ) : : UNT* (ORT ) = 
"" :: GOTO 520 
1270 NEX'I Y 

1280 PRINT "NIMM BITTE ETWAS 
WEG. UND VERSUCHE ES NOCH 
EINMAL" :: GOTO 540 
1290 IF ORT=10 THEN HGE=1 EL 
SE IF ORT = 14 THEN INSC=1 
1300 IF ORT=23 THEN HÜE2=1 
1310 GOTO 520 

1320 FOR R= 1 TO 5 :: IF INV* 
(R)ONOM* THEN 1330 ELSE 134 
0 

1330 NEXT R :: PRINT "DAS HA 
BE ICH NICHT !!" :: GOTO 520 
1340 FOR E=1 TO 3 :: IF GEG* 
(ORT, E )="" THEN 1360 ELSE 13 
50 

1350 NEXT E :: PRINT "HIER L 
IEGT SCHON SO VIEL. NIMM E 
RST ETWAS WEG." :: GOTO 520 
1360 INV*(R)="" :: GEG*(ORT, 
E)=NOM* :: PRINI : :"GUT": : 

: GOTO 520 

1370 IF ORT <>14 AND ORT Ol 3 
AND PER=0 THEN PRINT "HIER G 
IBT ES NICHTS ZU LE- SEN.": 

:: GOTO 520 

1380 IF NOM*="PERGAMENT" THE 
N PRINT CO* :: GOTO 520 
1390 IF 0RT=13 THEN 1420 
1400 IF I NSC=0 THEN 1410 ELS 
E PRINT INSCH* :: GOTO 520 
1410 PRINT "ICH KANN HIER NI 
CHTS LESEN," :: GOTO 520 
1420 IF KISO0 OR NOM*O"PER 
GAMENT" THEN 1410 
1430 PRINT "AUF DEM ZETTEL S 
TEHT":CO* :; GOTO 520 
1440 IF ORT < > 10 AND 0RTO13 
AND 0RTO23 THEN PRINT "HIER 
GIBT ES NICHTS ZU OEF- FNEN 
." :: GOTO 520 

1450 IF ORT=l3 OR 0RT=23 THE 
N 1520 

1460 IF HOE=0 THEN 1470 ELSE 
IF KEY2“.1 THEN 1460 ELSE PR 
INT "MIR FEHLT DER PASSENDE 
SCHI. UESSEL. " :: GOTO 52 


L 

I 

S 

T 

I 

N 

G 

S 


0 

1470 PRINT 
CHTS OEF- 
20 

1480 PRINT 
NET SICH 
ECKE EIN 
1490 BO=l 
1500 PRINT 
ON EINMAL. 
:: IF INV* 
ELSE INV*( 


"ICH KANN HIER NI 
FNEN." :: GOTO 5 

"EINE HOEHLE OEFF 
VOR MIR.ICH ENTD 
BOOT IN IHR." 

"ICH NEHME ES SCH 
H :: FOR R=1 TO 5 
(R)O"" THEN 1510 
R)="BOOT" :: GOTO 


520 

1510 NEXT R :: PRINT "LEG ER 
ST ETWAS WEG UND VER- SUCHE 
DANN NOCH EINMAL ’OEFFN 

E’" :: GOTO 520 
1520 IF 0RT=23 THEN 1560 
1530 IF KEY2=0 THEN PRINT "I 

CH HABE NICHT DEN p 

assenden SCHLUESSEL!!" :: 60 

TO 520 

1540 PRINT "DIE KISTE IST OF 
FEN. IN IHR BEFINDET SICH EI 
N PERGAMENT." 

1550 GOTO 520 

1560 IF HGE2=0 THEN PRINT "W 
AS SOLL ICH DENN HIER OEF- F 
NEN??" :: GOTO 520 
1570 INPUT "ZUM OEFFNEN BRAU 
CHE ICH DIE KOMBINATION DES 
SCHLOSSES:":KOM* :: IF KOM$= 
CO* THEN 2040 ELSE PRINT "NI 
CHTS PASSIERT." :: GOTO 520 
1580 PRINT : : :"WILLST DU W 

IRKLICH AUF- HOEREN ?" 

1590 CALL KEY <0,K,S):: IF S= 
0 THEN J 590 

1600 IF K=74 THEN 1610 ELSE 
430 

1610 CALL CLEAR :: END 
1620 PRINT : :"DU TRAEGST BE 
I DIR: 

1630 FOR W=1 TO 5 :: PRINT I 
NV*(W):: NEXT W 
1640 PRINT : : :: GOTO 520 

1650 REM ** TOT ** 

1660 PRINT : : : :"DIESER VE 

RSUCH WAR JA NICHT SO ERFOLG¬ 
REICH.. . ABER PRO- BIERE ES 
DOCH NOCH EINMAL!" 

1670 CALL KEY(0,K,S):: IF S= 
0 THEN 1670 

1680 IF K=74 THEN 220 ELSE C 
ALL CLEAR ;: END 
1690 REM ** BEFEHLE 
1700 DATA NIM,GIE,GEH,UNT,WI 
R,LIE,LEG,OEF,END,INV,SIE 
1710 DATA "EIN HOHES GEBIRGE 
MIT SCHNEEBEDECKTEM S 

PITZEN." 

1720 DATA "EINEN GANZ NORMAL 
EN WEG MIT WILDEN PFLANZ 


» 


13 



ätLfcürt 


WEGBIfcGUNG 


1950 DATA "DER WEG ENDET HIE 
R VOR EINEMGROSSEN STEIN" 
1960 REM ** RICHTUNGEN 
1970 DATA 0,2,7,0,0,3,0,1,0, 
4,0,2,0,0,10,3 

1980 DATA 0,6,0,0,0,0, 1*2,5, 1 
,8,14,0,0,0,15,7 
1990 DATA 0,0,16,0,4,0,0,0,0 
,12,0,0,6,13,19,11 
2000 DATA 0,0,20,12,7,0,21,0 
,8,16,0,0 

2010 DATA 9,17,0,15,0,18,24, 

16,0,19,0, 17, 12,0,0, 18 

2020 DATA 13,0,0,0,14,22,0,0 

,0,23,0,21,0,0,0,22 

2030 DATA 17,25,0,0,0,0,0,24 

2040 REM ** GEWONNEN 

2050 CALL CLEAR :: PRINT : : 

:"HERZLICHEN GLUECKWUNSCH!! 
!!": :"DU HAST DEN SCHATZ GE 

HOBEN.": : 

2060 PRINT "DAS GOLD IM WERT 
VON": :">> 300.000* <<": :" 
GEHOERT DIR." 

2070 PRINT : .'"EINSAME SPITZ 
E i ! ! ": : : 


EN ZU BEI- DEN SEITEN." 

1730 DATA "EINE ALTE HAENGEB 
RUECKE UEBER EINEN REISS 

ENDEN FLUSS!" 

1740 DATA "EINE WEGBIEGUNG, 
DIE ABER SEHR GEFAEHRLICH 
AUSSIEHT!!" 

1750 DATA "EINEN HAUFEN ASCH 
E. VORHER STAND HIER SCHEIN 
BAR EINMAL EINE HUETTE!!" 
1760 DATA "EINE WEGBIEGUNG. 
SEITLICH LIEGT EIN AUSGEHO 

EHLTER BAUMSTAMM." 

1770 DATA “EINE WEGGABELUNG. 

NACH SUEDEN FUEHREN SE 

LTSAME SPUREN..." 

1780 DATA "EINE WEGBIEGUNG. 
SELTSAME SPUREN.EVENTUELL 

MENSCH- LICHER NATUR?!?" 

1790 DATA "EINE LICHTUNG, DI 
E MIT AUSSERGEWOEHNLICH 

HOHEM GRASBEWACHSEN IST!!" 
1800 DATA "DER WEG ENDET HIE 
R VOR EINERFELSWAND, DIE MIT 
DICHTEN PFLANZEN BEWACHSE 

N IST." 

1010 DATA "EINEN FLUGHAFEN M 
IT EINER UEBERWACHSENEN RU 

NWAY UND VERLASSENEN GEBAE 

UDEN!!" 

1820 DATA "EINE VERHAELTNISM 
AESSIG GUT BEFESTIGTE WEGKRE 
UZUNG!" 

1830 DATA "EINE WEGBIEGUNG. 
DAS GRAS SEITLICH IST NIED 

ERGEDRUECKT“ 

1840 DATA "DER WEG FUEHRT DU 
RCH EINIGE SELTSAME STATUEN. 

UND IMMER DIESE SPUREN..." 
1850 DATA "EINE NORMALE WEGB 
IEGUNG." 

1860 DATA "EINE WEGGABELUNG. 
IM SUEDEN SCHIMMERT ETWAS!! 

1870 DATA "EINE WEGGABELUNG. 
DER* WEG NACH SUEDEN IST M 

IT KLEINEN STEINEN BELEGT." 
1880 DATA "EINE WEGGERADE. I 
M NORDEN IST ETWAS..." 

1890 DATA "EINE WEGBIEGUNG M 
IT SELTSA- MEN PFLANZEN AN D 
EN SEITEN??" 

1900 DATA "EINE GRUENE WIESE 
. IRGEND- ETWAS PLAETSCHERT 

M 

m m m 

1910 DATA "EINE WEGBIEGUNG. 
DER WEG ISTSCHLAMMIG..!" 

1920 DATA "EIN SEE MIT EINEM 
FLUSS- ZULAUF." 

1930 DATA "DER FLUSS VERSCHW 
INDET IRENDWO UNTER EIN 

ER FELS- WAND???" 

1940 DATA "EINE MIT STEINEN 


Fortsetzung von Seite 10 

Hinweis entlockt werden, der auf ein bestimmtes 
Dschungelgebiet wies. Eine Versicherungsgesell¬ 
schaft, die besonders hart von den Diebstählen be¬ 
troffen wurde, engagiert nun einen Privatdetektiv, 
nämlich Sie, den Schatz wiederzufinden. Ein Pro¬ 
blem ist lediglich die Geldfrage. Die Versicherungs¬ 
gesellschaft zahlt nämlich nur den Hinflug in das 
Dschungelgebiet, nicht aber die Ausrüstung. 

So finden Sie sich also mutterseelenallein mitten 
im Dschungel wieder und sollen die Beute finden.. 
Soweit zur Rahmenhandlung. Zum Programm 
bleibt zu sagen, daß bei der Eingabe der DATA- 
Zeilen sehr auf Sorgfalt geachtet werden muß. Die 
Eingabe der Befehle beim Spiel erfolgt nach dem 
Schema VERB+NOMEN. 

Für das Spiel ist zwar keine Speichererweiterung, 
wohl aber das Extended-Basic Modul nötig. Die 
Punkte in diesem Programm diesmal mitabtippen. 
So wünsche ich denn viel Spaß auf der Jagd nach 
dem verlorenen Schatz. 

Matthias Renken 



14 




LISTING 



Zuerst wird das Kurzprogramm mit den Grafikde¬ 
finitionen geladen, und gestartet. Es startet dann 
selbständig das Hauptprogramm von einer Kassette. 
Das Vorprogramm wird erst wieder benötigt, wenn 
das Hauptprogramm mit FCTN-CLEAR oder ähn¬ 
lichem unterbrochen/beendet wurde. Besitzer einer 
Diskettenstation können den RUN-Befehl im Vor¬ 
programm entsprechend verändern, Besitzer einer 
Speichererweiterung können beide Programme zu 
einem zusammenfügen. (Die Trennung war notwen¬ 
dig, da das Hauptprogramm den Speicher voll¬ 
ständig füllt.) 


ZUM PROGRAMM SELBST: 


Sie müssen mit einem Hubschrauber durch unter¬ 
irdische Höhlen fliegen. Die Steuerung erfolgt mit 
den Pfeiltasten. Ein Schuß kann mit ausgelöst 
werden, wobei dieser unbegrenzt nach unten fällt, 
wenn der Hubschrauber nach oben/unten fliegt, 
bzw. stillsteht, oder 5 Schritte zur Seite in Flug¬ 
richtung des Hubschraubers. Außerdem steht noch 
mit “A“ eine Bombe zur Verfügung, die in die 
(erforderliche) Flugrichtung (links/rechts) nach 
unten fliegt. Sie richtet sich ausschließlich gegen 
Mauern, wobei sie außer dem getroffenen Stück 
noch das darüber/darunter bzw. links/rechts liegen¬ 
de Teil mitnimmt (falls vorhanden). 

Hat man die Lücke in den Wänden am unteren 
Ende des Bildes erreicht, so kommt man zum näch¬ 
sten der drei Bilder, bzw. wieder zum ersten. 


DIE GEFAHREN: 


1. Der Treibstoffvorrat 

Er beträgt am Anfang 2000 Einheiten, die sich lau¬ 
fend vermindern. Man kann ihn jedoch wieder er¬ 
gänzen, indem man auf dem Deck der Versorgungs¬ 
station landet und anschließend X drückt. Wird der 
Hubschrauber ganz zerstört (siehe unten) so wird 
der Vorrat nicht(ü!) wieder aufgefüllt. 

2. Die Höhlenwände 

Mit ihnen sollte man grundsätzlich nicht Zusammen¬ 
stößen, da dies eine vollständige Zerstörung zur Fol¬ 
ge hat. Zu ihnen zählen auch Mauern, unterirdische 
Seen, usw. 

3. Die Vulkane: 

Sie brechen in regelmäßigen Zeitintervallen, jedoch 
in zufälliger Reihenfolge, aus (alle 4 Schritte). 

In den Bereich ihrer Auswürfe zu gelangen, hat eine 
vollständige Vernichtung zur Folge. 

4. Vier bewegliche Minen 

Sie sind von den unbeweglichen durch ihre grüne 
Farbe zu unterscheiden. Ein Zusammenstoß mit 


ihnen hat nur die Vernichtung des Hubschraubers 
zur Folge, der Pilot springt jedoch ab und kann nun 
zu Fuß die nächste Versorgungsstation erreichen. 
Für ihn ist nun jedoch alles tödlich! 


DIE STEUERUNG: 


S = links 
D = rechts 

Hierbei werden ein Kästchen hohe Hindernisse 
automatisch bestiegen. 

A = Sprengung des links/rechts/darüber befindli¬ 
chen Mauerstücks 

E = Aktivierung eines Düsenrucksacks (nur hierbei 
erfolgt Treibstoffverbrauch). Das Männchen 
steigt nun senkrecht in die Höhe, bis es an der 
Decke (oder sonstwo) anstößt und fällt an¬ 
schließend wieder zu Boden. Durch Druck auf 
S oder D bewegt es sich einen Schritt zur 
Seite und fällt dann wieder. 

Fallen Sie in einen See, so schwimmen Sie automa¬ 
tisch zu einem Boot, das Sie zur Versorgungsstation 
bringt. 

Noch eine Anmerkung zu den Minen: Sie können 
nicht abgeschossen werden (nur bei.beweglichen 
hat dies Geltung), der Schuß geht durch sie hin¬ 
durch. 

5. Die Lampe 

Sie ist die einzige freiwillige Gefahr. Trifft man sie 
mit einem Schuß, so erhält man zwar 100 Punkte, 
wird aber unsichtbar. Man kann seinen Aufenthalts¬ 
ort nur noch anhand des Ursprungs der Schüsse be¬ 
stimmen. Dies wird erst bei vollständiger oder teil¬ 
weiser Vernichtung wieder aufgehoben, bzw. bei 
Erreichen des nächsten Bildes. 

Noch ein Hinweis: 

Die winkenden Forscher, die Sie laut im Programm 
enthaltener Anleitung retten sollen, werden durch 
Berührung eingesammelt. 

Zur Eingabe: 

Die Großbuchstaben B, C, H und O sind in allen 
Grafikdefinitionen der folgenden Zeilen zusammen 
mit der ‘CTRL‘-Taste einzugeben: 150, 1010, 1020, 
1120—1340. Da die Buchstaben auch in Befehlen 
Vorkommen, in denen Text und Grafik gemischt 
sind, gilt dies nur, wenn die Buchstaben nicht in 
einem ‘sinnvollen 4 Wort Vorkommen. 

Es bedeuten: 

CTRL B - Luftmine 1 
CTRL C — Luftmine 2 
CTRL H - Mauer 
CTRL O - Lampe 


15 




10 


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

1 

10 

i 

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

11 

i 

* 

RETRUN 

* 

L 

11 

t 

* 

RETRUN 

* 

12 

i 

* 

(Teil 1) 

* 

i 

12 

i 

* 

(Teil 2) 

* 

13 

i 

* 


* 

Q 

13 

i 

* 


* 

14 

i 

* 

Copyright by 

* 

O 

14 

i 

* 

Copyright by 

* 

15 

i 

* 


* 

T 


i 

* 


* 

16 

i 

* 

Heiko Oehring 

* 

1 

16 

i 

* 

Heiko Oehring. 

* 

17 

i 

* 


* 

N 

17 

i 

* 


* 

19 

i 

* 

Benoetigte Geraete 

* 

19 

i 

* 

Benoetigte Geraete 

* 

20 

; 

* 

TI99/4A Konsole 

* 

G 

20 

i 

* 

TI99/4A Konsole 

* 

21 

i 

* 

Ext- Basic 

* 


21 

; 

* 

Ext- Basic 

* 

22 

i 

* 

Cassettenrec. 

* 

s 

22 

i 

* 

Cassettenrec - 

* 

23 


*(oder Disk+ozK-trw. 

) * 


23 


*(oder Disk+32k-Erw. 

) * 

24 

i 

* 


* 


24 

i 

* 


* 

26 

i 

* 

Speicherbelegung 

* 


26 

i 

* 

Speicherbelegung 

* 

27 

i 

* 

931 Bytes 

* 


27 

| 

* 

12214 Bytes 

* 

28 

i 

* 


* 


28 

i 

* 


* 

29 

i 

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


29 

i 

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


100 CALL CHAR(96,"FFFFFFF970 
302000FFFFDE5C18181000000818 
181E7EFFFF181818183C3D7FFF") 
110 CALL CHAR(100,"E0FCE0C08 
080F0F8F0E0FEF0E0F8F0C00F0F1 
FFF7FFF0F07030F3F1F0F7F3F1F" 
) 

120 CALL CHAR(104,"FFFFFFFFF 
FFFFFFF00143E3E7C7EFFFF00000 
000001800000000000000101000" 
,108,"0000183C3C180000182419 
7B1B3B4810") 

130 CALL CHAR(112,"00F8217F9 
FF97000007C1038447C3800001F8 
4FEF99F0E000080DEFDFFDE8000" 
) 

140 CALL CHAR(140,"601053BCB 
C531008081152BCBC521160",143 
,"7CFE54547C283810") 

150 CALL CHAR(124,"00FFFF404 
921100F02070217153F7F557FFFF 
F02928408F0",136,"FF89FF91FF 
89FF917EFF1824187E1824") 

160 CALL CHAR(128,"25124A2A2 
AACA9A9AA4A2AAA9C5B3C1C00422 
4183C182442187E18FF3C187E18" 
) 

170 CALL CHAR <116,"80C0E0E0F 
8FCFEFF0103070F0F3F7FFF00000 
00000000066") 

180 CALL CHAR(40,"FFFFFCFEF2 
F8CCC2E2C7CEFCF8FCFFFFFFFFBF 
1F3F77638743733F9FDF7FFFFF") 
190 CALL CHAR(121,"000000000 
0FFFEFC1824187E18FFFEFC92543 
81038549200",64,"1824183C5A1 
82442") 

200 RUN "CS1" 


100 CALL CLEAR :: CALL SCREE 
N(2):: RANDOMIZE :: CALL COL 
OR(1,2,2,2,7,2,9,7,2,10,7,2, 
11,5,2,12,13,2,13,11,2,14,7, 
16) : : DIM W<11) ,VH(11) 

110 Ml$="1824183C5A182442" : 
: M2$="1824997E18182442" :: 
CALL CHAR(120,Ml$):: FOR 1=3 
TO 8 :: CALL COLOR(I,11,2): 
: NEXT I :: GOTO 160 
120 PRINT "iiiiiiiiiiiiiiiii 

iiiiiiiiiiih . 

.hh hh) hhe -fhd hh) 

b c b . . c h" 

130 PRINT "h h h h- h-.h h 

h h h) h hh hhd hd...h..hhd 
h h h*)h h" 

140 PRINT "h h h h- h..h h 

*b( h *h hh ' a hhe--'--' a 
..a..'..a hh.... 


iiiiiiiiiiiiiiiii 


"h h h h. . . . h. . h h 
hh hhd hd...h.-hhd 
h" 

"h h h h-.-.h-.h h 
hh ' a hhe-- '- - a 


.h " 

150 PRINT "h H j p BY H.OEHR 

ING r j C hh.. 

.. -h'a'a'a'a'a'a'a'a' 

a'a'a'a'a'a": : s ss RETURN 

160 B=0 :: GOSUB 120 :: PRIN 

T "DRUECKEN SIE:. 

...'a'a'a'a'a'a'": :"1 < ANL 

EITUNG": :"2 < START": : : : 

170 FOR 1=30 TO 0 STEP -2 :: 
CALL SOUND(10,110,1,220,1,3 

30.1) :: CALL SOUND(10,330,I, 

440.1.550.1) :: CALLSOUND(10 
,550,1,660,1,770,1):: NEXT I 
180 CALL KEY(0,K,S):: IF K=4 
9 THEN 910 ELSE IF K=50 THEN 

190 ELSE 180 

190 CALL CLEAR :: CALL COLOR 
(1,2,2,11,7,5):: SC,L,B=0 :: 
T=2000 :: CALL SCREEN(7) 

200 CALL DELSPRITE(ALL):: CA 
LL CLEAR :: CALL B(VZ,W(),V 
HO):: CALL A(SC):: CALL F (T 
):: CALL L(L):: V,H=4 
210 CALL SPRITE(#1,113,5,V*8 


16 
















-7,H*8-7):: FOR 1=1 TO 4 :: 
VM(I)=—I :: NEXT I :: FOR 1= 
1 TO 4 

220 VM(I)=INT(RND*21)+3 :: H 
M(I)=INT(RND*30>+2 :: CALL G 
CHAR(VM(I) ,HM(I) ,Z) : s IFZO 
32 THEN 220 

230 FOR 0=1 TO 4 :: IF 0=1 T 
HEN 240 ELSE IF VM(0)=VM(I)T 
HEN 220 

240 NEXT O :: CALL SPRITE(#1 
+1,INT(RND*2) +130,13,VM(I)*8 
—7,HM(I)*8—7):: RM(I)=-1 :: 
NEXT I :: CALL SOUND(500,880 
,0,1760,0) 

250 FOR 1=1 TO 4 :: CALL T(S 
F,V,H,SC):: T=T-1 :: CALL F( 
T):: IF T=0 THEN 380 ELSE ON 
SF+1 GOTO 260,360,200,380,4 
00 

260 IF I/2=INT(1/2)THEN CALL 
CHAR(120,M2$)ELSE CALL CHAR 
<120,Ml*) 

270 CALL GCHAR(VM(I),HM(I)+R 
M(I),Z):: IF Z=32 THEN 290 
280 RM(I)=—RM(I) 

290 HM(I)=HM(I)+RM(I):: CALL 
LOCATE(#1+1,VM(I)*8-7,HM(I) 
*8-7):: CALL COINC(ALL,X):: 

IF X THEN 460 

300 NEXT I :: GOSUB 310 :: G 
OTO 250 

310 X=INT(RND*VZ)+1 
320 CALL HCHAR(VV < X)+1,VH(X) 
,129):: CALL HCHAR(VV(X),VH( 
X),128):: CALL SOUND(-500,-7 
,7) 

330 IF H< >VH(X)THEN 340 ELSE 
IF V=VV(X)OR V=VV(X)+1 THEN 
350 

340 CALL VCHAR(VV(X),VH(X) , 3 
2,2):: RETURN 

350 CALL VCHAR(VV(X),VH(X),3 
2,2):: GOTO 380 
360 CALL SOUND(500,440,0,880 
,0):: CALL SOUND(500,880,0,1 
760,0):: IF T>20 THEN 370 EL* 
SE SC=SC+20 

370 T=2000 :: CALL A(SC):: C 
ALL F(T):: GOTO 300 
380 CALL PATTERN(#1,123):: F 
OR 1=1 TO 30 STEP 5 :: CALL 
SOUND(200,-7,I)::' NEXT I :: 
T=2000 :: L=L+1 :: IF L=5 TH 
EN 410 ELSE CALL L(L) 

390 V,H=4 :: CALL SPRITE(#1, 
113,5,V*8—7,H*8—7):: GOTO 25 
0 

400 CALL SOUND(-500,440,0):: 

CALL HCHAR(V,H,32):: SC=SC+ 
50 :: CALL A(SC):: GOTO 250 
410 FOR 1=0 TO 30 STEP 3 :: 
CALL SOUND(250,329,1,165,1): 


L 

I 

S 

T 

I 

N 

G 

S 


: CALL SOUND(250,329,I,146,I 
):: CALL SOUND(250,262,I,131 

,I> 

420 CALL SOUND(250,262,I,165 
,1):: NEXT I :: CALL DELSPRI 
TE(ALL):: CALL CLEAR :: CALL 
SCREEN(2):: CALL COLOR(ll,5 
,2):: GOSUB 120 
430 PRINT "SIE HABEN";SC: :" 
PUNKTE ERREICHT": : : :: INP 

UT "WOLLEN SIE NOCHMAL?":A$ 

: ; IF SEG$(A$,1,1)="J" THEN 
450 

440 CALL CLEAR :: END 
450 RESTORE :: CALL CLEAR :: 
GOTO 160 

460 CALL SPRITE(#1,123,5,V*8 
—7,H*8—7):: CALL SOUND(500,- 
5,0):: CALL SOUND(1,110,30) 
470 CALL PATTERN(#1,137) : : G 
OSUB 480 :: GOTO 650 
480 CALL GCHAR(V+l,H,Z):: IF 
Z< >32 THEN 500 

490 CALL SOUND(-100,160,10,1 
10,10):: V=V+1 :: CALL LOCAT 
E(#1,V*8—7,H*8—7):: GOTO 480 
500 IF Z=124 THEN 640 ELSE I 
F Z=125 THEN 630 ELSE IF Z=1 
21 THEN 580 ELSE IF Z=120 TH 
EN 570 

510 IF Z=115 OR Z=118 OR Z=1 

17 THEN GOSUB 530 

520 CALL SOUND(-100,660,0):: 

CALL SOUND(100,880,0):: CAL 
L PATTERN(#1,64):: RETURN 
530 V=V+1 :: CALL SPRITE(#1, 
140,11,V*8—8,H*8—7) 

540 CALL SOUND(-500,-5,10):: 

CALL GCHAR(V,H-1,Z):: IF Z= 
116 THEN 560 ELSE H=H-1 :: C 
ALL SPRITE(#1,141,11,V*8—8,H 
*8-7) 

550 FOR 1=1 TO 10 :: NEXT I 
:: CALL PATTERN(#1,140):: FO 
R 1=1 TO 10 :: NEXT I :: GOT 
O 540 

560 H=H—1 :: V=V-2 :: GOTO 5 
80 

570 y=V+i :: H=H+1 :: CALL S 
PRITE(#1,64,5,V*8—7,H*8—7):: 
GOTO 650 

580 V=V+1 :: CALL SPRITE(#1, 
122,5,V*8—7,H*8-7):: CALL SO 
UND(-500,262,0,523,0,1046,0) 
590 CALL SOUND(-200,-3,0):: 
CALL GCHAR(V,H+1,Z):: IF Z=3 
2 THEN 610 

600 V=V-1 :: H=H+1 :: CALL S 
PRITE(#1,113,5,V*8-7,H*8-7): 
: CALL SOUND(-500,440,0,1320 
,0,3960,0):: T=2000 :: CALL 
F (T):: GOTO 250 
610 H=H+1 :: CALL LOCATE(#1, 


1 » 


17 




V*8-7,H*8-7):: CALL GCHAR(V+ 
1,H,Z):: IF Z=117 THEN 620 E 
LSE 590 

620 H=H+1 :: CALL SPRITE(#1, 
64,5,V*8-7,H*8—7):: GOTO 650 
630 V=V+1 :: H=H-1 :: CALL L 
OCATE(# 1 ,V*8-7,H*8—7) 

640 CALL SOUND(500,440,0,132 
0,0,3960,0):: CALL PATTERN(# 
1,113):: T=2000 :: CALL F(T) 
:: GOTO 250 

650 FOR 1=1 TO 4 :: CALL KEY 
(0,K,S):: IF K=65 THEN 710 E 
LSE IF K=83 THEN 770 ELSE IF 
K=68 THEN 780 ELSE IF K=69 
THEN 850 

660 IF I/2=INT(1/2)THEN CALL 
CHAR<120,M2T)ELSE CALL CHAR 
(120,Ml*) 

670 CALL GCHAR(VM(I),HM(I)+R 
M (I) ,Z):: IF Z=32 THEN 690 
680 RM(I)=—RM(I) 

690 HM(I)=HM(I)+RM(I):: CALL 
LOCATE(#1+1,VM(I)*8—7,HM(I) 
*8-7):: CALL COINC(ALL,X):: 
IF X THEN 380 

700 NEXT I :: GOSUB 310 :: G 
OTO 650 

710 CALL GCHAR(V+1,H,Z):: IF 
Z< >136 THEN 730 ELSE CALL H 
CHAR(V+l,H,123):: CALL SOUND 
(-500,-7,0):: SC=SC+15 :: CA 
LL A(SC) 

720 CALL HCHAR(V+1,H,32):: G 
OTO 470 

730 X=—1 :: GOTO 750 
740 IF X=1 THEN 660 ELSE X=1 
750 CALL GCHAR(V,H+X,Z):: IF 
Z< >136 THEN 740 ELSE CALL H 
CHAR(V,H+X,123):: CALL SOUND 
(-500,-7,0) 

760 SC=SC+15 :: CALL A(SC):: 
CALL HCHAR(V,H+X,32):: GOTO 
740 

770 X=—1 :: GOTO 790 
780 X=1 

790 CALL GCHAR(V,H+X,Z):: IF 
Z=32 THEN 810 ELSE IF Z=121 
THEN 840 ELSE IF Z=120 THEN 
830 

800 CALL GCHAR(V-l,H+X,Z):: 
IF Z< >32 THEN 660 ELSE V=V-1 
:: H=H+X :: CALL LOCATE(#1, 
V*8-7,H*8—7):: GOTO 820 
810 H=H+X :: CALL LOCATE(#1, 
V*8-7,H*8-7>:: CALL GCHAR(V+ 
1,H,Z):: IF Z=32 THEN 470 EL 
SE IF Z=117 THEN 530 ELSE IF 
Z=35 THEN 200 

820 CALL LOCATE(#1,V*8-7,H*8 
-7):: GOTO 660 
830 H=H+2*X :: GOTO 820 
840 V=V-1 :: H=H+1 :: GOTO 5 


L 

I 

S 

T 

I 

N 

G 

S 


80 

850 CALL PATTERN(#1,109):: C 
ALL SOUND(-4250,-6,10):: T=T 
-1 :: CALL F(T);: IF T=0 THE 
N 470 

860 CALL GCHAR(V-l,H,Z):: IF 
Z< >32 THEN 470 ELSE V=V~1 : 

: CALL LOCATE(#1,V*8-7,H*8-7 
) 

870 CALL KEY(0,K,S):: IF K=8 
3 THEN 880 ELSE IF K=68 THEN 
890 ELSE 850 
880 X=—1 :: GOTO 900 
890 X=1 

900 CALL GCHAR(V,H+X,Z):: IF 
Z< >32 THEN 850 ELSE H=H+X : 

: CALL LOCATE(#1,V*8-7,H*8-7 
):: GOTO 470 

910 CALL CLEAR :: CALL COLOR 
(1,7,2):: DISPLAY AT( 1 , 1 ):". 
.RETRUN. 

920 V=3 :: AT="SIE MUESSEN I 
M AUFTRAG DER" :: CALL S(V,A 
T>:: AT="SURYKANT COMPANY IN 
EINEM" :: CALL S(V,AT) 

930 AT="UNTERIRDISCHEN HOEHL 
ENSYSTEM" :: CALL S(V,AT):: 
AT="NACH VERSCHOLLENEN FORSC 
HERN" :: CALL S(V,AT) 

940 AT="SUCHEN." :: CALL S(V 
,AT) 

950 V=V+1 :: AT="SIE WERDEN 
DABEI VIELEN" :: CALL S(V,AT 
a*="GEFAHREN BEGEGNEN,DI 
E SIE" :: CALL S(V,AT) 

960 AT="UEBERWINDEN MUESSEN. 
" :: CALL S(V,AT):: V=V+1 :: 
AT="ACHTEN SIE DABEI JEDOCH 
AUF" :: CALL S(V,AT) 

970 AT="IHREN TREIBSTOFFVORR 
ATM" :: CALL S(V,AT):: V=V+ 
1 :: AT="WIRD IHR HUBSCHRAUB 
ER" :: CALL S(V,AT) 

980 AT="GETROFFEN,SO MUESSEN 
SIE ZU" :: CALL S(V,AT):: A 
T="FUSS DIE NAECHSTE VER-" : 

: CALL S(V,AT) 

990 AT="SORGUNGSSTATION ERRE 
ICHEN." :: CALL S(V,AT):: V= 
23 :: AT=" IRGEND EINE TASTE 
DRUECKEN" :: CALL S(V,AT) 
1000 CALL KEY(0,K,S):: IF S= 
0 THEN 1000 ELSE CALL CLEAR 
1010 V=0 :: AT="r = IHR HUBS 
CHRAUBER" :: CALL S(V,AT):: 
V=V+1 :: AT="H = MAUER" :: C 
ALL S(V,AT) 

1020 V=V+1•:: AT="0 = LAMPE" 
:: CALL S(V,AT):: V=V+1 :: 
AT="i = VULKAN" :: CALL S(V, 
AT):: V=V+1 :: AT="B C = LUF 
TMINEN" :: CALL S(V,AT) 





B 


H. 


1030 V=V+1 :: A$=" >" : = CAL 
L S(V,AT):: A$="= VERSORG 
UNGSSTATION" :: CALL S(V,A$) 
1040 V=V+1 : : A$ =,, y = BOOT" 

:: CALL S<V,A$) 

1050 V=20 :: A$=".VIEL 

GLUECK!!!" :: CALL S(V,A$): 

: V=23 :: A$=" IRGEND EINE T 
ASTE DRUECKEN" :: CALL S<V,A 
*> 

1060 CALL KEY(0,K,S):: IF S= 
0 THEN 1060 ELSE CALL CLEAR 
:: GOTO 190 

1070 SUB B(V Z,VV() ,VH()):s F 
OR 1=1 TO 3 :: CALL SOUND(15 
0,1*110,0):: NEXT I :: CALL 
SOUND(150,550,0):: CALL SOUN 
D(150,440,0) 

1080 CALL SOUND(300,550,0):: 

B=B+1 :: IF B=4 THEN 1360 
1090 CALL VCHAR(1,31,31 ,96) : 

: DISPLAY AT(1,1):"PUNKTE:-. 
.... FUEL:.h ( ' a ' a' a' 

aaaaaaaa a*h 

. *" 

1100 FOR 1=4 TO 22 STEP 3 :: 

READ R* :: DISPLAY AT(I,1): 
R$ :: NEXT I 

1110 READ VZ :: FOR 1=1 TO V 
Z :: READ VV(I),VH(I):: NEXT 


I :: SUBEXIT 

1120 DATA " d...B. 

.-f e_C. 

.gd.C. 

.-f " 

1130 DATA "e.i-x- 


i.g) bcbcbchcbcbHbcbc 

hcbcb)....+hhhhhhhhhhhhhhhhh 
hhhhhhHHHHh" 

1140 DATA "(a'a’a'a'a'a'a'a' 

a' a' a (. -. - *d.-.- 

.-fe.B. . -. 


. C .- g" 

1150 DATA "d---i x-i 

. . . . i. -fe.... bccbhcHcbcbh 


cbbchcbbcb+d...-a*'aa'a a a 
'a'aa'a'a(*" 

1160 DATA "e.B.- 

.gd. 

C..C.-fe. 


1170 DATA "d-i - - Y.. 

; ~.-f ) bcchb+tvvvvsvvvv 

vvvvvii) - . . g (a' a' aa a a a a 
'a'a'a'.-.-f" 

1180 DATA "e.B. 

. gd. - -C- - - 

.-f e###bcbbcci cbcbcc 

bHbbicbbcc+" 

1190 DATA 8,5,10,5,20,11,12, 
11,19,11,24,17,7,22,13,22,24 

1200 DATA " ). C.-.bcb 

...C cbc..gh) B...B.*h < 


L 

I 

S 

T 

I 

N 

G 

S 


B. 


aa. . -f hh ) 


1210 DATA "hh (. . i.O. 

. C. - i - -B. .-fh (. -+h)- x- -+h) 

. ..+h)..x +(.-+hhh)cicHb+<'* 
)c+(a*)bH+h" 

1220 DATA "d.-'a'aa'a*'*(- 

'*(...* <a'*). - x.B.>C 

.-f h) +H) y.. - :~- 

...iB...B g" 

1230 DATA "hhhhhtvvvvvsvvvvv 


5 vuh)bi...+hhh( a a a *hhhhh 

hhhhhhhHHHhhh <.*hhh ( 

' a' a ' * ( *" 

1240 DATA "h < - - C. a'a. 

. . B.-P (. B- - i B. 

.ge.+h ) . . . C. - 

bcbc x . - C -f " 


1250 DATA "d C + )b+hhh).- - - + 
hhhh)Hei cb+e.-.*hhhhhhhHHHHh 
hhhhhh('a'*d....aa a a. - - -a 


'a'aa 

1260 DATA " ) B.B. . . 

.C +hh)_C.C 


..x.+hhhh)ebeebbibc####c 

bcbccbi+hhh" 

1270 DATA 9,5,8,5,24,7,12,10 
, 23,11,26,15,12,17,27,2^. ,12, 
22,26 

1280 DATA ")..bbcbcc-C x.. 

. . B.gh ) +hhhhhh) bcbcHci 

beebebbi.-*h'a'a' a aa a aa 
'a'a*hhhHHO" 

1290 DATA " (.B-C 

.*h(--*e.-.-b xCbeb..-b- 

_C. .H_-fdC. .+h)H+(a*) i+( 

bibc..H C g" 

1300 DATA "e B *h(a'-a'a.. 

*hhh) H.-.-fd....'.. 

. a*hh) h) . . -f ).i.i 

...*hhhhHHh" 

1310 DATA "h)-x +h>-+h 

)...*hh(..*hh)bicH+hhh)- -+hh 
h)B-.*<---+ha'a''a'a*hhHHhhh 
hh) b.+h" 

1320 DATA " (.*(. -*h ( 

*hhh) ebi+hhd B..C.- 

gh (*hh (a' *hd.>..B. 

+ (. . * (B_*" 

1330 DATA "e-y .B..+ 

(...-Fh) C gdC Itvvvvvsvvvvu ( 

.*h)..+)---'a'a*h<a'a'a. 

.*( -fh" 

1340 DATA "h>-x..H B-C 

. . i.*hh)i CH..H. 

.+h)..C_ghhhhb+h)+h)bbibeb 

+hhh)#####-f " 

1350 DATA 11,3,19,3,27,7,16, 

7,21,10,12,10,19,12,7,14,27, 

20,22,21,6,22,16 

1360 B=1 :: RESTORE 1120 :: 

GOTO 1090 :: SUBEND 

1370 SUB T(SF,V,H,SC):: CALL SP 


19 



























































KEY(0,K,S)ss IF SO0 THEN 1 
380 ELSE 1400 

1380 IF 10=59 THEN 1540 r : IF 
10=65 THEN 1690 
1390 IF K=69 THEN 1410 :: IF 
K=83 THEN 1430 ss IF 10=88 T 
HEN 1460 :: IF K=68 THEN 150 
0 . 

1400 CALL PATTERN(#1,113)*s 
FR,SF=0 :: SUBEXIT 
1410 CALL GCHAR(V—1,H,Z):: I 
F' 2032 THEN SF=3 ELSE SF=0 
1420 FR=0 ss CALL PATTERN(#1 
,113)ss V=V-1 ss GOTO 1530 
1430 CALL GCHAR < V,H—1,Z)s s I 
F Z< >32 THEN SF=3 
1440 IF Z=120 THEN SF=4 ELSE 
IF Z=32 THEN SF=0 
1450 FR=—1 zjs —H=H—1 s s CALL 
PATTERN(#1,112)ss GOTO 1530 
1460 IF V=24 THEN 1530 ELSE 
CALL GCHAR(V+l,H,Z):: IF Z<> 
32 THEN SF=3 s: IF Z=120 THE 
N SF=4 

1470 IF Z=35 THEN SF=2 ELSE 
IF Z=32 THEN SF=0 ELSE IF Z= 
120 THEN SF=4 

1480 IF Z=124 THEN SF=1 :s S 
UBEXIT 

1490 FR—0 ss V=V+1 CALL P 
ATTERN(#1,113)ss GOTO 1530 
1500 CALL GCHAR(V,H+1,Z)ss I 
F Z< >32 THEN SF=3 
1510 IF Z=120 THEN SF=4 ELSE 
IF Z=32 THEN SF=0 
1520 FR=1 ss H=H+1 ss CALL P 
ATTERN(#1,114) 

1530 CALL LOCATE(#1,V*8-7,H* 
8—7)ss SUBEXIT 
1540 SF=0 ss IF FR=0 THEN 16 
20 

1550 FOR 1=1 TO 5 s s CALL GC 
HAR(V,H+1*SGN(FR),Z)s s CALL 
HCHAR < V,H+1*SGN(FR),106) 

1560 IF Z=130 OR Z=131 THEN 
1590 ELSE IF Z=136 THEN 1610 
ELSE IF Z=143 THEN 1850 ELS 
E IF Z<>32 THEN 1580 
1570 CALL HCHAR(V,H+I*SGN(FR 
),Z)ss NEXT I ss SUBEXIT 
1580 CALL SOUND(-10,-1,0)s s 
CALL HCHAR(V,H+I*SGN(FR),Z)s 
s SUBEXIT 

1590 CALL HCHAR(V,H+I*SGN(FR 
),123)s s CALL SOUND(-500,-5, 
0)s s SC=SC+25 

1600 CALL A(SC)ss CALL HCHAR 
(V,H+I*SGN(FR),32)ss SUBEXIT 
1610 CALL HCHAR(V,H+I*SGN(FR 
) ,123)s s CALL SOUND(-500,-5, 
0)s s SC=SC+15 s s GOTO 1600 
1620 IF V+FR=24 THEN 1680 EL 
SE FR=FR+1 ss CALL GCHAR(V+F 


L 

I 

S 

T 

I 

N 

G 

S 


R,H,Z)ss CALL HCHAR(V+FR,H,1 
07) 

1630 IF Z=130 OR Z=131 THEN 
1650 ELSE IF Z=136 THEN 1670 
ELSE IF Z=143 THEN 1860 ELS 
E IF Z< >32 THEN 1680 
1640 CALL HCHAR(V+FR,H,Z)s s 
GOTO 1620 

1650 CALL HCHAR(V-«-FR,H, 123) s 
s CALL SOUND(-500,-5,0)ss SC 
=SC+25 

1660 CALL A(SC)s s CALL HCHAR 
(V+FR,H,32)s s FR=0 rs SUBEXI 
T 

1670 CALL HCHAR(V+FR,H,123): 
s CALL SOUND(-500,-5,0)s s SC 
=SC+15 ss GOTO 1660 
1680 CALL SOUND(-10,-1,0):: 
CALL HCHAR(V+FR,H,Z)s s FR=0 
s: SUBEXIT 

1690 Y=FR :: IF FR=0 THEN SU 
BEXIT ELSE FR,X,SF=0 
1700 IF X=24 THEN 1730 ELSE 
X=X + 1 :: CALL GCHAR(V+X,H+FR 
,Z)ss CALL HCHAR (V+ X ,H+FR, 10 
8 ) 

1710 IF Z=136 THEN 1740 ELSE 
IF Z=32 THEN 1720 ELSE 1730 
1720 CALL HCHAR(V+X,H+FR,32) 
ss FR=FR+SGN(Y):: GOTO 1700 
1730 CALL HCHAR(V+X,H+FR,Z)s 
: CALL SOUND(-10,-1,0)s: SUB 
EXIT 

1740 CALL HCHAR(V+X,H+FR,123 
):s CALL SOUND(500,-5,0)ss S 
C=SC+15 

1750 CALL HCHAR(V+X,H+FR,32) 
ss CALL GCHAR(V+X-l,H+FR,Z)s 
s IF Z< >136 THEN 1770 ELSE C 
ALL HCHAR(V+X-l,H+FR,123) 
1760 SC=SC+15 ss CALL HCHAR( 
V+X-l,H+FR,32) 

1770 CALL GCHAR(V+X,H+FR-1,Z 
)s: IF Z< >136 THEN 1790 ELSE 
CALL HCHAR(V+ X,H+FR-1,123) 
1780 SC=SC+15 ss CALL HCHAR( 
V+X,H+FR-1,32) 

1790 CALL GCHAR(V+X,H+FR+1,Z 
)ss IF Z< >136 THEN 1810 ELSE 
CALL HCHAR(V+X,H+FR+1,123) 
1800 SC=SC+15 ss CALL HCHAR( 
V+X,H+FR+1,32) 

1810 IF V+X=24 THEN 1830 ELS 
E CALL GCHAR(V+X+l,H+FR,Z) 
1820 IF Z< >136 THEN 1830 ELS 
E CALL HCHAR(V+X+l,H+FR,123) 
ss SC=SC+15 ss CALL HCHAR(V+ 
X+l,H+FR,32) 

1830 CALL A(SC)s s Y=0 ss SUB 
EXIT 

1840 CALL SOUND(100,262,0,44 
0,0,523,0):: SC=SC+100 :: CA 
LL A(SC):: CALL COLOR(#l,2): 


20 




LISTING 


: SUBEXIT 

1850 CALL HCHAR< V,H+I*SGN(FR 
),32):: GOTO 1840 
1860 CALL HCHAR(V+FR,H, 32):: 

GOTO 1840 :: SÜßEND 
1870 SUB S(V,AT):: V=V+1 :: 
FOR 1=1 TO LEN< AT):: CALL HC 
* HAR(V,1+2,114):: FOR 0=1 TO 
10 :: NEXT O 

1880 DISPLAY AT(V,I):SEGT<AT 


,1,1):: NEXT I :: SÜßEND 
1890 SUB A(SC):: DISPLAY AT< 
1,9)SIZE(4) :USING "####":SC 
:: SÜßEND 

1900 SUB L(L):: CALL HCHAR<1 
,27,32,4):: CALL HCHAR(1,27, 
64,4-L):: SÜßEND 
1910 SUB F(T):: DISPLAY AT(1 
,20)SIZE(4):USING "####":T : 
: SÜßEND 




Netzteilberechnung ist ein Anwenderprogramm für 
Hobby-Elektroniker. 

Das Programm ist menügesteuert. 

Nach Eingabe von Ampere und Volt zeichnet der 
TI einen Schaltplan von einem Netzteil. 
Anschließend werden die Werte von Trafo, Gleich¬ 
richter, Kondensatoren und IC-Spannungsregler 
ausgegeben. 


RESONANZ¬ 

FREQUENZ 

Mit diesem menügesteuerten Programm ist unseren 
Lötkolbenfreaks und all denjenigen, die mit 
Schwingungskreisen arbeiten, die Möglichkeit gege¬ 
ben, ihre Berechnungen direkt am Bildschirm aus¬ 
zuführen. 

Versuche und Änderungen, bis das optimale Ergeb¬ 
nis erreicht ist, gehen nun viel schneller von der 
Hand, als wenn sie “zu Fuß“ durchgeführt werden 
müßten. 

Je nachdem, welche Daten bekannt sind, können 
die restlichen Werte berechnet werden. 

Mit Hilfe eines Unterprogrammes können Spulen 
entworfen und deren theoretische Werte abgelesen 
werden. Daneben ist ein weiteres Unterprogramm 
eingebaut, mit dem sich der Ersatzwiderstand von 
zwei parallelgeschalteten Widerständen berechnen 
läßt. Hierbei ist es auch möglich, die Buchstaben 
“K“ und “M“ zu benutzen, zum Beispiel 12K 
oder 2.2M. 

Das Programm ist vollständig in TTBasic geschrie¬ 
ben und erfordert deshalb außer einem Kassetten¬ 
recorder zur Programmabspeicherung keinerlei 
Zubehör. 


21 









100 ! *********************** 


110 !* * 

120 ! * NETZTEILBERECHNUNG- * 

130 !* . * 

140 !* COPYRIGHT BY * 

150 !* * 

160 !* REINER WOLF * 

170 i* . * 

160 !* * 

190 !* * 

200 !* BENOETIGTE GERAETE * 

210 i* TI99/4A KONSOLE * 

220 !* EXT. BASIC * 

230 !* * 

240 !* * 

250 !* SPEICHERBELEGUNG * 

260 !* 4390 BYTS * 

270 !* * 


280 !*********************** 
290 ON ERROR 1150 
300 CALL CHAR(117,"000044444 
4447A40",96,"010A043A1828408 
0" ,97, "8050205C18140201",93, 
"804028183A040A01",99,"01021 
4185C205080",100,"9999599A59 
9A599A") 

310 CALL CHAR(101,"599A599A5 
99A9999" ,104, 11 FF81FF0000FFFF 
FF",108,"18244295A9422418",1 
26,"000000FF",127,"808080S03 
080808080") 

320 CALL CHAR(128,"803080FF8 
0808080",129, "000000F F 808080 
80", 130, "808080FF",131,"0000 
008080808080",132,"80808080" 

) 

330 CALL MAGNIFY(2) 

340 CALL CLEAR 

350 CALL SCREEN(5):: FOR 1=0 
TO 14 :: CALL COLOR(I,16,5) 

.* : NEXT I 

360 DISPLAY AT(1,8):"NETZTEI 
L MIT" ;: DISPLAY AT(3,5):"I 
C SPANNUNGSREGLER" 

370 DISPLAY AT(6,1):"BITTE S 
TROM EINGEBEN: AMP. " 

380 DISPLAY AT(8,3):"MOEGLIC 
H SIND 0.1,0.5," :: DISPLAY 
AT(10,17):"1,2," :: DISPLAY 
AT(12,17):"5,10 AMP." 

390 ACCEPT AT(6,22)BEEP SIZE 
(3)VALIDATE(NUMERIC,". " ) : I 
400 IF 1=0.1 OR I=.5 OR 1=1 
OR 1=2 OR 1=5 OR 1=10 THEN 4 
10 ELSE 390 

410 DISPLAY AT(15,1):"BITTE 
SPANNUNG EINGEBEN: V" 

420 DISPLAY AT(17,3):"MOEGLI 
CH SIND 5,6,8," :: DISPLAY A 
T(19,17):"12,15," :: Display 
AT(21,17):"18,24 VOLT" 

430 ACCEPT AT(15,25)BEEP SIZ 
E(2)VALIDATE(DIGIT):U 



440 IF U=5 OR U=6 OR U=S GR 
U- 17 OR U=15 OR Ü-'- _ 13 OR U=24 
THLN 450 ELSE 430 
450 CALL CLEAR :; GOTO 870 
460 IF I=.l THEN 530 
470 IF 1=.5 THEN 610 
480 IF 1=1 THEN 690 
490 IF 1=2 THEN 770 
500 IF 1=5 THEN 820 
510 IF 1=10 THEN 850 
520 GOTO 340 

530 IF U=5 THEN A$="78L05" 
540 IF U=6 THEN A$="78L06" 
550 IF 11=8 THEN A$="78L08" 
560 IF U=12 THEN A$="78L12" 
570 IF U=15 THEN A$="78L15" 
580 IF U=18 THEN A$="78L18" 
590 IF U=24 THEN A$="78L24" 
600 RETURN 

610 IF U=5 THEN A$="78M05" 
620 IF U=6 THEN A$="78M06" 
630 IF U=8 THEN A$="78M0S" 
640 IF U=12 THEN A$="78M12" 
650 IF U=15 THEN A$="78M15" 
660 IF U=18 THEN A$="78M18" 
670 IF Ll=24 THEN A$="78M24" 
680 RETURN 

690 IF U=5 THEN A$="7805" 

700 IF U=6 THEN A$="7806" 

710 IF U=8 THEN A$="7808" 

720 IF U=12 THEN A$="7812" 
730 IF U=15 THEN A$="7815" 
740 IF U=18 THEN A$="7818" 
750 IF U=24 THEN A$="7824" 
760 RETURN 

770 IF U=5 THEN A$="73S05" 
780 IF U=12 THEN A$="78S12" 
790 IF U=i5 THEN A$="78S15" 
800 IF U=24 THEN A$="78S24" 
810 RETURN 

820 IF U=5 THEN A$="78H12KC" 
830 IF U=12 THEN A$="78H12KC 


840 RETURN 

850 IF U=5 THEN A$="78P05KC" 
860 RETURN 

870 CALL HCHAR(6,3,10S);: CA 
LL HCHAR(10,3,108):: CALL HC 
HAR(6,4,126):: CALL HCHARC10 
,4,126) 

880 CALL SPRITE(#1,100,16,45 
,34,#2,101,16,61,34) 

890 CALL HCHAR(6,7,126,3):: 
CALL HCHAR(10,7,126,3) 

900 CALL SPRITE(#3,96,16,45, 
57,#4,97,16,61,57) 

910 DISPLAY AT(5,3):"TR GL" 
920 CALL SPRITE(#5,98,16,45, 
73,#6,99,16,61,73) 

930 CALL HCHAR(8,12,126,10): 

: CALL VCHAR(8,8,127,2):: CA 
LL HCHAR<10,8,128):2 CALL VC 
HAR(11,8,127,7) 


22 




9.40 CALL SPRITE (#7, 104, 16,89 
,99.#8, 104, 16,89,138):I DISP 
LAY ATI 11,13):" + + " 

950 DISPLAY ATI 13,9) : "CI C 
2" 

960 CALL HCHAR <8, 14, 129) : .' C 
ALL VCHARI9,14,127,3):: CALL 
HCHAR(8,19,129):I CALL VCHA 
RI9,19,127,3)S! CALL HCHAR <1 
7,8,130) 

970 CALL HCHAR(17,9,126,21): 

.* CALL VC HAR (14, 14,127,3) I : 
CALL HCHAR (17, 14, 130) : CALL 
VCHAR(14,19,127,3):: CALL H 
CHARU7,19, 130) 

980 CALL HCHAR<6,22,126,5):: 

CALL HCHAR(10,22,126,5):: C 
ALL HCHAR(6,22,129):I CALL V 
CHAR(7,22, 127,3) : CALL HCHA 

R 110,.22,130) 

990 CALL HCHAR(6,27,131):: C 
ALL VCHAR(7,27,127,3):: CALL 
HCHAR(10,27,132)I: DISPLAY 
AT(7,19)SI2E(1):"E" :: DISPL 
AY AT (7,26) "A" 

1000 CALL HCHAR(11,23,45) 
1010 DISPLAY AT(7,21)SIZE(3) 
:"ici" :: Display at<9,21)SI 
ZE(4):"73XX" 

1020 CALL HCHAR(10,24,129):: 

CALL VCHAR (11,24,127,6) .’ : C 
ALL HCHAR(17,24,130):I CALL 
HCHAR(8,27,128) 

1030 CALL HCHAR(8,28,126,2): 

*. CALL HCHAR (8,31,43) : : CALL 
HCHAR(17,31,45) 

1040 DISPLAY AT(1,1):"TRAFO" 
5 U + 3; "VOLT, " 

1050 DISPLAY AT(1,15):IJ"AMP 
ERE" 

1060 DISPLAY AT(3,1):"GLEICH 
RICHTER 40 V"|I?"AMP." 

1070 DISPLAY AT(18,1):"Cl-EL 
KO MIN."JUJ"V" 

1080 DISPLAY AT(18,18):1*200 
05 "uF" 

1090 DISPLAY AT(20,1) : "C2-EL 
KO MIN."}U 5 "V 10 uF" 

1100 GOSUB 460 

1110 DISPLAY AT (22, 1) " IC1J 

" | A* 

1120 DISPLAY AT(22,13):Ui"V 
"5II"AMP." 

1130 DISPLAY AT(24,4):"NEUE 
BERECHNUNG J/N" 

1140 CALL KEY(0,K,S):: IF S= 
0 THEN 1140 :: IF K=74 THEN 
1150 ELSE IF K=78 THEN 1160 
1150 CALL DELSPRITE(ALL):: A 
$="" :: GOTO 340 
1160 CALL CLEAR :: RUN "" :: 
END 


L 

1 

S 

T 

I 

N 

G 

S 


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


11 REM* RESONANZFREQUENZ * 

12 REM* * 

13 REM* Copyright by * 

14 REM* * 

15 REM* JAN KUENEN * 

16 REM* * 

17 REM*Benoet1gte Geraete* 

18 REM* TI99/4A Konsole * 

19 REM* * 

23 REM* Speicherbelegung * 

24 REM* 3749 Bytes * 


25 REM******************** 
100 CALL SCREEN(15) 

110 CALL CLEAR 

120 CALL CHAR(118,"000000242 
4242458") 

130 CALL CHAR(117,"002800444 
4444438 ") 

140 CALL CHAR(97,"0028003844 
7C4444") 

150 CALL CHAR(120,"FF0000FFF 
F0000FF") 

160 CALL CHAR(128,"003844828 
24444C6") 

170 CALL COLOR(12,5,8) 

180 K$(0)="xxxxxxxxxxxxxxxxx 
xxxxxxxxxxx" 

190 K$ ( 1 )= " 1.RESONANZFREQUEN 
Z BERECHNEN" 

200 K$(2) = "2.UNBEKANNTE SPUL 
E BERECHNEN" 

210 K$(3)="3.KONDENSATOR BER 
ECHNEN" 

220 K$(4)="4.KAPAZITIVE REAK 
TANZ" 

230 K$(5)="5.SPULEN MACHEN" 
240 K$(6)="6.INDUKTIVE REAKT 
ANZ" 

250 K$ (7) = " 7. ERSATZW.I DERST AN 
D BERECHNEN" 

260 K$(8)="8.DC-WIDERSTAND D 


ER SPULE" 

270 FR*="FREQUENZ.MHZ: 

ii 

280 SP$="SPULE.vH: 

M 


290 KO$="KONDENSATOR-pF: 

n 

300 DS$="DIAMETER SPULE MM: 

n 

310 WI$= "WINDUNGEN...: 

ii 

320 DR$=”DRAHTDIAMETER..MM: 
ii 

330 RE$="REAKTANZ. 

340 CALL CLEAR 

350 PRINT K$(0) : :TAB(12) j "M 

ENu"I : 

360 FOR 1=0 TO 8 
370 PRINT K$(I): : 

380 NEXT I 
390 PRINT K$(0) 


1 » 


23 







400 CALL KEY(0,K,S) 

410 A=K-48 

420 IF (A>8) + (A<1)THEN 400 
430 CALL CLEAR 
440 L=INT(<30-LEN(K$(A)))/2) 
430 PRINT K$ (0) : :TAB(L),'K$( 
A): :K*(0): : 

460 ON A GOSUB 530,620,710,8 
00,890,1120,1210,1570 
470 GOTO 340 

480 PRINT K$<0): : M M=MENu... 

......W-WIEDERHOLEN" 

490 CALL KEY(0,K,S) 

500 IF (K< >87) * (K< >77) THEN 4 
90 

510 CALL HCHAR(23,1,32,32) 

520 RETURN 

530 INPUT KO$:C 

540 PRINT 

530 INPUT SP$:L 

560 PRINT 

570 F=INT((1000/(<8*ATN<1))* 
(SQR<L*C))))*1000)/1000 
580 PRINT FR$;STR$(F): : 

590 GOSUB 480 

600 IF K=87 THEN 530 

610 RETURN 

620 INPUT FR$:F 

630 PRINT 

640 INPUT KO$.*C 

650 PRINT 

660 L = INT(25330296/<C*(F"2)) 

)/1000 

670 PRINT SP$;STR$(L): : 

680 GOSUB 480 

690 IF K=87 THEN 620 

700 RETURN 

710 INPUT FR$:F 

720 PRINT 

730 INPUT SP$:L 

740 PRINT 

750 C=INT(253302.96/<L*(F A 2) 

) ) /10 

760 PRINT KO$iSTR*(C): : 

770 GOSUB 480 

780 IF K=87 THEN 710 

790 RETURN 

800 INPUT FR$:F 

810 PRINT 

820 INPUT KO*:C 

830 PRINT 

840 XC=INT(10 A 7/(8*ATN(1) *F* 
C))/10 

850 PRINT RE$iXC;CHR$(128>: 

* 

• 

860 GOSUB 480 

870 IF K=87 THEN 800 

880 RETURN 

890 INPUT DS$:D 

900 PRINT 

910 INPUT WI$:W 

920 PRINT 

930 INPUT DR$:DD 


L 

I 

S 

T 

I 

N 

G 

S 


940 PRINT 
950 LS=DD*W 
960 Rl=D/2 

970 L=(l/25)*(((R1^2)*(W A 2)) 
/<9*R1+10*LS)) 

980 L = INT(L*1000)/1000 
990 PRINT "INDUKTIVITaT...vH 
i *' IL; : 

1000 PRINT "SPULENLaNGE....M 
M:'' j LS: : 

1010 INPUT KO$:c 
1020 PRINT 

1030 F=l/( <8*ATN(1 ) )*SQR(L*C 
) ) 

1040 F=INT<F*10 A 5)/100 
1050 PRINT FR$iSTR$(F): : 
1060 XL=8*ATN(1)*F*L 
1070 XL=INT(XL +.5) 

1080 PRINT RE$;XL;CHR$(128): 


1090 GOSUB 480 

1100 IF K=87 THEN 890 

1110 RETURN 

1120 INPUT FR$:F 

1130 PRINT 

1140 INPUT SP$:L 

1150 PRINT 

1160 XL=INT(<8*ATN(1)*F*L)/I 
00 +. 5)/10 

1170 PRINT RE$;XL;CHR$( 128): 


1180 GOSUB 480 

1190 IF K=87 THEN 1120 

1200 RETURN 

1210 FOR J=i TO 2 

1220 CALL HCHAR <23, 1 ,32,32) 

1230 PRINT "WIDERSTAND”;J; 

1240 INPUT : A$ 

1250 D=0 
1260 Q=0 

1270 FOR 1=1 TO LEN(A$) 

1280 B$=SEG$(A$,I,1) 

1290 IF B*<>"." THEN 1330 
1300 IF Q=1 THEN 1220 
1310 Q=1 
1320 GOTO 1400 

1330 IF B*<CHR$(48)THEN 1220 
1340 IF B*<CHR*(58)THEN 1400 
1350 IF B$="K" THEN 1380 
1360 IF B$< >"M" THEN 1220 
1370 D=3 
1380 D=D+3 

1390 A$=SEG$(A$,1,LEN(A£)-1) 
1400 NEXT I 

1410 X(J)=VAL(A$)*10 A D 
1420 PRINT 
1430 NEXT J 

1440 R=(X(1)*X(2))/(X(1)+X(2 
) ) 

1450 T=128 

1460 IF R<1000 THEN 1520 
1470 T=75 

1480 IF R<10 A 6 THEN 1510 


24 







1.490 T=T + 2 

1500 R=R/1000 

1510 R=R/1000 

1520 R=INT(R-X-10+.5)/10 

1530 PRINT "ERSATZWIDERST AND 

:" \ RjCHR*(T): : 

1540 G'OSUB 480 

1550 IF K=87 THEN 1210 

1560 RETURN 

1570 INPUT DS$:DM 

1580 PRINT 

1590 INPUT DR$:D 

1600 PRINT 

1610 INPUT "SILBER/KUPFER S- 
K: ":A$ 

1620 PRINT 
1630 2=61.35 

1640 IF SEG$(A$,1,1)="S" THE 


L 

I 

S 

T 

I 

N 

G 

S 


N 1670 

1650 IF SEG$ (, 1, 1 ) < > " K *' TH 

EN 1610 

1660 Z=56 

1670 INPUT WI$:W 

1680 PRINT 

1690 L=<(<8*ATN<1)*DM)+2*D)* 
W + 20)/1000 

1700 ML=INT(L*100+.5) 

1710 PRINT “DRAHTLaNGE. 

.: "iMU “ZM": : 

1720 R=L/(D*Z) 

1730 PRINT “WIDERSTAND SPULE 
I H fINT <R#1000+.5)/10001CHR$ 
(128): : 

1740 GOSUB 480 

1750 IF K=87 THEN 1570 

1760 RETURN 



GEWINNT 

Bereits vor drei Jahren wurde von Herrn Alexander 
Berger ein Spielprogramm gleichen Namens in ei¬ 
nem Sonderband einer Computerzeitschrift ver¬ 
öffentlicht. 

Da wir nicht annehmen, daß jeder Tl-User diesen 
Sonderband besitzt, entschlossen wir uns, eine ähn¬ 
liche Version dieses Strategie-Spiels zu veröffent¬ 
lichen, um eine eventuelle Lücke in Euerer Pro¬ 
grammbibliothek zu schließen. 

Dieses Programm hat gegenüber der Erstveröffent¬ 
lichung sogar noch den Vorteil, daß wahlweise ge¬ 
gen einen zweiten Mitspieler oder gegen den Com¬ 
puter angetreten werden kann. 

Beim Abtippen ist besondere Sorgfalt auf die DATA- 
Zeilen zu legen, da das Spiel bei Falscheingaben un¬ 
ter Umständen zwar laufen würde, der Rechner 
aber einige 4er-Reihen nicht richtig erkennen 
könnte. 

Die Spielregeln, das Spielbrett und die Spielschei¬ 
ben sind möglichst originalgetreu programmiert 
worden. 

Die Spieler setzen abwechselnd ihre roten bzw. gel¬ 
ben Scheiben in eine der sieben Spalten, von wo aus 
die Scheibe nach unten auf den Boden oder auf 
eine vorherige Scheibe fällt. 

Gewonnen hat derjenige, der vier Scheiben seiner 
Farbe in eine Reihe waagerecht, senkrecht oder dia¬ 
gonal zusammenbekommen hat. 

Sind alle Spalten voll besetzt und keiner der Spie¬ 
ler hat sein Ziel erreicht, dann endet die Partie un¬ 
entschieden. 

Für die Zugeingabe muß nur die Zifferntaste der 
gewünschten Spalte gedrückt werden. Der Compu¬ 
ter führt den Zug aus, wenn die Eingabe richtig ist 
und überprüft, ob sich vier Steine einer Farbe in 
einer Reihe befinden. 

Will man beim Spiel gegen den Computer die Far¬ 
ben tauschen, so drückt man einfach die Enter- 
Taste, wenn der Computer nach einem Zug fragt. 

Auf diese Weise kann man auch den Computer an¬ 
fangen lassen, indem man bei der Frage nach dem 
ersten Zug ‘Enter 4 drückt. 

Die Bedenkzeit des Computer beträgt pro Zug 30 s. 


25 




100 REM ******************** 


* * 
* # 

* 4 GEWINNT V2.5 * 

* * 

110 REM * * 

* COPYRIGHT BY * 

* * 
* * 
*(c)JENS TIEDEMANN * 

120 REM * * 

* * 
*BENOETIGTE GERAETE* 

* TI99/4A KONSOLE * 

* EXT. BASIC * 

130 REM * * 

* * 

* SPEICHERBELEGUNG * 

* * 

* 10302 BYTES * 

140 REM * * 

* * 


******************** 
150 CALL CLEAR : : CALL MAGNI 
FY < 3):: RANDOMIZE 
160 DIM F$(6,7),M$(69),VI(69 
,2) 

170 cha= l36 :: zug=0 :: col$ 

( 1)="GELB" :: C0L$<2)=" ROT" 

180 CALL TITEL 

190 DATA 093951,10405157,114 
1515763,12214251576369,22435 
76369,23446369,244569 
.200 DATA 05323950,0609334050 

56,0710213441505662,08111722 
354250566268,121823364356626 
8,192437446268,20384568 
210 DATA 0125323949,02052126 
33404955,0306091722273441495 
561,040710131823283542495561 
67,0811141924293643556167,12 
15203037446167,1631384567 
220 DATA 2125323948,01172226 
33404854,0205131823273441485 
460,030609141924283542485460 
66,0407101520293643546066,08 
11163037446066,1231384566 
230 DATA 17253247,1318263347 
53,0114192734475359,02051520 
283547535965,030616293653596 
5,040730375965,08313865 
240 DATA 132546,14264652,152 
7465258,01162846525864,02295 
.25864,03305864,043164 
250 DATA 311,321,331,341,211 
,221,231,241,111,121,131,141 
,342,352,362,372,242,252,262 
,272,142,152,162 
.260 DATA 172,313,323,333,343 
,353,363,373,213,223,233,243 
,253,263,273,113,123,133,143 
,153,163,173,614 
270 DATA 514,414,314,214,114 


L 

I 

S 

T 

I 

N 

G 

S 


,624,524,424,324,224,124,634 
,534,434,334,234,134,644,544 
,444,344,244,144 
280 RESTORE :: FOR Y=1 TO 6 

:: for x-i to 7 :: read f*(Y 
,X):: next x :: next y 

290 FOR 1=1 TO 69 :: READ M* 
(I):: NEXT I 

300 A*="00030F1F3F3F7F7F7F7F 
3F3F1F0F030000C0F0F8FCFCFEFE 
FEFEFCFCF8F0C000" 

310 CALL SCREEN<2):: CALL DE 
LSPRITE(ALL):! CALL CLEAR :: 

CALL COLOR(13,12,5,14,10,5) 
320 CALL COLOR<0, 16,1,2,16,1 
,3,16,1,4,16,1,5,16,1,6,16,1 
,7,16,1,8,16,1,9,1,5,10,1,5) 
330 CALL CHAR (96, A$, 128, A$, 1 
36,A$> 

340 CALL CHAR ( 100,"FEFCF8F0E 
0E0E0E0E0E0E0E0E0E0E0E000000 
01F3F000000",103,"000000FEFC 
0000000102040810101010101010 
1010101010101010101113171F") 
350 DISPLAY AT(3,7) :" d " 5RPT$ 
<" i g", 7) | " h " 

360 FOR 1=1 TO 6 :: DISPLAY 
AT (2 + 2*1,7) .* "e"} RPT$ (" 'b " , 7) 

;"i":TAB(7);"e";RPT$("ac",7) 

} " i" : : NEXT I :: DISPLAY AT 
(17,8):" 1234567" 

370 CALL HCHAR(15,24,106) 

380 DISPLAY AT(20,1 ) BEEP: " 1. 
SPIELER GEGEN COMPUTER": :" 

2. ZWEI SPIELER'.IHRE WAH 

L ?" 

390 CALL KEY(0,K,S):: IF K<4 

9 OR K>50 THEN 390 

400 CALL HCHAR(20,1,32,160): 

: IF K-50 THEN 860 
410 IF ZUG>41 THEN DISPLAY A 
T(21,9):"UNENTSCHIEDEN" :: R 
UN ELSE CHA-264-CHA :: DISPL 
AY AT(21,10)BEEP:"IHR ZUG ?" 
420 CALL KEY(0,K,S):: IF K=1 
3 THEN DISPLAY AT(21,8):" C 
OMPUTING" :: GOTO 530 ELSE I 
F K<49 OR K>55 THEN 420 
430 CALL HCHAR(21,21,K):: X= 
K-48 

440 IF Z(X)=6 THEN CALL SOUN 
D(100,220,0):: GOTO 420 
450 y, z(X)*z(>o +i :: call se 
TZEN(Y,X,CHA):: ZUG=ZUG+1 
460 DISPLAY AT(21,8)I" COMP 
UTING" 

470 Q$=F$(Y,X) 

480 FOR 1=1 TO LEN(Q*)STEP 2 
:: N=VAL(SEG*(Q*,1,2)) 

490 VI(N,(CHA-120)/8)=VI<N, < 
CHA-120)/8)+1 

500 IF VI(N,(CHA-120)/8)=4 T 
HEN DISPLAY AT(21,8):COL$((C 


26 



HA-120)/8)J" HAT VIER“ :: CA 

LL VIER(M$(N),CHA):: RUN 

310 NEXT I 

320 CHA=264-CHA 

530 ZUG=ZUG+1 :: FOR X=1 TO 

7 :: IF Z (X) =6 THEN 570 

340 Q*=F*(Z(X)+1,X) 

530 FOR 1=1 TO LEN(Q*)STEP 2 
:: n=val<seg*<q*,i,2)):: IF 
VI(N, (CHA-120)/8) =3 THEN 80 

0 

360 NEXT I 
370 NEXT X 

380 sum=0 :: for x=i to 7 :: 

IF Z(X)-6 THEN 780 
590 V(i),V(2),W(1),W(2),SU(X 
)-0 :: Q*=F*<z<X)+i,X) 

600 T $=" 0 " :: for 1 = 1 to len 

<Q*)STEP 2 :: N=VAL(SEG$(Q*, 

1 , 2 ) ) 

610 IF VI(N, < 144-CHA)/8)=3 T 
HEN 800 

620 IF VI<N,1)*VI<N,2)>0 THE 
N su(X)=su(X)+i :: goto 650 
630 IF POS(T$,SEG$(M$(N) ,3,1 
) , 1 ) < >0 AND VI <N, 1 ) + VI <N, 2)< 
2 THEN SU(X)-SU(X)+i :: GOTO 
630 

640 SU (X) =SU (X) + (VI (N, 1 ) +1 ) A 
2+(VI(N,2)+1) A 2 :: T$=T$kSEG 
*(M*(N),3,1) 

630 NEXT I 

660 IF Z(X)>4 THEN 760 
670 Q$=F$(Z(X)+2,X):: FOR 1= 
1 TO LEN(Q*)STEP 2 :: N*VAL ( 
SEG*(Q*,I,2)):: IF SEG*(N*(N 
),3,1)■ H 3" THEN 680 ELSE V(1 
)"MAX(V(1),VI(N,1)):: V(2)*M 
AX(V(2),VI(N,2)) 

680 NEXT I 

690 IF Z(X)>3 THEN 720 
700 Q*=F$(Z(X)+3,X):: FOR 1= 
1 TO LEN(Q*)STEP 2 :: N-VAL( 
SEG*(Q*,1,2)):: IF SEG*(M*(N 
) , 3, 1) ■" 3" THEN 710 ELSE W(1 
)-MAX<W<l),VI<N f l))S ! W(2)=M 
AX (W <2) , VI <N, 2) ) 

710 NEXT I 

720 IF V(1)=2 OR V(2)=2 THEN 
SU(X)-SU<X)/2 

730 IF V((CHA-120)/8)=3 THEN 
SU(X)=.2 

740 IF V<(144-CHA)/8)=3 THEN 
SU(X)=.1 

730 IF W<(CHA-120)/8)=3 AND 
V( (CHA-120)/8)-3 AND V((144- 
CHA) /8)<3 THEN 800 
760 IF SU (X) >SUM THEN SUM=SU 

(X):: Xi=x 

770 IF SU ( X )= SUM AND RND<. 5 
THEN X1=X 
780 NEXT X 
790 X=X1 


L 

I 

S 

T 

I 

N 

G 

S 


800 DISPLAY AT(21,10):"MEIN 
ZUG:"j x :: Y,Z(X)=Z(X)+l :: 

CALL SETZEN (Y,X,CHA) 

810 Q*=F*(Y,X) 

820 FOR 1=1 TO LEN(Q$)STEP 2 
:: N=VAL(SEG*(Q*,I,2)) 

830 VI(N, (CHA-120) /8)=VI(N, ( 
CHA-120)/8)+1 

840 IF VI(N, (CHA-120)/8)=4 T 
HEN DISPLAY AT(21,8):COL*<(C 
HA-120)/8)| M HAT VIER” :: CA 
LL VIER(M* < N),CHA):: RUN 
830 NEXT I :: GOTO 410 
860 FOR 1=1 TO 2 :: DISPLAY 
AT(21,1):"WIE HEISST DER "|S 
TR*(I)I". SPIELER ?" 

870 ACCEPT AT(23,1)BEEP SIZE 
(10):NAME*(I):: NEXT I :: CA 
LL HCHAR (21,1,32,128) 

880 IF ZUG >41 THEN DISPLAY A 
T(21,9):"UNENTSCHIEDEN" :: R 
UN ELSE CHA=264-CHA :: DISPL 
AY AT(21,10)BEEP:NAME$((CHA- 

120) /8)5 ",": :tab(10)j"ihr z 

UG ?" 

890 CALL KEY(0,K,S):: IF K<4 

9 OR K>55 THEN 890 

900 CALL HCHAR(23,21,K):: X= 

K-48 :: IF Z(X)=6 THEN CALL 
SOUND(100,220,0):: GOTO 890 
910 Y, Z (X) =Z (X) +.1 :: CALL SE 
TZEN(Y,X,CHA):: ZUG=ZUG+1 
920 Q$=F$(Y,X):: FOR 1=1 TO 
LEN(Q*)STEP 2 :: N=VAL(SEG*( 

Q*,I,2)):: VI(N,(CHA-120)/8) 

=VI(N,(CHA-120)/8)+1 
930 IF VI(N,(CHA-120)/8)<4 T 
HEN 930 ELSE DISPLAY AT(2i,8 
):COL*<(CHA-120)/8)I" HAT VI 
ER": :TAB((16-LEN < NAME*((CHA 
-120)/8)))/2)|NAME*((CHA-120 
)/8)\" HAT GEWONNEN" 

940 CALL VIER(M$(N),CHA):: R 
UN 

930 NEXT I 

960 GOTO 880 

970 SUB SETZEN(Y,X,CHA) 

980 CALL SPRITE(#1,96,12-<CH 
A-128)/4,1,57,0,20) 

990 CALL COINC(#l, 1,<7+2*X)* 
8+l,3,C):i IF C THEN CALL MO 
TION(#1,0,0)ELSE CALL SOUND( 

10,-1,0):: GOTO 990 
1000 CALL LOCATE(#l,l,(7+2*X 
)*8+1)s: FOR J-l TO 7-Y :: c 
ALL LOCATE(#l, <2*J+1)*8+1,(7 

+ 2 *x)*e+i):: call sound( 100 , 

440-J*10,3):: NEXT J 
1010 CALL HCHAR<2*J,8+2*X,CH 
A):: CALL HCHAR(1+2*J,8+2#X, 
CHA+i):: CALL HCHAR<2*J,9+2* 

X,CHA+2):: CALL HCHAR(1+2*J, 

9+2*X,CHA+3) &¥ 


27 




1020 CALL DELSPRITE(#1):: SU 
BEND 

1030 SUB VIER(A*,CHA) 

1040 Y=ASC(A*)-48 :: X=VAL(S 

EG* <A*,2,1)) - 

1050 A=VAL(SEG*(A*,3,1) ) 

1060 ON A GOTO 1070,1100,113 
0,1160 

1070 FOR 1=0 TO 3 

1080 CALL SPRITE(#1+1,96,12- 

(CHA-128)/4,121-16*Y-16*I,57 

+16*X+16*I) 

1090 NEXT I :: GOTO 1190 

1100 FOR 1=0 TO 3 

1110 CALL SPRITE(#1+1,96,12- 

<CHA-120)/4,121-16#Y-16*1,57 

+16#X-16#I) 

1120 NEXT I :: GOTO 1190 

1130 FOR 1=0 TO 3 

1140 CALL SPRITE(#1+1,96,12- 

(CHA-126)/4,121-16*Y-16*1,57 

+16*X) 

1150 NEXT I : I GOTO 1190 
1160 FOR 1=0 TO 3 
1170 CALL SPRITE(#1+1,96,12- 
(CHA-120)/4,121-16*Y,57+16*X 
+16*1) 

1100 NEXT I 
1190 F=12- < CHA-128 )/ 4 
1200 CALL KEY(0,K,S):: CALL 
COLOR(#1,2,*2,2,*3,2,#4,2,#1 
,F,*2,F,#3,F,#4,F):: IFS=0 
THEN 1190 

1210 CALL DELSPRITE(ALL) 

1220 CALL SOUND<100,440,0) :: 
SUBEND 

1230 SUB TITEL 

1240 CALL CHAR(64,"7C829AA2A 
29A927C") 

1250 CALL CHAR(96,“0F1020478 
F9C989090909F90503F1F0FF0080 
0F0F00000003F27C70F1FFFFBF7■ 

) 

1260 CALL CHAR(100,"1F101717 
161617141717161617141F1FF000 
F0F00000E020E0E00000F000F0F0 
"> 

1270 CALL CHAR <104,"F3B4B5B5 
B5B95B5B5B5B5B2F2E2E2E3ECFE9 
EBEBEBF37636B6B6B69C5C5C5C7C 
") 

1200 CALL CHAR (100,"03020202 
020202020202020202020303C040 
C0C0C0C0C0C0C0C0C0C0C0C0C0C0 
") 

1290 CALL CHAR <112,"3C222E2F 
2F2D2D2C2E2E2D2D2C2C3C3C3C24 
2C2C2CACACECEC6C6C3CBC9C5C3C 
") 

1300 CALL CHAR(116,"3F202F3E 
020202020202020202020303FC0C 
FCFCC0C0C0C0C0C0C0C0C0C0C0C0 

") 


L 

I 

S 

T 

I 

N 

G 

S 


1310 CALL CHAR(120, M 3C2C2626 
1613131309090909040403033C 24 
4C4C58989898B0B0B0B0E0E0E0C0 

") 

1320 CALL CHAR<124,"3F202F2F 
2C2C2C2F2C2C2F2F2F2C3C3CF80C 
FEE6262626C60E1CF8F0984C261E 
M ) 

1330 CALL CHAR(136,"00030F1F 
3F3F7F7F7F7F3F3F1F0F030000C0 
F0F8FCFCFEFEFEFEFCFCF6F0C000 

") 

1340 FOR 1=5 TO 12 ::-CALL C 
OLOR(1,2,16):: NEXT I 
1350 CALL SCREEN(16):: DISPL 
AY AT (8, 12) ERASE ALL:"xzlnd-f 
1^":TAB(12)f|CHR*(i 
27) 

1360 DISPLAY AT(12,9) : " *bd-fh 
jlnprprtv":TAB(9)f H *c«giUmoq 
sqmuw" 

1370 DISPLAY AT(20,8):"e JEN 
S TIEDEMANN" 

1300 FOR 1=1 TO 4 :: CALL SP 
RITE(#1,136,10,123,64+25*1): 

: NEXT I :: fa-10 
1390 FA=22-FA :: CALL KEY(0, 
K,S):: CALL COLOR < #1,FA,#2,F 
A,#3,FA,#4,FA)I: IF S THEN S 
UBEXIT ELSE 1390 
1400 SUBEND 


BÖRSE 


Verk.: TI99/4A, 2 Rec. Kabel, 
Rec., ca. 40 Spiele + Progr. 
Sehr viele Listings, Joystick, 
Bücher: TI Progr. (Spiele, Gra¬ 
fik, usw.). Tips + Tricks, Spie¬ 
len) Lernen/Arbeiten, Handb. 
Writing Work book, TIBasic/ 
Ex.Basic f. Anfänger. 

Tel. 05257/2776 (Joachim Hu¬ 
bertus anfr.) 

Verkaufe TI99/4A mit den Mo¬ 
dulen Ext.-Bas., Datenw. + 
Anal., Stat., Schach, Parsec, 
Munch Man, TI-Inv., Chish. 
Trail, Joystick m. Adapter, 25 
Zeitschr. 3 Bücher, 350 Progr., 
Cass. Rec. m. Kabel zus. 400 
DM.T.02821/48993 


Verk.: Disk-Contr. 249 DM; 
Disk-Man. 50 DM; Joyst. 30 
DM; XB 175 DM, Attack, In- 
vaders, Chis. Trail je 25 DM; 
Soccer, Parsec je 30 DM; Con. 
Four 20 DM; Beg. Gram. 15 
DM; Finanzber. 15 DM; Basic- 
programm-Rout. 25 DM. Te. 
0911/498713,18h 


Verkaufe: Videogames 1 + At¬ 
tack (55 DM), Diskmanager 2 
(40 DM), Tl-Joysticks (40 
DM).- Kaufe Schachmodul (45 
DM) oder tausche gegen Vi¬ 
deogames 1 + Attack. Verkauf 
per NN. Kai Breuer, Zur Burg 
30, 6393 Wehrheim 1 

Verk. TI-99/4A (80 DM), Ex- 
Basic (110 DM), RS232 + V24- 
Kabel (160), Speech-Syntehsi- 
zer (100 DM VB), Rec.-Kabel 
(10 DM), Joyst.-Adapt. (10 
DM), 2 Bücher (35 DM), 
Munchman (29 DM), alles oh- 
nc Defekt 

Tel. 06074/29556, bitte Daniel 
verlangen 

Zu Verk.: 2 x P-Box, 2x RS232, 
3x 32K, 4x Joyst., 4x Rec.-Ka¬ 
bel, lx Sprachsynth 1400 
Progr./180 Disks, Ex-B, E/A, 
Mini-Mem, Modem, Tl-Wri- 
ter, viele Module, viele Bü¬ 
cher, viele Extras. Tel. 06204/ 
1471 (Piepton abwarten, Na¬ 
me, Nr. und Ang. geben. 


Verkaufe TI-99/4A + XBasic 
+ Miniass. + Assemblerbuch 
+ Rec. Kabel + Monitor, alles 
für 490 DM. Tel. 02104/46184 


Tausche TI-Revue Jahrg. 1985 
(6 Hefte) gegen Sotware. Ang. 
bitte an Peter Voigt 
Tel. 02162/56520 ab. 19.oo Uhr 


28 




LISTING 


BRD- 

QUBZ 

BRD-QUIZ ist ein Spiel- und Lernprogramm für 
die ganze Familie, bei dem jeder sein Wissen über 
die BRD beweisen kann, oder auch nicht . . . 

Am Anfang spielt der Computer die National¬ 
hymne. Nachdem er dann die Mitspielerzahl (bis 4) 
und die Namen der Spieler abgefragt hat, kann die 
erste Runde beginnen. Der Computer nennt eine 
Stadt und eine Auswahl von vier Flüssen. Die Spie¬ 
ler sollen nun die Nummer des Flusses eingeben, 
der durch diese Stadt fließt, bzw. an dem die Stadt 
liegt. Sollten mehrere Flüsse durch die Stadt flie¬ 
ßen, so gilt immer der längere. Dieses muß jeder 
dreimal machen. In der nächsten Runde zeichnet 
der Computer auf der BRD-Karte eine Stadt ein 
und gibt vier Städtenamen. Die Spieler sollen nun 
die Nummer der Stadt eingeben, die auf der Karte 
abgebildet ist. Dieses Wissen muß jeder dreimal 
unter Beweis stellen, ln der vierten Runde geht es 
darum, Besonderheiten und charakteristische 
Merkmale von Städten zu kennen. Wiederum gibt 
der Computer eine Stadt vor und die Spieler müs¬ 
sen durch Drücken einer Taste von 1 - 4 die Be¬ 
sonderheit der Stadt aus vier Möglichkeiten ein¬ 
geben. Dies muß zweimal gemacht werden. In der 
vierten Runde geht es wieder darum, den Fluß zu 
kennen, der durch eine bestimmte Stadt fließt, 
bzw. an dem die Stadt liegt. Nur diesmal muß 
jeder den Flußnamen selbst eingeben. Wieder gilt 
bei einer Stadt, durch die mehrere Flüsse fließen, 
immer der längere. Dies muß jeder dreimal spielen. 
In der nächsten Runde zeichnet der Computer 
auf der Karte Flüsse ein, deren Namen jeder Spie¬ 
ler selbst eingeben muß. Dieses muß jeder zwei¬ 
mal spielen. In der letzten Runde geht es wieder 
um Besonderheiten und charakteristische Merk¬ 
male von Städten. Der Computer gibt eine Beson¬ 
derheit vor und die Spieler müssen die dazugehörige 
Stadt selbst eingeben. Falsche Antworten werden 
immer korrigiert; richtige werden mit einem Punkt 
belohnt. Zum Schluß schreibt der Computer die 
Punkte jedes Spielers auf den Bildschirm. 

So kann jeder feststellen, ob er nicht doch besser 
in der Schule aufgepaßt hätte. 

Zur Beachtung bei der Eingabe der Lösung: 

Falls Umlaute bei der Eingabe Vorkommen, müssen 
diese unbedingt eingegeben werden, und nicht z.B. 
Ä durch AE ersetzt werden. 

Ä: FCTN R 

Ö: FCTN Z 

Ü: FCTN T 

ß: SHIFT 6 

Mit FCTN S kann man mit dem Cursor nach links 
fahren und so komgeren. Mit ENTER nimmt der 
Computer die Eingabe an. Es ist aber ratsam, die 
Eingabe vorher auf Schreibfehler hin zu überprüfen, 
da der Computer nur korrekt geschriebene Einga¬ 
ben als richtig erkennt. 

Zur Eingabe des Programms: 

Das Programm wird wie abgedruckt eingegeben. Le¬ 
diglich bei den Zeilen 1320 und 1330 ist zu beach¬ 
ten, daß ab CHR$(127) die Großbuchstaben und 
Zeichen zusammen mit der CTRL-Taste eingegeben 
werden müssen, also CTRL und abgedruckter Gro߬ 
buchstabe bzw. Zeichen. 


29 




JL J0 iK ll Pi ÄaÄÄÄÄÄÄÄÄÄÄAA/IäÄ n /t Ä 

11 REM# * 

12 REM# BRD-QUIZ # 

13 REM# Copyright by * 

14 REM#Wol -f gang Hesseler* 

15 REM# Neustadterstr.6 * 

16 REM# 3461 Nd.-Buchenau* 

17 REM#Benoetigte Oeraete* 

10 REM# TI99/4A Konsole * 

19 REM# * 

23 REM# Speicherbelegung # 

24 REM* 13124 Bytes * 

23 REM******************** 

26 REM 

160 CALL CLEAR 
170 CALL SCREEN(15) 

100 FOR 1=2 TO 7 
190 CALL COLOR(I,1,1) 

200 NEXT I 
210 PRINT " 

<<<<((<< 

((<((<(< 

((<((((< 

<<(<(<<< 

(<<<<((<" 

220 PRINT “ 

00000000 
00000000 
00000000 
00000000 
00000000“ 

230 PRINT " 

eeeeeeee 
eeeeeeee 
868688888888 
668880868868 
868888888868“ 

240 PRINT :" 

PUBLIK"!" 

D": : : 

250 CALL COLOR(2,2,2) 

260 CALL COLOR(3,7,7) 

270 CALL COLOR(4,12,12) 

280 FOR 1=5 TO 7 
290 CALL COLOR(1,2,1) 

300 NEXT I 

310 DATA 44003844447C4444,3, 
311,44007C444444447C,1,349,4 
400444444444438,2,392,382424 
382424382,2,349 
320 DATA 000000000000606,2,4 
15,001070F8FCFC3,2,392, FFFFF 
FFFFFFFFFFF,1,349,0040F8FDFF 
FF7F3F,1,294 

330 DATA 00000080F0F8FCF8,2, 
311,000000010303,2,323,3F1F1 
FFFFFFF3F7F,2,466,F6CEFEFEFF 
FFFFFF,2,415 

340 DATA 00000070F9FFFFFF,2, 
392,00000000F0E0E0E,2,349,00 
00000000000003,1,392,0000000 
0000003C3,1,311 
350 DATA 7F1F7F3F1FFFFFFF,4, 


466,FFFFFEFEFFFFFFFF,3,311,C 
00000000000008,1,349,0000030 
1030301,2,392 

360 DATA 77FFFFFFFFFFFF7F,2, 

349,C7C3C9DDCFDFFFFF,2,415,F 

FFFFFFFFEFCF8FE,2,392,808,1, 

349,0000000101010303,1,294 

370 DATA 0080F0FEFFFFFEF8,2, 

311,0303031F3F3F3F1F,2,523,0 

0000080C0C0C0C,2,466,0303070 

F1F3F1F1F,2,415 

380 DATA FFFFFFFFFFFFFCF8,2, 

392,E0C0C0E0E0C,2,349,00317F 

7F3F3F1F1F,1,392,3FFFFFFFFFF 

FFFFF,1,311,F8F8F8F8FCFCECC 

390 DATA 4,466,1F1F1F3F3F3F3 

FFF,2,349,FFFFFEFEFEFFFFFF,2 

,392,C000000000008,1,349,FF7 

F7FFFFFFF7F3F,1,294 

400 DATA FFFFFEFCFEFCFCFF,2, 

233,3F3F1F1F1F0F1F3F,2,415,0 

000C0C0E0F1FDFC,2,392,000000 

040ECFF7FF,1,349 

410 DATA 000000007CFEFFFF,1, 

294,7F7F7F7F3F1F1F07,2,233,8 

08080E0F0F8F0F,2,466,0F1F1F1 

F1F0F0707,2,415 

420 DATA E0E0F0F8F8FCFCFF,3, 

392,030301,1,392,FFFFBF1F0C, 

2,440,FFFFFFFF7F3701,1,440,C 

0E0F0F8FCFEFFFF,1,466 

430 DATA 00000000000080C,4,4 

66,000103070F1F1F3F,3,622,E0 

F0F0F0F0F82,1,587,3F3F3F7F7F 

7F7FFF,1,587,FFFFFEFCE0C0808 

440 DATA 1,523,0000000001010 

101,2,466,FFFFFFFFFFF3E1F, 3, 

523,FFFFFFFFFFFFFF8D,1,466,C 

0C0E0E0E0C0F8F8,1,466 

450 DATA BF36,1,415,F02,2,39 

2,19,3,349,FFEF0301010001,.8 

,392,FFEFE0F0E0E0C,.8,415, FF 

FF7F7F3,1,466,FC808,1,523,81 

460 DATA 1,415,F0F07,1,349,2 

,311,1,392,1,349,4,466,3,622 

,1,587,1,587,1,523,2,466,3,5 

23,1,466,1,466,1,415 

470 DATA 2,392,3,349,.5,392, 

.5,415,1,466,1,523,1,415,1,3 

49,2,311,1,392,1,349,4,311 

480 FOR 1=91 TO 159 

490 READ A*,A,B 

500 CALL SOUND<A*300,B,0,B-3 

,10,B+3,10) 

510 CALL CHAR(I,A*) 

520 NEXT I 

530 FOR 1=1 TO 25 

540 READ A,B 

550 CALL SOUND(A*300,B,0,B-3 
,10,B+3,10) 

560 NEXT I 
570 CALL CLEAR 
580 CALL SCREEN(8) 


L 

I 

S 

T 

I 

N 

G 

S 


(((<(<(<(<<< 

((<((<(<(((( 

(((((<(((((( 

(<(((<((<<<< 

<((((<((<<<< 

000000000000 

000000000000 

000000000000 

000000000000 

000000000000 

888888888888 

888888888888 

88888888 

88888888 

88888888 

BUNDESRE 

DEUT8CHLAN 


30 



59® OPTION BASE 1 

600 DIM N*<4),N(4),M$<4) 

610 DATA 42,00003F3F0C0C0C0C 
,44,0000F0F80C0C0C0C,46,0F0F 
0C0C0C0C3F3F,47,F0F00C0C0C0C 
F8F0,33,000406FFFF0604 
620 DATA 35,00001F3F30303030 
,36,0000C0E030303030,38,3F3F 
333331303030,39,E0C00080C0E0 
7038,64,007E7E7E7E7E7E7E 


630 

DATA 59,00003F3F1C0C0C0C 

,60, 

0000C0E030303030, 

61,0C0C 

0C0C0C1C3F3F,62,303030303030 

E0C0 


640 

FOR 1=1 TO 14 


650 

READ A,A* 


660 

CALL CHAR(A,A$) 


* 

N 

NEXT I 


680 

GOSUB 700 


690 

GOTO 880 


700 

FOR 1=1 TO 4 


710 

CALL COLOR(1,1,1) 


720 

NEXT I 


730 

PRINT " 


• M 
« 

#*":" 

fc f ": : 

U • • 

1 <":" 

-> 

« • 


L 

I 

S 

T 

I 

N 

G 

S 


740 CALL COLOR(3,2,1) 

750 CALL COLOR <2,2,1) 

760 CALL S0UND(45,-5,0) 

770 CALL COLOR(1,7,1) 

780 CALL S0UND(45,-5,0) . 

790 CALL C0L0R<4,11,1) 

800 CALL SOUND<45,-5,0) 

810 FOR 1 = 1 TO 5 

820 CALL HCHAR<8,11+1*2,ASC< 

SEG*("-QUIZ",1,1)) ) 

830 CALL SOUND(45,-6,0) 

840 NEXT I 
650 FOR 1-1 TO 100 
860 NEXT I 
870 RETURN 

880 S$= " 1805WIEVIELE" 

890 GOSUB 3200 

900 S$="1905MITSPIELER" 

910 GOSUB 3200 

920 CALL SOUND(100,880,0) 

930 F=24 

940 CALL HCHAR(19,17,F+55) 
950 FOR 1*1 TO 10 
960 CALL KEY <0,K,S) 

970 IF <K<49) + <K>52)=0 THEN 
1010 

980 NEXT I 
990 F=-F 
1000 GOTO 940 

1010 CALL SOUND(100,1000,0) 
1020 CALL HCHAR(19,17,K) 

1030 P=K-48 

1040 IF Al THEN 2900 

1050 0=P 

1060 FOR K=1 TO P 
1070 CALL CLEAR 


1080 GOSUB 700 

1090 PRINT "NAME DES "JSTR$( 

K)|".SPIELERS": : 

1100 CALL SOUND(200,440,0) 
1110 CALL SOUND(200,349,0) 
1120 INPUT "!":N*<K) 

1130 NEXT K 
1140 CALL CLEAR 
1150 CALL SCREEN(11) 

1160 FOR 1 = 1 TO 8 
1170 CALL COLOR(I,16,1) 

1180 NEXT I 

1190 S9“"0504FANGEN WIR AN_ 

N 

1200 GOSUB 3200 

1210 RANDOMIZE 

1220 DEF R(X)=INT<X*RND)+1 

1230 FOR 1=1 TO 200 

1240 NEXT I 

1250 G=16 

1260 CALL COLOR(4,7,11) 

1270 FOR 1=9 TO 16 
1280 CALL COLOR(I,11,1) 

1290 NEXT I 
1300 CALL CLEAR 
1310 CALL SCREEN(11) 

1320 PRINT " bc":" defg 
h": M ijkalm":" nopaaqr":" « 

it&Att":" UAIIAAV •h.n 

axy": "z( aaai I M :") •*n' VM f CHR9 
(DEL):" AAAA AAAA1 

1330 PRINT " aaaaaaaa aa 


AAAAiAAA "l M AAAAAAA M l " 

a aaaaa ":" ": : 

• 

1340 CALL SCREEN(5) 

1350 IF Al THEN 2520 ELSE 32 
60 

1360 DATA LAHN,ELBE,ILMENAU, 
ALLER,WESER,LEINE,WESER,INNE 
RSTE, LEINE, "\EMSCHER, HASE, " 

M , FULDA,RHEIN,RHEIN,WUPPER 
1370 DATA WUPPER,WUPPER,RHEI 

N, RHEIN,SIEG,RHEIN,MOSEL,LAH 
N,FULDA,RHEIN,RHEIN,MAIN,MAI 
N,"MAIN,RHEIN,RHEINj RHEIN 
1380 DATA ISENACH,RHEIN,MURG 
,■»,NECKAR,MAIN,MAIN,PEGNITZ 
,DREISAM,DONAU,ISAR,I8AR,LEC 
H,DONAU,NECKAR,NECKAR,ENZ 
1390 RESTORE 1360 

1400 A=R(52) 

1410 FOR 1=1 TO A 
1420 READ A« 

1430 NEXT I 

1440 IF A*="" THEN 1390 
1450 RESTORE 1760 
1460 FOR 1=1 TO A 
1470 READ B$ 

1480 NEXT I 

1490 B*=SEG*(B*, 8, 12) 

1500 IF Al <6 THEN 1540 1# 


31 












1510 
1520 
1530 
1540 
1550 
1560 
1570 
1580 
1590 
1600 
1610 
1620 
1630 
1640 
1650 
1660 
1670 
1680 
1690 
1700 
1710 
1720 
1730 
1740 
1750 
1760 

0706HAMBURG,0220807L]NEBURG, 

1340906CELLE,0640805BREMEN,0 
211006HANNOVER,0911005HAMELN 
1770 DATA 0921006HILDESHEIM, 

1541106Q\TTINGEN,0021103M3NS 
TER,1441103DORTMUND,04410040 
SNABR3CK,1341004BIELEFELD 
1780 DATA 0911205KASSEL,0241 
202DUISBURG,0841202D]SSELDOR 
F, 1181202WUPPERT AL,1211202RE 
MSCHEID,1221202SOLINGEN 
1790 DATA 0441302KNLN,138130 
2B0NN,0481304SIEGEN,1021403K 
0BLEN2,1481502TRIER,0381404W 
ETZLAR|0441406FULDA 
1800 DATA 0511503WIESBADEN,0 
781503BINGEN,0321504FRANKFUR 
T,0481505OFFENBACH,1541504DA 
RMSTADT,0221305HANAU 
1810 DATA 0711503MAINZ,04216 
04WORMS,1211604SPEYER, 114160 
3BAD D3RKHEIM,1211704KARLSRU 
HE,0281804RASTATT 
1820 DATA 0681804BADEN-BADEN 
,1541604HEIDELBERG,0121606W3 
RZBURG,1081509BAYREUTH,14116 
08N 3 RNBERG,0212003FREIBURG 
1830 DATA 1111811PASSAU,0481 
810LANDSHUT,1441909M3NCHEN, 0 
441908AUGSBURG,0141906ULM,05 
81803STUTTGART,0721805ESSLIN 
GEN,0141804PFORZHEIM 
1840 RESTORE 1760 
1850 GOSUB 3160 
1860 W=0 

1870 FOR 1=1 TO 4 
1880 A=R(13) 


C$=A$ 

A$=B$ 

B$=C$ 

IF Al>3 THEN 2530 
L=R(4) 

M$<L)=A$ 

FOR 1=1 TO 3 
A=R(52) 

IF Al=3 THEN 1620 
RESTORE 1360 
GOTO 1630 
RESTORE 2080 
FOR J=1 TO A 
READ C* 

NEXT J 

FOR J=i TO 4 
IF M$(J)=C$ THEN 1580 
NEXT J 

FOR J=1 TO 4 

IF M$(J)< >"" THEN 1730 

M$ < J )= C$ 

GOTO 1740 
NEXT J 
NEXT I 
GOTO 2790 

DATA 1081305MARBURG,072 


L 

I 

S 

T 

I 

N 

G 

S 


1890 FOR J=1 TO 13 
1900 READ A$ 

1910 IF J=A THEN 1980 

1920 NEXT J 

1930 NEXT I 

1940 IF W=0 THEN 1840 

1950 GOSUB 2830 

1960 CALL HCHAR < VAL <SEG$(C$, 

4.2) ),VAL(SEG$(C$,6,2))+2,97 
) 

1970 RETURN 
1980 B=R(4) 

1990 IF M$ ( B )< >" " THEN 1980 
2000 M$<B>=SEG$<A$,8,12) 

2010 IF <RND>I*.17)+<W=1)THE 

N 1920 

2020 W=1 

2030 L=B 

2040 C$=A$ 

2050 CALL CHAR(61,SEG$<"0000 
00000000000",1, J )&SEG$(A«,3, 

1) ) 

2060 CALL HCHAR(VAL(SEG$(A$, 

4.2) ),VAL(SEG*(A*,6,2))+2,6i 
) 

2070 GOTO 1920 

2080 DATA GRABMAHL D_HL_ EL 
ISABETH,WICHTIGSTE DT_ SEEH 
AFENSTADT,NAMENSGEBER D_ GR 
\ A TEN DT_HEIDE 

2090 DATA GR\ '''TER EUROP_ OR 
CHIDEENBETRIEB,STADTMUSIKANT 
EN,HAUPTSTADT V_ NIEDERSAC 
HSEN,RATTENF C NGER 
2100 DATA 1000JIHRIGER RO 
SENSTOCK,MAX-PLANCK-GE- SEL 
LSCHAFT (SITZ') ,WESTFCLISCHER 
FRIEDE M_FRANKR_ 

2110 DATA WESTFALENHALLE,WES 
TFCHL_FRIEDE M_SCHWEDEN,DEUT 
SCHES SPIEL-KARTENMUSEUM,BUN 
DESSOZIAL- GERICHT,GR\ A TER 
BINNEN- HAFEN D.WELT 
2120 DATA HAUPTSTADT V_ NR 
W,SCHWEBEBAHN,ZENTRUM D_DT« 
WERKZEUGIND_,KLINGEN+SCHNE 
IDEWARENZENTRUM,GR\ A TES DT.G 
0T_ BAUWERK < DOM),HPTST_D_BRD 
2130 DATA GEBURTSORT PETERPA 
UL RUBENS,BUNDESARCHIV,CLTES 
TE DT_STADT,REICHSKAMMERGE¬ 
RICHT 1693-1806 
2140 DATA DOM M_GRAB D_ HL 
_BONIFATIUS,BUNDESKRIMINAL¬ 
AMT, MCUSETURM,GR\ A TER DT_FLU 
G-HAFEN 

2150 DATA HAUPTSITZ D_ DT_LE 
DERWARENIND_,DT_RECHENZENTRU 
M,GEBURTSORT D_ GEBR_GRIMM 
,SITZ D_ZDF 

2160 DATA REICHSACHT ] BER LU 
THER 1521, KAISERDOM M__GRC -BE 
RN DT_KAISER,RIESENWEINFA A ,B 


32 



UNDESVERFAS- SUNGSGERICHT 
2170 DATA BEENDUNG D_SPAN_ER 
BFOLGEKRIEGES,HEISSESTE EURO 
P_THERMALQUELLE,CLTESTE UNIV 
ER- SITCT D__BRD 
2180 DATA FESTUNG MA 

RIENBERG,STADT FRANZ LIS 

ZTS,GERMANISCHES NATIONAL 
MUSEUM,CLTESTER DT_GAST-HOF 
2190 DATA GR\^TE KIRCHEN- OR 
GEL,FIRSTENHOCHZEIT,DEUTSCHE 
S MUSEUM,FUGGER,HNCHSTER KIR 
CH- TURM D_WELT 
2200 DATA HAUPTSTADT V_ BA 
DEN-W 3 RTTEMB_,GR 3 NDUNG D_SCH 
WC-BISCHEN BUNDES,ZENTRUM D_ 
DT_ SCHMUCKWARENIND_ 

2210 RESTORE 2080 
2220 CALL COLOR(2,16,1) 

2230 CALL COLOR(4,16,1) 

2240 GOTO 1400 

2230 DATA «,ELBE,4,FFFFFFFFF 

E3CC0FF,7,7,BFDFE7FBFDFEFFFF 

, 7', 6, FFFFFFFFFFFFFF7F, 6,6,7F 

1F7F3F1F81FEFF,6,3,«,ALLER,4 

2260 DATA 00C0C0E0E0C,10,8,F 

FFFFFFF7F9FEFF,9,7,7F9FEFF1F 

EFFFFFF,9,6,FEFFFFFFFFFFFFFF 

,9,5,«,EMS,3,1FEFEDF3FFFFFFF 

F 

2270 DATA 11,4,7F7FBFCFEFEFF 
3F8,10,3,7FFFFFFFFFFFFF7F,9, 
3,0302021E3E3E3E1F , 9,2 , BFBFB 
F7FBFBF7F7F,8,3,«,WESER, 7 
2280 DATA 7F7F7FFFFFFF3FDF,1 

1.6, FFFFFFFEFEFEFEFF,11,5,F7 
F7EFDFC3FDFEFE,10,5,FDFDFBFD 
FDFBFBF7,9,5,FFFF7FBFDFE7FBF 
D 

2290 DATA 8,5,C7C3C9DDCDDDFD 
FD,7,4,FDFEFFFFFFFFFFFF,8,4, 
«,FULDA,3,FFFF9EBEBE3F7FBF, 1 
2,6,9FEFF6F4EEDCBCBF, 13,6 
2300 DATA BFBFDFEFF1FFFFFF,1 

4.6, «,LIPPE,4,FFFFFFDF3FFFFF 
FF,11,5,FFFFFFFFFEF807FF,14, 
4,FFFFFFFFFF7986FF,11,3 
2310 DATA 3F7FFFFFFFF807FF,1 
1,2,«,RUHR,3,FFFF7F87FBFBFBF 
F,12,4,FFF24DBFFFFFFFFF,12,3 
,FFBFC0FFFFFFFFFF,12,2 

2320 DATA «,LAHN,4,FFFFF7FBF 
CFFFFFE,13,4,FFFFFFFF7F7F7FF 
F,13,5,FEF9C7DF1FFFFFFF,14,4 
,FFFFFFFFFFFCF1FF,14,3 


L 

I 

S 

T 

I 

N 

G 

S 



2330 DATA «,MOSEL,3,001F1F1F 
1F0F0707,16,1,FDF9FBF7EFEF9F 
7F,13,2,FFFFFFFFFFFFFFFC,14, 
2 

2340 DATA «,I NN,3,BF7F7F7F7F 
7F7F8D,20,10,FFFFFFF8F7CFDFB 
F,19,10,FFFFFE7C8080008,19,1 


1 

2350 DATA #,ISAR,6,FFFE7D7D3 

,21,8,BF,21,9,DFBFBFDFDFDFDF 
DF,20,9,FEF9F7F7EFDFDFDF,19, 

9,FFFFFFFFFEF1CF3F,18,10 
2360 DATA FFFFFFBF7FFFFFFF,1 
8,11,«,LECH,4,FEEDE0F0E0E0C, 

21,7,BFBF9FDFDFBFBF7F,20,8,B 
FBFBFBFDFDFBFBF,19,8 
2370 DATA FFFFFFFFDFDFDFBF,1 
8,8,«, NECKAR, 3,FEFEFDFDFDFDF 
BFB,19,4,FBFBFDFDFEF9F70F,18 
,5,F7F7F7FBFBF7F7FB,17,5 
2380 DATA FFFFFFFFFFFF9F6F,1 
6,5,FFFFFFFFFBFDFDFE,16,4,«, 
WERRA,1,FFFFDEE6FAFBFDFE,12, 

6 

2390 CALL COLOR(1,11,1) 

2400 RESTORE 2250 
2410 FÜR 1=1 TO R(14 ) 

2420 READ B$,A$,C 

2430 IF B$<>"«" THEN 2420 

2440 NEXT I 

2450 FOR 1=1 TO C 

2460 READ B$,A,B 

2470 CALL CHAR(I+32,B$) 

2480 CALL HCHAR(A,B+2,1+32) 

2490 NEXT I 
2300 GOSUB 2540 
2310 GOTO 1300 
2520 RETURN 
2530 GOSUB 2790 
2540 R$=" " 

2550 H=17 

2360 CALL SOUND(100,880,0) 

2370 CALL KEY ( 0,K, S) 

2380 IF S=1 THEN 2620 
2390 G=-G 

2600 CALL HCHAR<13,H,G+48) 

2610 GOTO 2570 
2620 IF K=13 THEN 2730 
2630 IF K< >8 THEN 2680 
2640 IF H<18 THEN 2570 
2630 CALL HCHAR(13,H,32) 

2660 H=H-1 

2670 .GOTO 2590 

2680 IF <K<>32)*(K<>45)*(K<6 

5) + (K>94) + <H=29)THEN 2570 

2690 CALL HCHAR<13,H,K) 

2700 H=H+1 

2710 CALL SOUND(10,300,10) 

2720 GOTO 2570 

2730 CALL HCHAR<13,H,32) 

2740 FOR 1=17 TO 30 
2750 CALL GCHAR(13,I,A) 

2760 R$=R$&CHR*<A) 

2770 NEXT I 

2780 IF SEG$<R*,l,POS<RS," 

",i)-l)-A* THEN 3090 ELSE 29 
10 

2790 FOR 1=1 TO LEN<B$) 

2800 CALL HCHAR(8-(I>16),16+ 

I +16*(I>16),ASC(SEG$(B*, 1,1) S# 


33 



•)) 

2810 NEXT I 

2820 IF Al >3 THEN 3190 
2830 FOR H=1 TO 4 
2840 FOR J=0 TO INT(LEN (M$(H 
) ) / 17 ) 

2850 S$=STR$<H*2+8+J)&STR*(l 
6 +<Al+J=3)*2)&SEG*(STR*(H)ßc" 
)"&M*(H),J*18+l, 18) 

2860 GOSUB 3200 

2870 NEXT J 

2880 NEXT H 

2890 GOTO 920 

2900 IF L=P THEN 3090 

2910 FOR 1=0 TO 30 

2920 CALL SOUND(-37,260-1*5, 

I) 

2930 NEXT I 

2940 FOR J=1 TO 3 

2950 CALL SOUND(50,-2,0) 

2960 IF Al>3 THEN 3020 
2970 CALL HCHAR(L*2+8,17+(Al 
=3 ) *2 , 33 ) 

2980 FOR 1=1 TO 25 
2990 NEXT I 

3000 CALL HCHAR(L*2+8,17+(Al 
*3)*2,L+48) 

3010 GOTO 3050 

3020 CALL HCHAR(13,17,32,13) 

3030 S$= H 1316 ,, &A* 

3040 GOSUB 3200 

3050 FOR 1=1 TO 20 

3060 NEXT I 

3070 NEXT J 

3080 GOTO 3140 

3090 FOR 1=6 TO 18 STEP 2 

3100 CALL SOUND(-37,587+1*5, 

I) 

3110 CALL S0UND(-37,623+1*5, 
I) 

3120 NEXT I 

3130 N(A4)=N(A4)+1 

3140 CALL HCHAR (1,12,32,20) 

3150 CALL VCHAR<1,15,32,432) 

3160 FOR 1=1 TO 4 

3170 M$(I)="" 

3180 NEXT I 
3190 RETURN 

3200 E=VAL (.SEG$ (S$, 1,2)) 

3210 F=VAL(SEG$(S$,3,2)) 

3220 FOR 1=1 TO LEN<S*)-4 
3230 CALL HCHAR<E,F+I,ASC(SE 
G*(S*,1+4,1))) 

3240 NEXT I 

3250 RETURN 

3260 FOR Al=l TO 6 

3270 DATA 3,3,2,3,2,2 

3280 RESTORE 3270 

3290 FOR 1=1 TO Al 

3300 READ A2 

3310 NEXT I 

3320 FOR A3=l TO A2 

3330 FOR A4=l TO 0 


L 

I 

S 

T 

I 

N 

G 

S 


3340 S$= "0102RUNDE "ßcSTRStAl 
)&" SPIELER H 8<STR$<A4) fit“ P 
UNKTE "6cSTR* <N < A4) ) 

3350 GOSUB 3200 

3360 ON Al GOSUB 1390,1840,2 

210,1390,2390,2210 

3370 NEXT A4 

3380 NEXT A3 

3390 NEXT Al 

3400 CALL CLEAR 

3410 S$=”0308ENDE DES SPIELS 

n 

3420 GOSUB 3200 
3430 CALL HCHAR(4,9,45,15) 
3440 S$="0804ERREICHBARE PUN 
KTZAHL:15" 

3450 GOSUB 3200 
3460 FOR J=1 TO 0 
3470 S$=STR$ ( J*2 + 8 ) fL" 04 " (LSTR 
*( J) &" ) "kSEG$(N$( J) 

", 1, 10) &" .' " 6<STR$ (N (J ) ) 
3480 GOSUB 3200 
3490 NEXT J 
3500 CALL KEY(0,K,S) 

3510 IF S=0 THEN 3500 
3520 CALL CLEAR 


Liebe Tl-User, 

Aufgrund der Programmlänge ist dieses Programm 
nur mit Kassettenrecorder ladbar. Auf Diskette 
würde es 56 Sektoren belegen und damit im Dis/ 
Var-Format vom Rechner abgespeichert werden. 
Von TI-Basic aus ist dieses Format nicht ladbar 
und in Extended-Basic läuft es nicht, weil der 
Autor für seine Deutschlandkarte den gesamten 
Zeichensatz bis einschließlich ASCII 159 umdefi¬ 
niert hat, von der Farbgebung ganz abgesehen. 
Trotzdem haben wir uns entschlossen, dieses Pro¬ 
gramm zu veröffentlichen, da es gegenüber den all¬ 
seits bekannten Ballerspielen eine geradezu wohl¬ 
tuende Abwechslung darstellt. 

Für Euch heißt es damit aber, tippen, tippen, tip¬ 
pen. Denn wie bereits erklärt, ist dieses Programm 
in unserem Diskettenservice aus naheliegenden 
Gründen nicht erhältlich. 

Bis auf die Zeilen 1320 und 1330 gibt es auch kei¬ 
ne Schwierigkeiten beim Abtippen. In diesen bei¬ 
den Zeilen hat der Autor allerdings bei der Pro¬ 
grammierung reichlich mit der CTRL-Taste gearbei¬ 
tet, um Teile seiner Deutschlandkarte zu definieren 
und es ist nicht ganz einfach, diese beiden Zeilen 
richtig einzugeben, obwohl der Autor den Eingabe¬ 
vorgang in seiner Dokumentation genau beschrie¬ 
ben hat. 

Deshalb haben wir, in weiser Voraussicht daß 
trotzdem einige User an diesen beiden Zeilen kapi¬ 
tulieren müssen, in unserem Kopfbild die volle 
Anschrift des Autors eingefügt. 

Wendet Euch bei Problemen also bitte direkt an 
den Verfasser dieses Programmes und vergeßt dabei 
nicht, Euerem Hilfeschrei einen frankierten Rück¬ 
umschlag beizufügen. 

Der Autor kann sein Honorar für dieses Programm 
schließlich nicht gleich wieder in Briefmarken Um¬ 
setzen. 


34 


■ ■ 




X- 

FORMAT 28 

Viele Anfragen haben uns schon erreicht, ob wir 
unser Programm, mit dem wir die Listings im Bild¬ 
schirmformat erstellen, nicht einmal abdrucken 
könnten. 

Doch leider mußten wir diesem Wunsch jedesmal 
widersprechen, da auf unserer Version des Program¬ 
mes ein Copyright liegt. 

Viele Leser haben deshalb versucht, unser Pro¬ 
gramm nachzuschreiben. Doch die Ergebnisse wa¬ 
ren bisher durchweg dürftig und nicht wert, sie Ih¬ 
nen als Ersatz für unser eigenes Programm anzubie¬ 
ten. Bis uns das Listing und die Diskette des Herrn 
Weidmann erreichte. 

Nachdem wir uns überzeugt hatten, daß dieses Pro¬ 
gramm nirgends ab- oder umgeschrieben wurde, 
entschlossen wir uns sofort, es allen Tl-Usern zur 
Verfügung zu stellen. Zumal es von Herrn Weid¬ 
mann fix und fertig zur Veröffentlichung bearbei¬ 
tet wurde, einschließlich unseres Kopfbildes. 
Neidlos müssen wir ihm zugestehen, daß seine 
Version sogar noch um einige Längen besser und 
komfortabler ist, als unsere eigene. 

Nur eines hat der Autor nicht bedacht, was zu 
unverständlichen Ausdrucken führen kann: 

Nicht jeder Drucker ist über die DIP-Schalter stän¬ 
dig auf den US-ASCII eingestellt. User, die nicht 
nur Probeausdrucke ihrer Listings machen, son¬ 
dern auch nebenbei noch Texte schreiben, haben 
ihren Drucker sicher auf den deutschen Standard 
eingestellt. Im Programm “XFormat-28“ wird 
dies jedoch nicht berücksichtigt und aus den Pro¬ 
grammen würden sich alle nationalen Sonderzei¬ 
chen beim Ausdruck in den deutschen Zeichen¬ 
satz umwandeln, d.h., aus einer geschweiften 
Klammer nach links würde ein kleines “ä“ entste¬ 
hen, usw. 

Deshalb muß jeder Interessent nach der Drucker¬ 
eröffnung noch zusätzlich die Codes für den US- 
Standard einfügen, damit sein Programm auch kor¬ 
rekt ausgedruckt wird. 

In der Programmbeschreibung sind die benutzten 
Steuercodes sehr gut dokumentiert. Wir haben je¬ 
doch bewußt darauf verzichtet, einen zusätzlichen 
Code einzufügen, da ja bekanntlich nicht jeder von 
Euch den selben Drucker verwendet. 

Nehmt also Euer Druckerhandbuch zu Hilfe und 
ergänzt das Listing um den einen Code. 
Selbstverständlich muß auch die Druckereröffnung 
an Euere Schnittstelle angepaßt werden. 

Danach besitzt Ihr ein hervorragendes Utility, das 
Euch die Kontrolle über Euere Programme wesent¬ 
lich erleichtert und die Fehlersuche auf ein Mini¬ 
mum der Zeit reduziert. 


PROGRAMMBESCHREIBUNG XFORMAT-28 


Das Programm XFormat-28 erlaubt es, ein Basic- 
Programm im Bildschirmformat (28 Zeichen pro 
Zeile) zu drucken. Dabei werden immer 2 Spalten 
mit je 50 Zeilen auf eine Seite gedruckt. Die Zei¬ 
lennummern werden durch Fettdruck hervorge¬ 
hoben. Die Seiten werden fortlaufend numeriert. 
Eine eingegebene Kopfzeile wird auf jeder Seite 


35 



100 
110 
120 
130 
140 
190 
160 
170 
160 
190 
200 
210 
220 
230 
240 
290 
260 
270 
280 
290 

,Z2, i, m , c , t ,a=p :: i6,X6,B6, 

H6,A6-T6 

300 !@P- 

310 DISPLAY AT(8,5)ERASE ALL 
:"WIEVIELE KOPIEN? 1" 

320 ACCEPT AT(6,22)BEEP SIZE 
(-2)VALIDATE(DIGIT):C 
330 DISPLAY AT(10,1):"KOPFZE 
ILE: (MAX. 50 ZEICHEN)" 

340 LINPUT T$ :: T6=SEG$(TS, 
1,50) 

350 OPEN #1:"DSKi.LIST",INPU 
T 

360 OPEN #2: "PRT",VARIABLE 2 
55 :: PRINT #2:CHR6(27) I " 3" J 
CHR6(27)|"1"|CHR6(10)|CHR6<2 
7)|"8"f 

370 IF EOF(1)THEN 630 :: LIN 
PUT #1: A6 :: H6-"" 

380 IF A6="" THEN 370 :: B6= 
SEG6(A6,1,POS(A6, M ",1)-1) 
390 IF LEN<A6)=80 THEN 410 
400 A6=A66<H6 :: IF LEN<H6)=8 
0 THEN 410 :: GOSUB 480 :: G 
OTO 370 

410 IF EOF(1)THEN GOSUB 480 
:: GOTO 630 ELSE LINPUT #1S H 

* 

420 p=pos<H 6," ",n:: if p<2 
OR P>6 THEN 400 
430 ON ERROR 400 
440 A=VAL<SEG6<H6,1,P-1)) 

450 IF A<1 OR A>32767 OR A< = 

VAL<B6)THEN 400 

460 GOSUB 480 :: A6=H6 

470 IF LEN<A6)=80 THEN 410 E 

LSE GOSUB 480 :: GOTO 370 

400 P6<l)=A6 :: 1=1+1 :: IF 

I< 3 THEN 530 

490 Z1=VAL(SEG6< P6 (1),1,POS( 
P6<1)," " , 1>-1>) 

500 Z2=VAL<SEG6(P6<2),1,POS( 
P6<2)," ",!)-!)) 


* 

* 

* 

* 

* 

* 

* 

* 

* 

* 

* 

* 

* 

* 

* 


XFORNAT-28 

Copyright by 

Reiner Weidmann 

Benoetigte Geraete 
TI99/4A Konsole 
Ext. Basic 
DISK + Drucker ' 

Speicherbelegung 
6025 Bytes 


* 

* 

* 

* 

* 

* 

* 

* 

* 

* 

* 

* 

* 

* 

* 


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


IN R6(100),P$(3) 

OTO 310 :: L,S,K,V,J,Zi 




L 

I 

S 

T 

I 

N 

G 

S 


510 IF Z1<Z2 THEN GOSUB 540 
:: P6 (0)=P6(1)ELSE P6<0)=P6( 
0)8<P6<1) 

520 1=2 :: P6<i)=P6<2) 

530 RETURN 

540 p=pos(P$(J) , 11 ",!):: x$= 
CHR6<27)8< ,, E ,, 8<SEG6<P6<J) ,1,P- 
1)8<CHR6< 27)8^" 8<SEG6<P6< J) ,P 
,LEN <P6<J))-P+l):: V-33 
550 R6<K)=SEG6<X6,1,32) : : K= 
K+l IF K>99 THEN GOSUB 59 
0 - 

560 IF SEG6(X6,V,28)="" THEN 
580 :: R6<K)=SEG6(X6,V,28)I 
: v«v+28 :: k=k+i :: if k>99 
THEN GOSUB 590 
570 GOTO 560 
580 RETURN 

590 L=INT < <K-1)/2) :: S=S+i : 

; F0R M «1 TO C :: INPUT "NEU 
ES BLATT EINGELEGT ?":I6 
600 PRINT 42:T$iTAB(54-<T=0) 
*7)5:: PRINT #2,USING "SEITE 
: 44":s :: PRINT «2 :: T=i 
610 FOR K=0 TO L :: PRINT «2 
:R$ <K) J TAB(35-(SEG6(R6(K) ,1, 

1)=CHR6(27))*4)}R6(K+L+1):: 
IF M=C THEN R6(K),R6(K+L+1)= 
»" :: NEXT K ELSE NEXT K 
620 PRINT #2:CHRS(12)5CHR*(7 
-) :: NEXT M : : K=0 : : RETURN 
630 gosub 540 :: J=i :: gosu 
B 540 :: IF K THEN GOSUB 590 
640 CLOSE #1 :: CLOSE 42 


wiederholt und dient der Identifizierung des 
Listings. 

Um ein Programm mit XFormat-28 zu drucken, 
muß es vorher mit LIST “DSKI .LIST“ auf Disket¬ 
te gelistet werden. SFormat-28 liest nun jeweils 
100 Zeilen zu 28 Zeichen in den Speicher und for¬ 
dert dann den Bediener auf, ein neues Blatt in den 
Drucker einzulegen. Als Antwort genügt es, die 
ENTER-Taste zu drücken. Beim Drucken auf End¬ 
lospapier braucht natürlich kein neues Blatt einge¬ 
legt zu werden. 

XFormat-28 läuft bei mir mit einem externen Inter¬ 
face der Fa. Radix (“PRT“) und einem Epson RX 
80 FT. Für andere Konfigurationen ist XFormat-28 
ggf. anzupassen. Die verwendeten Funktionscodes 
des Druckers bedeuten: 

CHR$(27);"§" 

— Drucker auf Standardfunktionen setzen 
CHR$(27);"1";CHRS(10) 

— linker Rand auf Spalte 10 
CHR$(27);"8" 

— Papierendefühler “aus“ 

CHR$(27);"E" 

— Fettdruck 
CHR$(27);"F" 

— Normaldruck 
CHRS(7 F 
CHR$(12) 

— Form Feed 
CHR$(7) 

— Beep 

Reiner Weidmann 


36 






STUFEN 

ZUM 

ERFOLG 


Dies ist ein Spiel aus der Serie der Hammurabi-Spie- 
le, geschrieben für einen Spieler und einen Compu¬ 
ter (natürlich einen TI99/4A ). 

Sinn und Zweck dieses Spieles ist, sich durch ge¬ 
schickte Transaktionen und eine den Gegebenhei¬ 
ten angepaßte Staatsführung vom Herrn bis zum 
Kaiser eines fiktiven Landes hochzuarbeiten. 

Wann die nächste Stufe auf der Erfolgsleiter fällig 
ist, berechnet der Computer an Hand Ihrer Aktio¬ 
nen. 

Um das gesetzte Ziel zu erreichen, müssen Sie gün¬ 
stig Land und Getreide einkaufen und wieder ab¬ 
stoßen, wenn es einen Gewinn erzielt. Natürlich 
müssen Sie dabei auch darauf achten, daß für Ihre 
Bevölkerung noch genügend Nahrungsmittel zum 
Leben und Land zum Bestellen übrig bleibt. 

In jedem Jahr wirft das bestellte Land einen be¬ 
stimmten Ertrag an Weizen ab, der von der Größe 
des Landes, der Bevölkerungsdichte, der Aussaat 
und dem Wetter abhängig ist. 

Natürlich müssen Sie,-als Schutzpatron Ihres Lan¬ 
des, auch die Bevölkerung zur Kasse bitten, indem 
Sie die Steuern festlegen. Aber Achtung, greifen 
Sie Ihren Schutzbefohlenen zu tief in die Tasche, 
wird sich unweigerlich auch die Auswanderungs¬ 
rate erhöhen. 

Zu einer gut florierenden Infrastruktur gehören 
natürlich auch Mühlen, die das geerntete Getreide 
weiterverarbeiten und selbstverständlich dürfen 
auch Fabriken nicht fehlen, wenn Sie nicht gerade 
einen Bauernstaat aufbauen wollen. Um Ihre Waren 
zu verkaufen, müssen Märkte angeschafft werden 
und zu einem representativen Regenten gehören 
natürlich auch Paläste. 

Diese nicht gerade billigen Investitionen müssen 
erst einmal verdient werden. 

Leider benötigt ein Staat auch Militär, um seine 
Grenzen gegen (eingebildete) Angriefer zu schüt- 
zen. In diesem Spiel haben Sie die Möglichkeit, bis 
zur Großmacht aufzurüsten. Fußvolk, Artillerie, 
Kavallerie und verschiedene Seestreitkräfte kön¬ 
nen angeworben werden. Je mehr Militär Sie besit¬ 
zen, desto höher steigt die Wahrscheinlichkeit, daß 
Sie aus einem eventuellen Krieg als Sieger hervor¬ 
gehen und dadurch zusätzliche Gewinne erzielen. 
Ihr einziger Wunsch gilt jedoch dem Traum, so 
schnell wie möglich Kaiser zu werden. Seien Sie 
ein gerechter Landesherr und ein gewitzter Ge¬ 
schäftsmann, dann dürfte diesem Ziel eigentlich 
nichts mehr im Wege stehen, oder . . . ??? 


Anmerkung der Redaktion: 


Leider hat der Autor dieses interessante Spiel nur 
für eine Person und einen Computer geschrieben. 
Um wieviel könnte es gewinnen, wenn sich mehre¬ 
re Personen im Wettstreit messen könnten. Wer 
wird zuerst Kaiser, wer ist der geschickteste Händ¬ 
ler, wer der gerechteste Landesvater und wer der 
beste Kriegsherr? 

Auch könnte man den Zuwachs an Märkten, Müh- 


37 








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


11 ! * * 

12 ! * STUFEN ZUM ERFOLG * 

13 ! * Vorprogramm * 

14 ! * Copyright by * 

13 ! * Michael Haasler * 

16 ! * * 

19 ! * Benoetigte Geraete * 

20 ! * TI99/4A Konsole * 

21 ! * Ext. Basic * 

22 ! * * 

26 ! * Speicherbelegung * 

27 ! * 2105 Bytes * 

28 ! * * 


29 ! ********************** 

30 ! 

110 RANDOMIZE :: CALL MAGNIF 
Y <3):S RESTORE :: CALL CLEAR 
120 DATA 003F666C746466EF,00 
7E313B3633337E,003E634140603 
F1E,007E321119113F7E,007F333 
03C30317F,007F723239383078 
130 DATA 003E6648304F663E,00 
7C603F3132327A03,007C38181C1 
A183C2,003F13060606263F 
140 DATA 007B72363C363673,00 
7030303072637F 

130 DATA 007F2B2A49494963,00 
7C76323A323477,003E634559617 
F3E,007E33313F3E3078,003E634 
339617F3E07 

160 DATA 007F313A34323179,00 
3E413C06634F3E 

170 DATA 007F492A0808081C,00 
6F2626666E7E37 ,0073622232321 
E0C,0077222241494936,0079321 
40814264F 

180 DATA 007341623418183C,00 
7F43260C1A317F 

200 FOR J«1 TO 160 :: NEXT J 
:: for j-63 TO 90 :: read z 
* :: call char<j,z*):: next 

J 

241 CALL SCREEN<2):: FOR I*=2 
TO 10 :: CALL COLOR(1,3,2): 

: NEXT I :: CALL CHAR(120,-0 
103011925438080989880403F3F3 
F00006000304684020232320204F 
6 F8F8 N ) 

260 CALL CHAR(128,"000000001 
030309112929457D39071F103068 
A8447C380000000000000C0F0-) 
270 CALL CHAR(136,"00000080C 
0FFFFFCFBF5F6C98A04030000000 
00010FEFE3FDFAE6E903020C”):: 
DISPLAY AT(6,6):-HAASISOFT 
1986- :: DISPLAY AT<9,8):" 
ZEIGT!" 

293 DISPLAY AT<1,1):" MICHAE 
L HAASLER SOFTWARE" :: DISPL 
AY AT <24,1):" MICHAEL HAASLE 
R SOFTWARE" 

300 FOR 1-1 TO 1000 :: NEXT 


L 

I 

S 

T 

I 

N 

G 

S 


I : : CALL CLEAR .* : DISPLAY A 
T<10,10):"K A I s E R" :: ca 
LL SPRITE(#1,120,11,48,126): 

: call music :: call clear : 

: CALL DELSPRITE(ALL) 

330 DISPLAY AT(1,1):". 

KAISER" I: DISPLAY AT<3 
,1):"STEUERN SIE IHR FUERSTE 
NTUM!" :: DISPLAY AT(5,1):"H 
ANDELN SIE MIT LAND UND " 
360 DISPLAY AT(7,1):"KORN. S 
ETZEN SIE DIE STEUERN" : DI 
SPLAY AT<9,1):"FEST. FUEHREN 
SIE KRIEG MIT" :: DISPLAY A 
T(11,1):"ANDEREN STAATEN UND 
LENKEN" 

390 DISPLAY AT(13,1):"SIE IH 
R REICH SO, DASS SICH" :: DI 
SPLAY AT(15,1):"DIE BEVOELKE 
RUNG VERMEHRT " 

410 DISPLAY AT(17,1):"UND SI 
E BEFOERDERT WERDEN:" 

420 DISPLAY AT(19,1):"BIS ZU 
M >KAISER<" :: CALL MUSIC :: 

INPUT "WEITER MIT 1":WA :: 
IF WA*1 THEN RUN "DSKi.KAISE 
R2" 

10000 sub music :: restore i 
0040 

10011 READ Al,Bl :: IF B1=0 
THEN SUBEXIT 

10020 CALL SOUND<175*A1,B1,0 
):I GOTO 10011 

10040 DATA 3,349,1,262,3,392 
,1,262,3,440,1,349,4,466,3,4 
94,1,392,3,494,1,392,4,323 
10030 DATA 1,387,1,639,1,698 
,2,323,1,349,1,587,1,639,1,6 
98,3,523 

10060 DATA 1,587,1,659,1,698 
,1,523,1,639,1,698,2,880,1,7 
84,1,698,2,789,0,0 
10070 SUBEND 


len, den langsamen Aufbau des Palastes, die Größe 
des Landes und die Stärke des jeweiligen Heeres 
in einer Grafik darstellen, die auf Wunsch oder 
nach jedem Jahr automatisch abgerufen wird. 

Wäre dies nicht ein Anreiz für die besten der TI- 
Programmierer, dieses Programm entsprechend um¬ 
zuarbeiten, um den Spielspaß noch um ein Vielfa¬ 
ches zu erhöhen? 

Auch Tl-Clubs können sich in Gemeinschaftsarbeit 
gerne daran beteiligen, um Ihr Wissen und Können 
zu beweisen. 

Fühlen Sie sich angesprochen, dann nichts wie ran 
an den Computer und umprogrammieren. Die Län¬ 
ge kann ruhig die Speichererweiterung ausfüllen, 
denn die meisten noch aktiven Tl-User sind ohne¬ 
hin gut ausgerüstet. 

In unserem nächsten Sonderheft wird für die beste 
Version auf jeden Fall ein Ehrenplatz freigehalten 
und dem besten Programmierer oder Club winkt 
eine zusätzliche kleine Überraschung. 


38 





10 

i 

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

li 

1 

* 

* 

12 

; 

* 

STUFEN ZUM ERFOLG * 

13 

i 

* 

HauptProgramm * 

14 

; 

* 

Copyright by * 

15 

i 

* 

* 

16 

i 

* 

Michael Haasler * 

17 

i 

* 

* 

19 

i 

* 

Benoetigte Geraete * 

20 

i 

* 

TI99/4A Konsole * 

21 

i 

* 

Ext. Basic ~* 

22 

; 

* 

* 

26 

| 

* 

Speicherbe 1 egung * 

27 

i 

* 

11938 Bytes * 

28 

i 

* 

* 

29 ! 

30 ! 
110 

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

RANDOMIZE :: KAV, ART,INF 


,kre,sch=0 :: mil=5 :: resto 

RE ::.CALL CLEAR 
120 DATA 003F666C746466EF,00 
7E313B3633337E, 003E634 140603 
Fi E,007E321119ii3F7E,007F333 
03C38317F,007F723239333078 
130 DATA 003E6648504F663E , .00 
7C603F31 32327A03,007C381 81C 1 
A183C2,003F13060606263F 
140 DATA 007B72363C363673,00 
7830303072637F 

150 DATA 007F2B2A49494963,00 
7C?6323A323477|003E634559617 
F3E,007E33313F3E3078,003E634 
559617F3E07 

160 DATA 007F313A34323179,00 
3E413C06634F3E 

170 DATA 007F492A0803081C,00 
6F2626666E7E37,0073622232321 
E0C,0077222241494936,0079321 
40814264F 

160 DATA 007341623418183C,00 
7F43260C1A3i7F 

200 FÜR J = i TO 160 NEXT J 
:: for J=65 to 90 :: read 2 
s ::'CALL char(J,zs):: next 
J 

241 CALL SCREEN(2):: FOR 1=2 
TO 10 :: CALL COLOR(1,5,2)I 
: NEXT I :: z$="HERR " :: JS 
="normal" :: 20=3 :: ES=3 :: 

MS=3 :: M=0 :: F=0 :: P=0 : 

: INPUT "NAME ?":NAMES :: ca 
LL CLEAR :: L=1000 :: V=1000 
270 JAHR=1700 :: BE V=2000 
280 ! ROUTINE 

290 CALL CLEAR :: RAND0MI2E 
:: CALL ZU(WETTER,1,6):: IF 
WETTER«1 THEN WETTERS«"TROCK 
ENHEIT**SCHLECHTE ERNTE" :i G 
OTO 300 

291 IF WETTER=2 THEN WETTERS 
="REGEN-MIESE ERNTE" :: GOTO 

301 

292 IF WETTER---3 THEN WETTERS 


«"WETTER NORMAL-ERNTE NORMAL 
" :: GOTO 302 

293 IF WETTER=4 THEN WETTERS 
="WETTER GUT-ERNTE GUT" :: G 
OTO 303 

294 IF WETTER=5 THEN WETTERS 
="WETTER OPTIMAL-ERNTE OPTIM 
AL" :: GOTO 304 

300 CALL ZU (KQ,200,1000):: K 
V=KV+KQ :: GOTO 310 

301 CALL ZU(KQ,700,1500):: K 
V=KV+KG :: GOTO 310 

302 CALL ZU (KQ,1000,2500):: 
KV=KV+KG :; GOTO 310 

303 CALL ZU (KQ,2000,2800):: 
KV=KV+KG :: GOTO 310 

304 CALL ZU (KQ,3000,4000):: 
KV=KV+KQ GOTO 310 

310 ! 

311 CALL ZU (KN,300,3000):: C 
ALL ZU (KP,10,100) :: CALL ZU( 
LP,10,100) 

313 DISPLAY AT(1, 1 ) :ZS;NAMES 
VON LAUSITZ" :: DISPLAY A 
T(3,i):"JAHR:"JJAHR :: DISPL 
AY AT(5,1):WETTERS :: IF KV< 
0 THEN KV=0 

332 IF L<0 THEN L=0 

333 IF V<-1000000 THEN 20000 

340 DISPLAY AT<7,1):"KORNVOR 
RAT;_"|KV;"KG" ;; DISPLAY 

AT(9,1):"KORNNACHFRAGE:."fK 
N; "KG" :: DISPLAY AT(11,1) : " 

KORNPREIS:."}KP;"TALER" 

370 DISPLAY AT(13,1):"LANDPR 

Eis:."JLP;"TALER" :: DIS 

PLAY AT(15,1)I"LANDBESITZ:.. 

..";L|"HA" :: DISPLAY AT(17, 

l):" vermoegen:. ";V;"Tale 

R" 

400 DISPLAY AT(19,1)I"DRUECK 

E: 1 =KORN KAUFEN.. 

..2=K0RN VERKAUFEN. 

. .3=LAND KAUFEN... 

..4=LAND VERKAUFEN.. 

..5=WEITER" 

410 INPUT "IHRE WAHL ?".'WAHL 
420 IF WAHL=1 THEN 430 ELSE 
IF WAHL=2 THEN 440 ELSE IF W 
AHL=3 THEN 450 ELSE IF WAHL= 
4 THEN 460 ELSE 465 
430 CALL CLEAR :: INPUT "WIE 
viel KORN ?":A :: v=v-a*kp : 

: KV=KV+A :: GOTO 313 

440 CALL CLEAR :: INPUT "WIE 

viel korn ?":a :: v=v+a*kp : 

: KV=KV-A :: GOTO 313 

450 CALL CLEAR :: INPUT "WIE 

VIEL LAND ?":b :: V=V-B*LP : 

: L=L+B :: GOTO 313 

460 CALL CLEAR :: INPUT "WIE 

VIEL LAND ?":B :: V=V+B*LP : 

: L=L.-B :: GOTO 313 


L 

I 

s 

T 

I 

N 

G 

s 















465 ! 

470 V=V+ZO*BEV/100 :: V=V+ES 
•X-BEV/100 :: V=V+MS#BEV/100 

471 IF J$="HARMLOS" THEN V=V 
+BEV/1000 ELSE IF J*="NORMAL 
" THEN V=V+BEV/100 ELSE IF J 
$="STRENG" THEN V=V+BEV/10 E 
LSE IF "GIERIG" THEN V=V + 
BEV/5 

480 CALL CLEAR :: DISPLAY AT 
(1,1):Z*?NAME$|" VON LAUSITZ 
" DISPLAY AT<5,1):"ZOLL:. 

.";zo;" TALER" :: D 

ISPLAY AT <7, 1 ).* "MEHRWERTSTEU 
ER:.";MS;" TALER" 

510 DISPLAY AT(9,1):"EINKOMM 
ensteuer:";es;" taler" :: di 

SPLAY AT(11,1):"JUSTIZ:. 

....";J$ 

530 DISPLAY AT(13,1):"l=ZOLL 

AENDERN.2 = MEHR 

WERTSTEUERN AENDERN...3=EINK 
OMMENSTEUER AENDERN...4=JUST 

IZ AENDERN.5 = WEIT 

ER" 

535 DISPLAY AT<19,1):"VERMOE 
GEN";V :: INPUT "IHRE WAHL ? 

":sw :: if sw=i then 560 els 

E IF SW=2 THEN 570 ELSE IF S 
W=3 THEN 580 ELSE IF SW = 4 TH 
EN 590 ELSE 600 
560 CALL CLEAR :: INPUT "ZOL 
L AENDERN:C1-10003":ZO :: IF 
ZO>1000 THEN 560 ELSE 480 
570 CALL CLEAR :: INPUT "M-W 
STEUERN AENDERN:C1-10003"IM 
S :: IF MS>1000 THEN 570 ELS 
E 480 

580 CALL CLEAR :: INPUT "E-S 
TEUERN AENDERN:CI-10003":ES 
:: IF ES>1000 THEN 580 ELSE 
480 

590 CALL CLEAR :: PRINT "JUS 

TIZ AENDERN:[HARMLOS.NOR 

MAL,STRENG,GIERIG3" :: INPUT 
J* :: GOTO 480 
600 ! INVESTITIONEN 
610 CALL CLEAR :: IF V<-1000 
000 THEN 20000 

620 DISPLAY AT<1,1):Z$JNAME$ 
i" VON LAUSITZ" :: DISPLAY A 
T(3,1):"INVESTITIONEN: " :: D 
ISPLAY AT(5,1):"1. MARKT:... 

.50000 TALER" :: DISPLAY 

AT (7, 1) : "2. FABRIK:.6 

0000 TALER" 

660 DISPLAY AT(9,1):"3. PALA 

st:. .100000 TALER" :: DI 

SPLAY AT(ii,i):"4. TRUPPEN:. 

.========>>>" ;; Display 

AT(13,1):"5. KRIEG" :: DISP 
LAY AT(15,1):"VERMOEGEN:"5V 
690 DISPLAY AT(17,1):"SIE HA 


L 

I 

S 

T 

I 

N 

G 

S 


ben:maerkte...:"jmj" 

FABRIKEN..: "}F; " 

PALAESTE..:"? P :: INPUT "IHR 
E WAHLC6=WEITER3:":W 
710 IF W=1 THEN 720 ELSE JF 
W=2 THEN 730 ELSE IF W=3 THE 
N 740 ELSE IF W=4 THEN 760 E 
LSE IF W=5 THEN 761 ELSt 764 
720 v=v -50000 :: M=M+1 :: GO 
TO 600 

730 v=v -60000 :: f=f+ l :: go 
TO 600 

740 V=V-100000 :: p=p+l :: G 
OTO 600 

760 GGSUB 1040 :: GOTO 600 

761 GOSUB 1300 :: GOTO 600 

762 ! 

763 ! 

764 CALL CLEAR :: IF L<(BEV* 
4)THEN DISPLAY AT(12,1):"DIE 

BUERGER BRAUCHEN MEHR.. 

...LAN 

D. " 

765 IF L<BEV*4 THEN BEV=BEV- 
100 

767 ! 

768 ! 

769 TS=(KAV*750)+<ART*600)+( 
MIL*250) + (INF*500) + <KRE*250) 
+<SCH*250):; DISPLAY AT<5,1) 

:"DIE SOLDATEN ERHIELTEN IHR 

EN... 

..SOLD !" 

771 DISPLAY AT(9,1):"ES WARE 
N";T S; " TALER" 

772 FOR 1=1 TO 750 :: NEXT I 
:: V=V-TS :: IF KV<KN AND J 

$="GlERIG" THEN 850 
790 IF KV<KN AND J$="STRENG" 
THEN 850 

800 IF KV<KN AND J$="NORMAL" 
OR J$="HARMLOS" THEN 860 
810 IF KV>KN AND J$="GIERIG" 
THEN 870 

820 IF KV>KN AND J$="STRENG" 
THEN 870 

830 IF KV>KN AND J$="NORMAL" 
OR J$="HARMLOS" THEN 880 
850 CALL ZU(GEB,100,200):: C 
ALL ZU(STE,200,300):: CALL Z 
U(EIN,100,200):: CALL ZU(AUS 
,200,300):: GOTO 890 
860 CALL ZU (GEB, 100,500) .': C 
ALL ZU(STE,100,500):: CALL Z 
U(EIN,100,300):: CALL ZU(AUS 
,100,300):: GOTO 890 
870 CALL ZU(GEB,200,300):: C 
ALL ZU(STE,100,250):: CALL Z 
U(EIN,200,400):: CALL ZU(AUS 
,100,300):: GOTO 890 
880 CALL ZU(GEB,200,300):: C 
ALL ZU(STE,100,200):: CALL Z 
U(EIN,200,300):: CALL ZU(AUS 


40 

















,100,200):: GOTO 890 
890 CALL CLEAR .* : DISPLAY AT 
<1,i):Z$|NAME$J" VON LAUSITZ 
" :: DISPLAY AT<5,1):"GEBURT 
EN:." }GEB : : DISPLAY A 

t< 7,l):" sterbefaelle:..."jst 

E :: DISPLAY AT(9,1)I"EINWAN 
derer:...."|EIN 
930 DISPLAY AT(11,1):"AUSWAN 
derer:.... "JAUS :: bev=bev-a 
us :: bev=bev-ste :: bev=bev 
+ein :: bev-bev+geb :: if be 

V<1 THEN BEV*1 

940 DISPLAY AT<13,1):"BEVOEL 

kerung:..."*bev :: fg=int(RN 
D-Jfi 500)+1 :: MG C INT(RND#1000 
)+l :: IF M> = 1 THEN DISPLAY 
AT(15,1):"DIE NAERKTE BRACHT 
EN:"jMG*Mi" TALER EIN." :: V 
=V+MG*M 

960 IF F >=1 THEN DISPLAY AT( 
18,1):"DIE FABRIKEN BRACHTEN 
:"j FG*F j "TALER EIN." :: V=V + 
FG*F 

965 JAHR=JAHR+1 :: IF BEV>30 
00 AND BEV< 4500 THEN Z$="BAR 
ON " :: GOTO 1025 
980 IF BEV >4501 AND BEV<6000 
THEN Z$="GRAF GOTO 102 

5 

990 IF BEV >6000 AND BEV<7000 
THEN Z$="KURFUERST " :: GOT 
0 1025 

1000 IF BEV>7000 AND BEV<800 
0 THEN Z %-"HERZOG " :: GOTO 
1025 

1010 IF BEV>8000 AND BEV<100 
00 THEN Z*«"KOENIG " :: GOTO 
1025 

1020 IF BEV>10000 THEN DISPL 
AY AT<20,1):"SIE SIND ZUM >K 

AISER<.GEKROENT WORDEN 

." :: Z$-"KAISER " 

1025'DISPLAY AT(22,1):"SIE S 
IND DERZEIT EIN:";Z* 

1030 input "1=weiter":a :: I 
F A=1 THEN 2000 ELSE 1030 
1040 CALL CLEAR :: DISPLAY A 

T<1, 1) : ".AUFRUESTUNG" : 

: DISPLAY AT (3,1):".LAND 

streitkraefte:" :: Display a 
T(5,1):"1.KAVALLERIE:....500 
0 TALER" 

1080 DISPLAY AT(7,1):"2.ARTI 
LLERIE:....4000 TALER" :: DI 
SPLAY AT(9,1):"3.INFANTRIE:. 
....3500 TALER" :: DISPLAY A 

T < 11, 1) : "4.MILIZ:.20 

00 TALER" 

1110 DISPLAY AT(14,1):". 

seestreitkraefte:" :: displa 

Y AT(16,1) :"5.KREUZER:. 

.50000 TALER" :: DISPLAY AT( 


L 

I 

S 

T 

I 

N 

G 

S 


18,1):"6.SCHLACHTSCH-4000 

0 TALER" 

1135 DISPLAY AT(20,1):"VERMO 
EGEN:"JVJ"TALER" :: INPUT "I 
HRE WAHL ?[7=WEITER]":WAHL : 

: IF WAHL=7 THEN 1200 ELSE 1 
160 

1160 IF WAHL=1 THEN V=V-5000 
:: KAV-KAV+l :: goto 1040 
1162 IF WAHL=2 THEN V=V-4000 
:: art=art+1 :: goto 1040 
1164 IF WAHL=3 THEN V=V-3500 
:: INF“INF+1 :: goto 1040 
1166 IF WAHL=4 THEN V=V-2000 
:: MIL-MIL+1 :: goto 1040 
1168 IF WAHL=5 THEN V=V-5000 
0 :: KRE = KRE +1 :: GOTO' 1040 
1170 IF WAHL=6 THEN V=V-4000 
0 :: SCH B SCH+l :: goto 1040 
1200 CALL CLEAR .* : DISPLAY A 
T(1,1):"SIE HABEN:" :: displ 
AY AT(3,1):"KAVALLERIE:"5KAV 
:: DISPLAY AT(5,1):"ARTILLE 

rie:"jart :: Display at(7,1) 

: "INFANTRIE :"jinf :: displa 

Y AT ( 9 , 1 ): "MILIZ.: ";MIL 

1250 DISPLAY AT(11,1):"SCHLA 

ctschiffe:";sch :: Display a 

T(13, 1) : "KREUZER.: " 5 KR 

E :: DISPLAY AT(15,1);"VERMO 

egen:" ;v; "TALER" :: input "W 
EITER=1":WAHL :: IF WAHL=1 T 
HEN RETURN 

1300 ! KRIEG 

1301 CALL CLEAR :: DISPLAY A 
T<1, 1) : "GEGEN WEN WOLLEN SIE 

.KRIEG FUEHREN ????" 

:.* DISPLAY AT(5, 1) : "1. GROSS 
BRITANIEN" :: DISPLAY AT<7,1 
): "2.RUSSLAND" :: DISPLAY AT 
(9,1):"3.FRANKREICH" 

1350 DISPLAY AT <11,1) I"4.DEU 
TSCHLAND" :: DISPLAY AT(13,1 

):"5.polen» :: input »ihre a 
uswahl ?»:wahl :: if wahl=i 

THEN 1380 ELSE IF WAHL=2 THE 
N 1400 ELSE IF WAHL=3 THEN 1 
420 ELSE IF WAHL=5 THEN 1440 
1371 IF WAHL=4 THEN 1460 
1380 FMIL=100 :: FART=200 :: 

FKAV SS 200 :: FINF=150 :: FKR 
E*121 :: FSCH«64 :: GOTO 160 
0 

1400 FMIL=150 :: FART=200 :: 

FKAV=150 :: FINF=400 :: FKR 
E*=14 :: fsch==i6 :: goto 1600 
1420 FMIL = 150 :: FART SS 250 :: 

FKAV=200 :: FINF Ä 350 :: FKR 
E=34 :: FSCH-28 
1430 GOTO 1600 
1440 FMIL=200 :: FART=75 :: 
FKAV-100 :: FINF=100 :: fkre 
=6 :: FSCH=8 :: GOTO 1600 


1fr 


41 

















1460 CALL CLEAR :: DISPLAY A 
TU, 1) : "1. OESTERREICH" :: DI 
SPLAY AT < 3,1):"2.PREUSSEN" : 
: DISPLAY AT(5,1):"3.SACHSEN 
" :: DISPLAY AT<7,1):"4.BAYE 
RN" :: DISPLAY AT(9, 1) : "5.HA 
NNOVER" 

1467 DISPLAY AT < 11, 1):"6 .MEC 
KLENBUR6 " :: DISPLAY AT<13,1 
):"7.ANHALT" :: INPUT "IHRE 
WAHL ?":wahl :: IF WAHL-i TH 
EN 1470 ELSE IF WAHL-2 THEN 
1480 ELSE IF WAHL-3 THEN 149 
0 ELSE IF WAHL-4 THEN 1300 

1469 IF WAHL=5 THEN 1510 ELS 
E IF WAHL-6 THEN 1320 ELSE I 
F WAHL-7 THEN 1330 

1470 FMIL=125 :: FART=225 :: 
FKAV-150 :: FlNF*=200 :: fkr 

E -12 :: FSCH-16 :: goto 1600 

1480 FMIL=100 :: FART=150 :: 

FKAV= 125 FINF = 175 :: FKR 

E=42 :: FSCH=25 :: GOTO 1600 
1490 FMIL = 50 :: FART = 75 :: F 
KAV=100 :: Fi nf= l30 :: fkre, 
FSCH=0 :: GOTO 1600 
1500 FMIL = 45 :: FART = 80 :: F 
kav=75 :: FInf= l25 :: fkre,f 
SCH=0 :: GOTO 1600 
1510 FMIL=45 :: FART=85 :: F 
KAV=85 :: FINF=100 :: FKRE=4 

:: fsch=2 :: goto 1600 

1520 FMIL=40 :: FART = 87 :: F 
KAV-60 :: FINF=175 :: FKRE=5 

:: fsch*=i :: goto 1600 

1530 FMIL=20 :: FART=25 :: F 
KAV-15 :: FINF-30 li FKRE,FS 

ch«0 :: goto 1600 

1600 ! KRIEG 

1603 CALL CLEAR :: DISPLAY A 
T<l,i):“.....K R I E G" :: D 

ISPLAY AT<3, 1) : ".LA 

USITZ <-> GEGNER" li DISPLAY 
AT(5,1):"KAVALLERIE:" \ KAVf" 
<=>"IFKAV 

1640 DISPLAY AT<7,1):"ARTILL 
ERIE:"f ART J" < = >"f FART :: DIS 
PLAY AT<9,1):"INFANTRIE : " fl 
NFJ"< = >" l FINF :: DISPLAY AT< 

11,1):"MILIZ. :"IMILJ"<-> 

"JFMIL 

1670 DISPLAY AT<13,1):"KREUZ 
ER...:"IKRE|"<■>"!FKRE :: DI 
SPLAY AT <15,1):"SCHLACHTSC:" 
f SCH J" < - > " |FSCH :: INPUT "1- 
WEITER":WAHL :: IF WAHL-1 TH 
EN 1685 

1685 CALL ZU(ZUF,100,500):: 
CALL ZU<FZUF,100,300) 

1690 GTR=<KAV*3)+<ART*2)+<IN 
F*2)+ MIL +<KRE*10) + <SCH*6) + <Z 
UF*5):: GFTR=<FKAV*3)+(FART* 
2) + <FINF*2)+FMIL+ <FKRE*10) + < 


L 

I 

S 

T 

I 

N 

G 

S 


FSCH*6) + <F2UF*5) 

1700 IF GTR>GFTR THEN 1800 E 
LSE 1710 

1710 ! KRIEG VERLOREN 
1715 CALL CLEAR :: DISPLAY A 
T<1,1):“SIE HABEN DEN KRIEG 
VERLOREN" :: DISPLAY AT<3,1) 
.‘"IHRE VERLUSTE:" :: CALL ZU 
(ZBEV,1,1000):: BEV=BEV-ZBEV 
1732 DISPLAY AT<5,1):"BEVOEL 
KERUNGI"jZBEVf" TOTE" :: CAL 

l zu<zv, 1 , 300000 ):: v=v-zv : 

: DISPLAY AT(7,1):"VERMOEGEN 
:"izvi" taler" :: call zu 

<zl, l,10000):: L-L-ZL :: IF 
L<0 THEN L-0 

1740 DISPLAY AT(9,1):"LAND.. 

.:" ILJ " HA" :: CALL ZU( 

ZM,1,20):: M-M-ZM :: IF M<0 
THEN M-0 

1744 DISPLAY AT(11,1):"MAERK 

TE.I "JM : : CALL ZU(ZF,1, 

20):: F=F-ZF :: IF F<0 THEN 
F=0 

1752 DISPLAY AT(13,1):"FABRI 

KEN-:"if :: call zu<zmil, 

1,20):: CALL ZU<ZART,1,20):: 

call zu( zkav,i, 20 ):: call z 

U(ZINF,1,20):: CALL ZU(ZKRE, 
1,20):: CALL ZU(ZSCH,1,20) 
1761 MIL=MIL-ZMIL :: ART = ART 
-ZART :: KAV=KAV-ZKAV :: INF 
=INF-ZINF :: KRE=KRE-ZKRE :: 
sch=sch-zsch :: Display at< 

15.1) :"KAVALLERIE :"Jzkav :: 
DISPLAY AT(17,1):"ARTILLERI 

E :"J ZART 

1766 DISPLAY At <19,1):"INFAN 

trie :"jzinf :: Display at< 

21.1) : "MILIZ.:" j ZMIL :: 

INPUT "1-MEHR":MEHR !! IF M 

EHR-1 THEN 1771 

1771 CALL CLEAR :: DISPLAY A 

T<1,1):"KREUZER........S"fZK 

RE :: DISPLAY AT<3,1):"SCHLA 

chtschiffe:"jzsch :: if mil< 
0 THEN MIL=0 

1782 IF KAV<0 THEN KAV=0 

1783 IF ART<0 THEN ART-0 

1784 IF INF<0 THEN INF=0 

1785 IF KRE<0 THEN KRE=0 

1786 IF SCH<0 THEN SCH=0 

1799 INPUT "1-WEITER":WAHL : 

: IF WAHL=1 THEN 600 

1800 ! KRIEG GEWONNEN 

1805 CALL CLEAR :: DISPLAY A 

T(l,1)5".KRIEG GEWONNEN" 

:: DISPLAY AT <3,1):"SIE HAB 
EN GEWONNEN:" :: CALL ZU(SBE 

v, 1 , 1000 ):: bev=bev+sbev :: 

DISPLAY AT<5,1):"BEVOELKERUN 
G :"JSBEV 

1850 CALL ZU(SV,1,500000):: 


42 












v=v+sv :: Display ak?,!): 1 ^ 

ERMOEÖEN.: "; SV? "TALER” : 

: CALL ZU(SL,1,10000):: L=L + 
SL :: DISPLAY AT(9,1):"LAND. 

.:"JSL;"HA" 

1690 CALL ZU(ZMIL,1,10):: CA 
LL ZU(ZART,1,10):I CALL ZU<Z 
KAV,1,10):: CALL ZU(ZINF,1,1 
0):: CALL ZU(ZKRE,l,10):: ca 
LL ZU < ZSCH,1,10) 

1891 MIL=MIL-ZMIL :: ART=ART 
-ZART :: kav=kav-zkav :: INF 

=INF-ZINF :: KRE=KRE-ZKRE :: 

sch«sch-zsch :: Display at( 

11.1) :"Verluste:" :: Display 
AT(13,1):"KAVALLERIE :"JZKA 

V 

1896 DISPLAY AT<15,1):"ARTIL 
LERIE :"f ZART :: DISPLAY AT( 

17.1) 4"INFANTRIE :"JZINF :: 
DISPLAY AT(19,1):"MILIZ.... 

..:"IZMIL :: DISPLAY AT(21,1 

) : "KREUZER.:." 5 ZKRE 

1920 DISPLAY AT(23,1):"SCHLA 
CHTSCHIFFE: "j ZSCH :: IF NIL< 
0 THEN MIL=0 

1922 IF KAV<0 THEN KAV=0 

1923 IF INF<0 THEN INF=0 

1924 IF ART<0'THEN ART=0 

1925 IF KRE<0 THEN KRE=0 

1926 IF SCH<0 THEN SCH=0 

1950 INPUT "i=WEITER":WAHL : 

! IF WAHL =1 THEN 600 

2000 ! ANGRIFF ???? 

2010 CALL ZU(ANG,1,100) : : IF 
ANG >50 AND ZO>500 AND MS>40 
0 AND ES>300 THEN 2020 ELSE 
280 

2020 CALL CLEAR :: DISPLAY A 
T (6, 1) : 11 DIE BAUERN SIND UNZU 

FRIEDEN... 

.ES GIBT EINEN AUFSTA 

ND" 

2030'CALL ZU(BAU,10,100):: D 
ISPLAY AT(12,1):"IHRE MILIZ: 
<=> DIE BAUERN:" :: DISPLAY 

AT(l4,l):" "jmil;" 

" JBAU 

2041 FOR 1=1 TO 750 :: NEXT 
I :: call zu( aufs,100,500):: 

CALL ZU(AUFT,100,500):: MIL 
S=MIL+AUFS :: BAUS=BAU+AUFT 
:: IF BAUS>MILS THEN 2100 EL 
SE 2070 

2070 CALL CLEAR :: DISPLAY A 
T(l,1):"AUFSTAND NIEDERGESCH 
LAGEN" :: BEV=BEV-BAU :: DIS 
PLAY AT(3,1):"ES GAB"|BAUJ"T 
OTE. " 

2095 FÜR 1=1 TO 750 :: NEXT 
I :: GOTO 280 

2100 CALL CLEAR DISPLAY A 
T (1 , 1 ): "AUFSTAND ERFOLGREICH 


i!!« :: zo, ms,es =0 :: v=v -2 
50000 :: DISPLAY AT(3,1):"25 
0000 TALER ABTRITT AN DIE... 

...BA 

UERN ! ! ! " 

2120 MIL=MIL-5 :: FOR 1=1 TO 
750 :: NEXT I :: goto 280 
20000 ! BANKROTT 
20010 CALL CLEAR :: DISPLAY 
AT(8,4):"SIE SIND BANKROTT!! 

!" :: v=v+M*25000 :: M=0 :: 
v=v+F*30000 :: F=0 :: v=v+P* 
50000 :: P=0 :: V=V+K*60000 
:: K=0 :: v=v+T*25000 :: T=0 
20030 IF V<=-1000000 THEN EN 
D 

20040 DISPLAY AT(10,1):"IHR 
BESITZ WIRD GEPFAENDET !" :: 
FOR 1*1 TO 1000 :: NEXT I : 
; GOTO 280 

30100 SUB ZU(A,B,C):: A= INT( 
(C-B+l)*RND)+B :: SUBEND 



BÖRSE 

Verk. TI 99/4A m. viel Zu¬ 
behör z.B. Speichererw. Ex. 
Basic 2 Plus. Tel: 0211/ 

422216 

Editor Ass. Buch 30, — ; 
Modulator, Ch 36 + Fbas 

40,—; Tastatur 20,—. 5 x 

Spiel Modulen, Parsec usw. 
150,- DM. Tel: 06155/ 

4692 

Verk. TI 99/4A + Pac Man + 
Kleingrafikcn + 92 Spiele + 
TI-Fachzeitschr. + Rec.-Ka¬ 
bel + Infocass. + Handbuch + 
Anleitung f. VB 250 ,— DM. 
Tel: 08142/52873, ab 15.00 
Uhr 

!Zu Verschenken! 
habe ich nichts. Aber fast: 

TI 99/4A kompl. System. 

Liste geg. Freiumschl. J. Mül¬ 
ler, Espanstr. 84, 8510 Fürth 

TI 99/4A: Ext. Doppellauf- 
w. i. Box + ext. Disc. (Texas) 

+ Diskmanager 680,—; RS 

232 (Atronic) 2 Ports ext. 
180,—; 32 K+ Centronic (At¬ 
ronic) ext. 160,—; Tips + 

Tricks 20,—; Spielen, lernen, 
arbeiten 20,—. Chipprogr. 7,— 
77 Basicprogr. Lon Poole 

15- DM. Tel: 06182/26 

186, Harald Ruppert 

Hallo Tl-User! - 
Wenn Ihr Euch einem User¬ 
club anschließen wollt, dann 
denkt an REX-SOFT! 

Wir versorgen Euch u.a. m, 
Ass.-Freeware. Eine Info 
gibt es gegen Rückporto bei: 
Rex-Soft, Pestalozzistr. 7, 
2090 Winsen/Luhe 

Verk. Universaldrucker Cos- 
mos JP 80. Voll grafikfähig, 
Au fl. 640/1280 Punkte/Zei¬ 
le und voll Epson kompati¬ 
bel, 9 Nadeln vertikal, 30 

Mio. Zeichen, VB 500,— DM. 
Tel: 0202/783901, ab 18 Uhr 

Suche das Adventuremodul. 
Erwin Kinslechner, Eibes- 
brunnergasse 1/10, A-l 120 
Wien 

Verk. Pers. Fin, Aids + 
Bas.-Progr. Rout + Market 
Simulation + Oldies 11 + 
Hardcopyroutinen, je 20,— 

DM. Tel: 08708/759, Semm 

Verk. Orig. TI-Diskettanlauf- 
w. 90 K-RAM f. TI-Box. 
360,- DM. Tel: 0221/84 

3625 

Verk. Mini Mem., Editor Ass. 
Mulitplan,je 150,— DM, Tex- 
Forth 60,- DM. Tel: 08708/ 
759, Semm 

TI 99/4A 150,-, dazu 
Ex-Basic, nicht einzeln! 

150,— DM, Tl-lntem 25,— 
Apple kompl. System 

2000,- DM. Tel: 089/ 60 
93425 

Verk. TI 99/4A + Ext. 

Basic + dt. Handbuch + Tips 
+ Tricks + Rec.-Kabel 250,— 
DM. Tel: 05371/16150, ab 
18.00 Uhr 

Verk. TI 99/4A Anlage. Voll 
ausgeb. Einzeln o. zusammen. 
Info: Tel: 02331/586672 


L 

I 

S 

T 

I 

N 

G 

S 


43 






















LISTING 


i 




-m--. .. 


HALLOWEEN X 

Dieses Spiel lehnt sich von der Idee her an den Film 
Halloween an. In diesem Film trieb ein menschli¬ 
ches Wesen in Verkleidung, wie sie zu Halloween 
üblich ist, sein Unwesen. 

Trotz verschärfter Schutzmaßnahmen und Angriffs¬ 
strategien war es nicht möglich, dieses Monster zu 
besiegen. 

Es schien so, als wenn dieses Wesen mehrere Leben 
hätte. 

Es tankte immer wieder, auf unerklärliche Weise, 
Lebensenergie. 

Das Ziel dieses Spiels ist es nun, die festgelegte 
Punktzahl von 100 Punkten zu erreichen, die die 
hundert Leben des Monsters wiederspiegeln. 
Erreicht man weniger Punkte, kommt eine entspre¬ 
chende Meldung, die einem eine Bewertung des 
Spielstandes anzeigt. 

Um die Widerspenstigkeit und .Heimtücke von 
Halloween X zu verdeutlichen wird daraufhinge¬ 
wiesen, daß dieses eigenartige Wesen sich auch 
unsichtbar nähern kann. 



Hasenjagd ist ein in TI-Basic geschriebenes Simula¬ 
tionsprogramm. Es simuliert das Jäger-Beute- 
Gleichgewicht in der Natur. Dabei werden echte 
Wahrscheinlichkeiten für die Zahl der Nachkom¬ 
men dargestellt. Außerdem wird auch der begrenz¬ 
te Lebensraum für Hasen und Füchse mitberück¬ 
sichtigt. Die Füchse, welche die Hasen jagen, haben 
unterschiedlich viele Fangversuche. Die Anzahl der 
Hasen und Füchse sowie die Zahl der Fangversuche 
werden zu Beginn eingegeben. 

Es lohnt sich, mit diesen Ausgangsbedingungen zu 
experimentieren. Es können maximal 12 Genera¬ 
tionen (Versuche) beobachtet werden. 

Die Anzahl der Versuche ist frei wählbar. Am Ende 
jeder Generation werden die neuen Werte für die 
nächste Generation ausgegeben. 

Zuerst (am Beginn der Generation) streiten sich die 
Hasen um den begrenzten Lebensraum. Derjenige, 
welcher keinen Raum besetzen kann, ist von Be¬ 
ginn au ausgeschieden, d.h., er kann sich nicht fort¬ 
pflanzen. Hasen, die vom Fuchs geschlagen wur¬ 
den, werden durch das Fuchssymbol ersetzt. 

Es können sich nur die überlebenden Hasen (mit 
Faktor 5) und die Füchse (Faktor 2) fortpflanzen, 
welche einen Hasen erbeutet haben. 

Die Auswertung der Simulation erfolgt am Ende 
mit Hilfe eines Balkendiagrammes. Es zeigt den . 
Verlauf der beiden Populationen und den Verlauf 
der Vermehrungsraten. Beide sollen phasenver¬ 
schobene Sinusfunktionen sein. 

Interessante Versuchsergebnisse lassen sich auf 
Band speichern und auch wiedergeben. 


44 






100 

i 

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

110 

1 

* 

* 

120 

i 

* HALLOWEEN X 

* 

130 

i 

* 

* 

140 

1 

* COPYRIGHT BY 

* 

150 

i 

* 

* 

160 

« 

* RALF FELDHOFF 

* 

170 

i 

* 

* 

180 

i 

* BENOETIGTE GERAETE 

* 

190 

i 

* TI99/4A KONSOLE 

* 

200 

1 

* EXT. BASIC 

* 

210 

i 

* JOYSTICK 1 

* 

220 

i 

* 

* 

230 

i 

* SPEICHERBELEGUNG 

* 

240 

i 

* 5838 BYTES 

* 

250 

i 

* 

* 

260 

270 

! ********************** 
CALL CLEAR 

280 

CALL CHAR(96,"31425673FF 


EACB873651FEA51BC261FE267541 
ACF14526661B647EFDAB846735") 
290 CALL CHAR<140,"FFFFFFE3E 
FFBF1FBFEFEFFE7E1F8FFFFFFFFF 
FC7F7DF8FDF7F7FFFE7B71FFFFF" 


L 

I 

S 

T 

I 

N 

G 

S 


<c 


) 

300 CALL CHAR(110,"112233447 
7880000") 

310 CALL CHAR(92,"1232435467 
5647854636FFD25663FC53E35635 
42553542566615232DCF245376") 
320 CALL CHAR(136,"0103070F0 
30303030303070F1F3FFFFF80C0E 
0F0C0C0C0C0C0C0E0F0F8FCFFFF" 
) 

330 CALL CHAR(128,"000000000 
103040E0F0403010000000000000 
00080402010F020408000000000" 


) 

340 BL$=" BLINDFISC 
H ! " 

350 AN*=" ANFAENGER 

i » 

360 AM*="AMATEUR ! " 
370 IN$=" INSIDER !" 
380 PR$="PROFI !" 

390 REM WERBUNG 

400 FOR X=1 TO 16 

410 CALL SPRITE<#X,140,X,10* 

X,12*X) 

420 CALL MAGNIFY(4) 

430 CALL SOUND(10,440,0) 

440 NEXT X 

450 FOR X=1 TO 400 :: NEXT X 
460 CALL DELSPRITE(ALL) 

470 FOR A=1 TO 9 

480 CALL COLOR < 9,2,A + 3) 

490 CALL HCHAR(10-A,5,96,A) 
500 CALL HCHAR(10+A,5,96,A) 
510 CALL HCHAR(10-A,27-A,96, 
A) 

520 CALL HCHAR(10+A,27-A,96, 
A) 

530 NEXT A 


540 CALL HCHAR(10,13,96,1) 
550 CALL HCHAR(10,18,96,1) 

560 CALL HCHAR(13,15,96,2) 
570 CALL HCHAR(14,12,96,1) 
580 CALL HCHAR(14,19,96,1) 
590 CALL HCHAR(15,13,96,1) 
600 CALL HCHAR(16,14,96,1) 
610 CALL HCHAR(17,15,96,1) 
620 CALL HCHAR<17,16,96,1) 
630 CALL HCHAR(16,17,96,1) 
640 CALL HCHAR(15,18,96,1) 
650 FOR B=1 TO 500 :: NEXT B 
660 DISPLAY AT(10,8):"HALLOW 
EEN X" 

670 FOR C=i TO 2 
680 FOR D=4 TO 16 
690 CALL SCREEN(3) 

700 CALL COLOR(9,D,D-2) 

710 CALL COLOR(14,20-D,D-1) 
720 CALL HCHAR(9,8,140,15) 
730 CALL HCHAR(11,8,140,15) 
740 CALL VC HAR(9,8,140,3) 

750 CALL VCHAR(9,23,140,3) 
760 CALL SOUND (50, D*10+ 110,0 
,550,0,660+D*10,0) 

770 NEXT D 
780 NEXT C 

790 FOR V=1 TO 400 :: NEXT V 
800 CALL CLEAR 

810 PRINT "COPYRIGHT BY RALF 
FELDHOFF",,,:"HUETTENSTR. 3 
7",,,:"4000 DUESSELDORF 1",, 

,:"TEL. 0211 / 37 77 95" 

820 FOR E-i TO 1000 :: NEXT 
E 

830 CALL CLEAR 

840 PRINT “ES EXISTIEREN 4 H 
ARMLOSE" PRINT "HALLOWEEN 
UND HALLOWEEN X." :: PRINT 
,,"DEINE AUFGABE:SUCHE UND" 
850 PRINT "ZERSTOERE HALLOWE 
EN X !" :: PRINT ,,"DU BEKOM 
-HST EINEN PUNKT" :: PRINT "( 
LINKS UNTEN) WENN DU IHN" :: 

PRINT "ZERSTOERST." 

860 PRINT "DU BEKOMMST EINEN 
" :: PRINT "FEHLERPUNKT(REC 
HTS OBEN)" :: PRINT "WENN DU 
IHN NICHT TRIFFST" :: PRINT 
"ODER ER DICH ZERSTOERT." 
870 PRINT ,,"DU HAST 5 VERSU 
CHE." :: PRINT "DAS SPIEL EN 
DET WENN DU ES" :: PRINT "IN 
NERHALB DER 5 VERSUCHE" :: P 
RINT "NICHT SCHAFFST HALLOWE 
EN X" 

880 PRINT "ZU ZERSTOEREN. " .* 

: PRINT "ACHTUNG!!! :HALLOWE 
EN X KANNSICH UNSICHTBAR NAE 
HERN." :: PRINT ,,"DRUECKE D 
EN FEUERKNOPF !!!" 

890 CALL KEY(1,K,S) 

900 IF K< >18 THEN 890 


Sfr 


45 





910 REM SPIELFELDAUFBAU 
920 CALL CLEAR 

930 DISPLAY AT(4,10):"HALLOW 
EEN X" 

940 DISPLAY AT<22,5):"POINTS 

• H 

930 CALL C0L0R(4,16,2) 

960 CALL HCHAR(3,3,58,29) 

970 CALL HCHAR(24,3,58,29) 
980 CALL VCHAR(3,3,58,21) 

990 CALL VCHAR<3,31,58,21) 
1000 CALL COLOR(10,2,9) 

1010 CALL HCHAR<1,2,110,31) 
1020 CALL HCHAR<2,2,110,30) 
1030 CALL VCHAR < 2,32,110,22) 
1040 CALL VCHAR(2,2,110,22) 
1050 CALL MAGNIFY(3) 

1060 CALL SPRITE(#17,136,2,1 
47,147) 

1070 RANDOMIZE 

1080 FÜR F=0 TO 99 

1090 DISPLAY AT(22,12):F 

1100 FOR R=19 TO 23 

1110 DISPLAY AT(10,10):"HALL 

OWEEN X" :: DISPLAY AT(12,10 

):"TANKT ENERGIE ! " 

,1120 CALL SPRITE<#R,140,RND* 
15 +1,RND*191 +1,RND*255 +1,RND 
*20+F,RND*15+F) 

1130 CALL JOYST(1,XI,Y1) 

1140 CALL MOTION(#17,-5*Y1,5 
*Xi) 

1130 NEXT R 

1160 FOR G=0 TO 4 

1170 DISPLAY AT(4,24):G 

1180 DISPLAY AT(10,10):"- 

." :: DISPLAY AT(12,10 

):" " 

1190 CALL JOYST(1,XI,Yl) 

1200 CALL KEY(1,K,S) 

1210 IF K=18 THEN 1250 

1220 CALL MOTION(#17,-5*Y1,5 

*X1) 

1230 CALL COINC(#17,#19,15,Y 
) 

1240 IF Y=-l THEN 1550 ELSE 
1190 

1250 CALL POSITION(#17,X,Y): 

: CALL SPRITE<#18,130,2,INT< 
ABS < X-4)+1),INT(ABS < Y-1)+1)) 
1260 CALL MOTION(#18,-127,0) 
1270 FOR J=1 TO 4 
1280 CALL C0INC(#18,#19,15,Y 
) 

1290 IF Y=-l THEN 1330 
1300 NEXT J 

1310 CALL DELSPRITE(#18) 

1320 GOTO 1460 

1330 CALL DELSPRITE(#18):J C 
ALL SOUND<300,-6,0):I CALL P 
0SITI0N(#19,X,Y):: CALL DELS 
PRITE(#19):: CALL SPRITE<#20 
,92,2,X,Y,0,0) 


L 

I 

S 

T 

I 

N 

G 

S 


1340 FOR K=1 TO 100 :: NEXT 
K :: CALL DELSPRITE(#20) 

1350 NEXT F 

1360 CALL DELSPRITE(#17) 

1370 DISPLAY AT(22,12):F 
1380 FOR S=110 TO 850 STEP 1 
10 

1390 CALL SOUND(-S,S,2,S+100 
,2,S+200,2) 

1400 NEXT S 

1410 PRINT " **** HALLO 
w E E N ****" :: print PR 

INT ". MEISTER!" 

1420 PRINT 

1430 PRINT "DU HAST MIT 100 
PUNKTEN",,,"DAS ZIEL ERREICH 
T." :: PRINT ,"WILLST DU NOC 
HMAL SPIELEN ?" 

1440 PRINT ,"DANN DRUECKE DE 
N FEUERKNOPF." I\ PRINT ,,,, 
"VIEL ERFOLG ! ! ! " 

1450 GOTO 1530 

1460 IF G<>4 THEN 1620 

1470 CALL DELSPRITE(#17) 

1480 REM ENDMELDUNGEN 
1490 CALL SOUND(100,110,0,22 
0,0,330,0):: GOSUB 1640 
1500 PRINT ,"DER LETZTE FEHL 
ER WAR EIN" :: PRINT "FEHLSC 
HUSS. " 

1310 PRINT ,"HALLOWEEN X HAT 

DICH BESIEGT",,,"WILLST DU 
WEITERSPIELEN ?" 

1320 PRINT ,"DANN DRUECKE DE 
N FEUERKNOPF." II PRINT ,,,, 
"VIEL ERFOLG ! ! ! " 

1530 CALL KEY(1,CODE,STATUS) 
1540 IF C0DE=18 THEN 920 ELS 
E 1530 

1550 CALL SOUND(300,-6,0):: 
CALL POSITION(#17,X,Y):: CAL 
L DELSPRITE(#17):: CALL SPRI 
TE(#20,92,2,X,Y,0,0) 

1560 FOR L=1 TO 100 :: NEXT 
L :: CALL DELSPRITE(#20):: C 
ALL SPRITE(#17,136,2,147,147 
,0,0):: GOTO 1610 
1570 CALL DELSPRITE(#17):: G 
OSUB 1640 

1580 PRINT ,"DER LETZTE FEHL 
ER WAR DER " :: PRINT "ZUSAM 
MENSTOSS MIT" li PRINT "HALL 
OWEEN X." 

1590 PRINT ,"HALLOWEEN X HAT 
DICH BESIEGT", 

1600 PRINT ,"WILLST DU WEITE 
RSPIELEN ?" :: PRINT ,"DANN 
DRUECKE DEN FEUERKNOPF." 
PRINT ,,,,“VIEL ERFOLG !!!" 
GOTO 1530 

1610 IF G=4 THEN 1570 

1620 NEXT G 

1630 REM LEISTUNG 


46 





1640 IF F=0 THEN PRINT BL$ : 
.* GOTO 1690 

1650 IF F<20 THEN PRINT ANS 
:: GOTO 1690 

1660 IF F<40 THEN PRINT AMS 
:: GOTO 1690 

1670 IF F<60 THEN.PRINT INS 

:: GOTO 1690 

1660 PRINT PRS 

1690 PRINT 

1700 RETURN 


L 

I 

S 

T 

I 

N 

G 

S 


BÖRSE 


Neuw. Software zu verk.! 
Module: Dig Dug 15,—, Re¬ 
turn to Pirate Isle 25,—, 
Parsec 20,—, Munch Man 
20,—, TI Invaders 20,—, 
Chisholm Trail 10,—, Alpi¬ 
ner 20,-, Adv. + allen 11 
Cass. 75,—, 70 Cass. m. ca. 
400 Progr., tägl. 15-17 Uhr 
Volker Niemeyer, Tel: 04202 
/81279 


Suche Tl-User zwecks Er¬ 
fahrungsaustausch im Raum 
Düren. Stefan Bachem, 
Arnoldsweilerstr. 52, 5160 
Düren, Tel: 02421/17673 


Schnellste Dateiverw. m. 
Kass. Ex-Basic-Progr. auf 
Kass. geg. Einsendung von 
10,— DM. Peter Ilielscher, 
Am Wall 22, 4401 Saer¬ 
beck 


Verk.: 

Konsole TI 99/4A, s/w Mo¬ 
nitor, Speech Synthesizer, Tl- 
Box m. Flex Cable Karte, 

32 KB Karte, RS232 Schnitt¬ 
stellen Karte (lxParallel, 

2 x seriell), Disk-Controller, 

5 1/4 Disklaufw. (alles orig. 
TI) 

Modulsoftware: Diskmanager 
II, Ex. Basic, Ed.-Ass., Mul¬ 
tiplikation I, Add. u. Subtr., 
Minus Miss., Parsec, Alpiner 
(alles orig. TI) 

Literatur: 99 Spezial I, Ed. 
Assembl. Handbuch (dt. 
u. engl.), Mini Memory 
Handbuch, TI-Rev. (15 
Hefte), Computer Contact 
(7 Hefte) 

Ca. 10 Disk. m. Software, 
Kass.Rec.Kabel (doppelt), 
Joystick, Druckerkabel 
(parallel), Sch'altpläne. Preis- 
VE. Neuw. ca. 3500,— DM, 
Tel: 06403/2289, ab 16 Uhr 


Verk. 80-Zeichen-Drucker 
Ti-Silent 743 m. RS 232-An- 
schlußkabel (orig. TI) u. 
Papier 250,—. Original TI- 
RS232 Schnittstelle (ext.), 
32K-Erw. eingebaut! 500,— 
DM. M. Becker, Tel: 06201/ 
16272 


2K-Speicher für nur 100,— 
direkt ansteckbar zu best, 
bei: C. Mohr, Friesenweg 
38, 4133 Ncuk.-Vluyn, Tel: 
02845/21507 


32K-Erw. z. Einbau i.d. Kon¬ 
sole (Superschnell, da direkt. 
Anschluß aller 16 Datenleit.) 
Lötarbeit erforderl. Verk. 
auch einige Module sowie 
Buch 99 Special. Preis: VB! 
Tel: 06257/83247 


Wenn die 256K-Speichcrer- 
weiterung lieferbar ist, er¬ 
scheint im Clubheft des TI- 
CLUB BAUNATAL der aus¬ 
führlichste Testbericht die¬ 
ser Erweiterung. Wollen Sie 
den Bericht lesen? Ja, dann 
fordern Sie noch heute geg. 
3,— DM Clubhefte an — bei: 
TI-CLUB BAUNATAL, M. 
Orf, Birkenallee 34, D-3407 
Baunatal 1, Tel: 0561/49 
7990 


Orig. TI-Erweiterungsbox, 
32K, Disc-Kontroller, 1 Int. 
und ein ext. Laufwerk, 

RS 232-Karte, Buchhaltungs¬ 
modul, Personal Rec. Keeping 
+ Maker, Schaltunterlagen, 
versch. Literatur, sehr viel 
Software auf Disk., Mathe¬ 
matik 1, Basic Progr. Rou¬ 
tinen II u. III, Baustatistik, 
kompl. abzugeb. für 1400,— 
DM. Günter Trunk, Urnenstr. 
9, 6700 Ludwigshafen 25, 
Tel: 0621/678578, ab 17.C0 
Uhr 


Endlich ist es daül Dt. 
Handbuch für Tl-Writer u. TI- 
Forth. Preis pro Buch: 45,— 
DM. Ralph Weber, Lange- 
marckstr. 54, 8906 Gerst¬ 
hofen 


Achtung! Tausche Mini Mem. 
orig. TI + Literatur geg. 
Sprachsynthes. M. Macke, 
Tel: 0431/526083 


Verk. TI 99/4A f. 100,- DM 
sowie versch. TI-Rev.-Hefte 
zum halben Preis. Tel: 098 
71/9835 


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


11 REM* HASENJAGD * 

12 REM*Computersimulation* 

13 REM* Copyright by * 

14 REM* * 

15 REM* Hans Enderl * 

16 REM* * 

17 REM*Benoetigte Geraete* 

18 REM* TI99/4A Konsole * 

19 REM* optKas.-Rekord.* 

20 REM* * 

23 REM* Speicherbe1egung * 

24 REM* 4125 Bytes * 


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

26 REM 

100 CALL CLEAR 

110 PRINT TAB(8),*"MENUE":"" 

120 PRINT "1=>NEUE VERSUCHE" 

:""!"2« >DATENSPEICHERUNG":"" 
:"3=>DATEN VOM BAND".*" " 

130 INPUT "KENNZIFFER ? : " : C 

140 IF 03 THEN 130 

150 IF C<1 THEN 130 

160 ON C GOSUB 170,1780,1660 

170 CALL CLEAR 

160 PRINT TAB(10)J"HASENJAGD 
": :"SIMULATION DER POPULATI 
0NEN": : "WAEHLEN SIE :":"1=> 
ANZAHL DER VERSUCHE":"MAXIMA 
L 12":"" 

190 PRINT "2=>ANFANGSZAHL DE 
R HASEN": :"3=>ANFANSZAHL DE 
R FUECHSE": :"4«>FANGVERSUCH 
E PRO FUCHS":"MAX.4 0-ENDE": 

n ii 

200 PRINT "DER LEBENSRAUM IS 
T 621 PLAETZE GROSS. ": "" 

210 PRINT "BITTE TASTE DRUEC 
KEN ! " 

220 CALL KEY <0,KEY,STAT) 

230 IF STAT=0 THEN 220 
240 INPUT "1=>ANZAHL DER VER 
SUCHE ?":V 

250 IF V>12 THEN 240 
260 IF V< =0 THEN 1650 
270 INPUT "2= >ANFANGSZAHL HA 
SEN ?":h 

280 INPUT "3=>ANFANGSZAHL FU 
ECHSE ?":f 

290 INPUT "4= >FANGVERSUCHE P 

R0 FUCHS ? H : VE 

300 IF VE>4 THEN 290 

310 PRINT "EINGABE IN ORDNUN 

G ? < J/N)" 

320 CALL KEY<0,KEY,STAT) 

330 IF KEY=74 THEN 360 
340 IF KEY=78 THEN 240 
350 GOTO 320 

360 DIM Hl (12,2), Fl (12,2) 

370 CALL CLEAR 

380 CALL COLOR(9,2,7) 

390 CALL COLOR(2,2,3) 

400 CALL SCREEN(13) W 


47 





















410 CALL CHAR(100,"0123C3227 
C7C2482") 

420 CALL CHAR(42,"24243C183C 
7E7E3C") 

430 FOR V=1 TO V 

440 K$="VERSUCH : "kSTR$(V) 

450 FOR U=1 TO LEN <K$) 

460 CALL HCHAR(24,U+9,ASC(SE 
Q*<K*,U P 1))) 

470 NEXT U 

400 V=VAL (STR$ (\)) ) 

490 RANDOMIZE 
500 FOR N=1 TO H 
510 A=INT((23-l+l)*RND)+1 
520 B=INT((29-3+1)*RND)+3 
530 CALL GCHAR(A,B,WW) 

540 IF WW=42 THEN 570 
550 CALL HCHAR(A,B,42,1) 

560 HH=HH+1 

570 NEXT N 

580 FOR N=1 TO F*VE 

590 X=INT(<23-1+1)*RND)+1 

600 Y=INT((29-3+1)*RND)+3 

610 CALL GCHAR(X,Y,WW) 

620 IF WW=42 THEN 630 ELSE 6 
50 

630 CALL HCHAR(X,Y,100,1) 

640 G=G+1 
650 NEXT N 
660 CALL CLEAR 
670 H=(HH-G)*5 
660 F=G*2 

690 FOR Y=1 TO 3 

700 FOR X=1500 TO 2500 STEP 

250 

710 CALL SOUND(-1000,X,0,-1, 
0 ) 

720 NEXT X 
730 NEXT Y 

740 PRINT TAB (10) ,* "ERGEBNIS" 
"HASEN :"J HH,"GEFRESSEN: 

II j Q • HU 

750 PRINT 

760 PRINT "IN DER NAECHSTEN 
GENERATION" 

770 PRINT 

780 PRINT "HASEN :",'H,"FUECH 
SE : " |F 
790 PRINT 
600 PRINT 

810 PRINT "UNTERBRECHUNG TAS 
TE DRUECKEN" 

820 Hl(V,1)=INT(HH/27) 

830 Hl(V,2)=INT <H/100) 

840 Fl(V,1)=INT(G/27) 

850 Fl< V, 2) = INT(F/100) 

860 FOR T=1 TO 500 
870 CALL KEY(0,KEY, STAT) 

880 IF STAT.=0 THEN 890 
885 GOTO 960 
890 NEXT T 
900 CALL CLEAR 
910 G=0 


L 

I 

S 

T 

I 

N 

G 

S 


920 HH=0 

930 IF F<=0 THEN 960 
940 IF H< =0 THEN 960 
950 NEXT V 

960 REM BALKENGRAFIK 

970 CALL CLEAR 

980 CALL SCREEN(10) 

990 R$=“0103070F1F3F7FFF" 
1000 Q$="FFFFFFFFFFFFFFFF" 
1010 CALL CHAR(42,"24243C183 
C7E7E3C") 

1020 CALL CHAR(100,"0123C322 
7C7C2482") 

1030 CALL CHAR(144,G$) 

1040 CALL CHAR(152,R$) 

1050 CALL CHAR(104,) 

1060 CALL CHAR(112,) 

1070 CALL CHAR(120,R$) 

1080 CALL CHAR(128,R$) 

1090 CALL CHAR(136,R$) 

1100 CALL COLOR(10,6,2) 

1110 CALL COLOR(11,12,2) 

1120 CALL C0L0R(12,10,12) 
1130 CALL COLOR(13,2,1) 

1140 CALL COLOR(14,12,2) 

1150 CALL COLOR(15,9,2) 

1160 CALL COLOR(16,2,6) 

1170 CALL COLOR(2,2,1) 

1180 CALL COLOR(9,2,1) 

1200 FOR 1=621 TO 1 STEP -27 
1210 PRINT I 
1220 NEXT I 
1225 FOR N=i TO 2 
1230 IF N=1 THEN 1240 ELSE 1 
260 

1240 K$="POPULATIONEN" 

1250 GOTO 1270 

1260 K$="VERMEHRUNGEN" 

1270 FOR U=1 TO LEN(K$) 

1280 CALL HCHAR(1,U+9,ASC(SE 
G*(K*,U,1))) 

1290 NEXT U 
1300 P=7 

1310 FOR V=1 TO V-l 
1320 IF Hl < V,N )>23 THEN 1330 
ELSE 1350 
1330 Z=23 
1340 GOTO 1380 
1350 Z=H1(V,N) 

1360 IF Z<1 THEN 1370 ELSE 1 
380 

1370 Z=1 

1380 CALL VC HAR (24-Z,P,104,Z 
) 

1390 CALL VCHAR(24-Z,P+l,112 

. 2 - 1 ) 

1400 CALL HCHAR (23,P+l,120) 
1410 CALL HCHAR (24-Z+l,P,42, 
1) 

1420 CALL HCHAR(24-Z,P+l,136 
) 

1430 CALL HCHAR <24-Z,P,128) 
1440 IF Fl(V,N)>24 THEN 1450 


48 



.ELSE 1470 
1450 Z=23 
1460 GOTO 1500 
1470 Z=F1<V,N) 

1480 IF Z<1 THEN 1490 ELSE 1 

500 

1490 Z=1 

1500 CALL VCHAR< 24-Z,P,144,Z 
) 

1510 CALL VCHAR(24-Z,P+l,112 

,2-1) 

1520 CALL HCHAR(23,P+1,120) 
1530 CALL HCHAR(24-Z+1,P,100 

,D 

1540 CALL HCHAR(24-Z,P+l,136 
) 

1550 CALL HCHAR (24-Z,P,152) 
1560 P=P+2 
1570 NEXT V 

1580 CALL KEY(0,KEY,STAT) 

1590 IF STAT=0 THEN 1580 

1600 FOR 1=1 TO 24 

1610 CALL HCHAR(I,7,32,27) 

1620 NEXT I 

1630 NEXT N 

1640 GOTO 100 

1650 END 

1660 REN DATENEINGABE 

1670 PRINT TAB (7) ,* "DATENEIGA 

BE VOM BAND":"" 

1680 OPEN #1:"CS1",SEQUENTIA 
L,INTERNAL,INPUT ,FIXED 
1690 INPUT #l:V 
1700 FOR N=1 TO 2 
1710 FOR V=1 TO V-l 
1720 INPUT #i:Hl<V,N),F1(V,N 
) 

1730 NEXT V 

1740 NEXT N 

1750 CLGSE •# 1 

1760 CALL CLEAR - 

1770 GOTO 960 

1780 REM DATENSPEICHERUNG 

1790 CALL CLEAR 

1800 PRINT TAB(7)J"DATENSPEI 

CHERUNG" 

1810 PRINT 

1820 OPEN #1:"CS1",SEQUENTIA 
L,INTERNAL,OUTPUT,FIXED 
1830 PRINT #i:V 
1840 FOR N=1 TO 2 
1850 FOR V=1 TO V-l 
1860 PRINT #l:Hl<V,N),F1<V,N 
) 

1870 NEXT V 
1880 NEXT N 
1890 CLOSE #1 
1900 GOTO 100 



REVUE 

DAS MAGAZIN 
FÜR FREUNDE 
DER KOMPATIBLEN 


49 



























































10 

i 

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

11 

i 

* 


* 

12 

i 

* 

Mendels Gesetz 

* 

13 

| 

* 

Computersimu1ation 

* 

14 

i 

* 

Copyright by 

* 

15 

i 

* 


* 

16 

i 

* 

Hans Enderl 

* 

17 

| 

* 


* 

19 

; 

* 

Benoetigte Geraete 

* 

20 

i 

* 

TI99/4A Konsole 

* 

21 

; 

* 

Ext. Basic 

* 

22 

; 

* 


* 

26 

i 

• 

* 

Speicherbelegung 

* 

27 

; 

* 

4172 Bytes 

* 

28 

i 

* 


* 

29 

30 

i 

i 

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

100 

CALL CLEAR :: ON WARNING 


NEXT :: CALL init :: CALL l 
OAD(-31606,16) 

110 DISPLAY AT <11,1) : " MEN 
DELSCHE REGELN" 

120 DISPLAY AT<12,1):" === 

BiBBi:rsc8ca*aa 11 

130 CALL KEY(0,K,S):: IF S=0 
THEN 130 
140 CALL CLEAR 
142 DISPLAY AT(1,1): H IN DER 
SIMULATION WIRD DER " : "ERBGAN 
G IN DER F2 GENERATION":"SIM 
ULIERT.ES WERDEN JEWEILS":"4 
00 KREUZUNGEN VON TIEREN":"D 
ER Fl VORGENOMMEN." 

144 DISPLAY AT(6,1):"BEI BSP 
. 1":"R = ROT DOMINANT":"W ■ 
WEISS REZESSIV" 

146 DISPLAY AT(9,1):"BEI BSP 
. 2":"S - SCHWARZ DOMINANT": 
"E « EINFARBIG REZESSIV":"r 
- ROT REZESSIV":"s » GESCHEC 
KT REZESSIV" 

150 DISPLAY AT(16,1):"1 =>DO 
MINATER ERBGANG DER F2 (MIT 
EINEM MERKMAL)" 

160 DISPLAY AT(19,1):"2 =>DO 
MINATER ERBGANG DER F2 (MIT 
ZWEI MERKMALEN)" 

170 DISPLAY AT <22,1):"3 = >DA 
RSTELLUNG DER F2 VON 1": : "K 
ENNZAHL ?" 

190 !CALL KEY(0,K,S):: IF S= 
0 THEN 100 

200 ACCEPT AT(24,11)VALIDATE 
<"1,2,3,4")BEEP SIZE<1):K 
210 ON K GOSUB 220,500,750,2 
000 

220 CALL SCREEN(11) 

230 A$="FF818181818181FF" 

240 CALL CHAR(96,A$):: CALL 
CHAR(104,A$):: CALL CHAR<112 
, A*D 

250 CALL COLOR(9,10,10,10,16 
,16,11,16,10) 


L 

I 

S 

T 

I 

N 

G 

S 


260 IMAGE #.# 

270 CALL CLEAR 

280 R,W,RW=0 

290 FOR 1=1 TO 400 

300 RANDOMIZE 

310 X=INT(2*RND)+1 

320 Y=INT(2*RND)+1 

330 IF X=Y AND X=1 THEN R=R+ 

1 ELSE IF X=Y AND X=2 THEN W 

=W+1 ELSE RW-RW+1 

340 F=MIN(R,W):: F=MIN(F,RW) 

.* : IF F=0 THEN F-.01 

350 DISPLAY AT(1,1):"LAUFEND 

E KREUZUNG I"\I 

360 DISPLAY AT(2,1):"======= 


370 DISPLAY AT(4,1):"GENOTYP 
EN : VERHAELTNIS : " 

380 DISPLAY AT (6, 1 ) SIZE ( -8) .* 
"RR = "(R :: DISPLAY AT<6,25 
)SIZE( -3) :USING 260IR/F 
390 DISPLAY AT (9, 1)SIZE(-8): 
"WW - "JW :: DISPLAY AT(9,25 
)SIZE(-3)IUSING 260IW/F 
400 DISPLAY AT(12,1)SIZE(-8) 

:"rw * "iRW :: Display at<12 
,25)SIZE(-3):USING 260IRW/F 
410 DISPLAY AT(15,1) : "- 


420 DISPLAY AT(17,1) : "PHAENO 

TYP ROT - "(R+RW 

430 DISPLAY AT(20,1):"PHAENO 

TYP WEISS - "JW 

440 IF W=0 THEN 480 

450 DISPLAY' AT<24,1 ): "VERHAE 

LTNIS WEISS/ROT=i/" V=(RR 

+RW)/W :: DISPLAY AT(24,25)S 

IZE<-3)IUSING 260IV 

460 CALL HCHAR(7,3,96,R/15) : 

: CALL HCHAR(10,3,104,W/15): 
: CALL HCHAR(13,3,112,RW/15) 
470 CALL HCHAR(18,3,96,(R+RW 
)/15):: CALL HCHAR<21,3,104, 
W/15) 

480 NEXT I 

490 CALL KEY(0,K,S):: IF S=0 
THEN 490 ELSE 140 
500 ! F2 DOMINATER ERBGANG M 
IT 2 MERKMALEN 
510 CALL CLEAR 
520 F$="0006443C243C4200" :: 

FH«"0006443C3C3C4200" :: F 
2*-"00000000FF000000" :: F3* 
-" 0101010101010101 " 

530 CALL CHAR<96,F$,104,F$,1 
12, Fl*, 120, Fl*, 121,F2*,122, F 
3 *) 

540 CALL C0L0R<9,9,16,10,2,1 
6,11,9,16,12,2,16) 

550 CALL SCREEN(12) 

560 DIM Q(4,4),ZAE(4,4) 

570 Zi,Z2,Z3,Z4=0 
580 FOR 1=1 TO 4 


50 














590 FOR L=1 TO 4 :: ZAE<I,L) 
«0 

600 NEXT L 
610 NEXT I 

620 FOR 1=1 TO 4 :: Q < 1, I),Q 
(I,l)*120 :: NEXT I :: Q<3,2 
) f Q(2j 3)*120 

630 Q(2,2),6(4,2),Q(2,4)=104 
:: Q (3,3), Q <4,3),Q(3,4)*112 
:: Q (4,4)*96 
640 FOR ZEI=1 TO 20 
650 FOR SP=5 TO 25 
660 RANDOMIZE 
670 X=INT<4*RND)+1 
660. Y=INT <4*RND)+1 
665 ZAE(X,Y)=ZAE< X, Y) +1 
690 CALL HCHAR(ZEI,SP,Q (X, Y) 

700 IF Q(X,Y)=96 THEN Z1=Z1+ 
1 ELSE IF Q(X,Y)=112 THEN Z2 
=Z2+1 ELSE IF Q (X, Y )=104 THE 
N Z3 bb Z3 + 1 ELSE Z4 = Z4 + 1 
710 DISPLAY AT(2i,l):" ' = ”; 
ZI, "h - | Z 31 "p = "|22, "X = 

"|Z4 

720 NEXT SP 
730 NEXT ZEI 

740 CALL KEY(0,K,S):: IF S=0 
THEN 740 ELSE 940 
750 !DARSTELLUNG ::CALL CLEA 
R :: CALL SCREEN(13) 

760 CALL CHARPAT <42, A$) : CA 
LL CHAR(96,A$):: CALL CHAR<1 
04,A*):: CALL CHAR <112,A$) 
770 CALL COLOR<9,10,1,10,16, 
1,11,10,1) 

780 FOR ZEI=1 TO 20 
790 FOR SP=3 TO 27 
600 RANDOMIZE 
610 X=INT<2*RND)+1 
620 Y=INT<2'*RND)+i 
830 IF X=Y AND X=1 THEN F=96 
ELSE IF X-Y AND X=2 THEN F* 
104 ELSE F=112 • 

840 IF F=96 THEN R=R+1 ELSE 
IF F=104 THEN W*W+1 ELSE RW= 
RW+1 

850 CALL HCHAR(ZEI,SP,F,1) 
860 NEXT SP 
870 NEXT ZEI 

880 CALL KEY(0,K,S):: IF S=0 
THEN 880 

890 CALL COLOR<11,1,1) 

900 FOR 1=1 TO 50 :: NEXT I 
910 CALL COLOR<11,2,1) 

920 DISPLAY AT<23,1):”RR="JR 
|TAB < 9)f"WW*”|W|TAB(18)f "RW= 

" 5RW 

930 CALL KEY<0,K,S):: IF S=0 
THEN 890 ELSE 140 
940 ! GENOTYPEN IN ZAHLEN 
950 CALL CLEAR :: CALL SCREE 
N (16) 


L 

I 

S 

T 

I 

N 

G 

S 


960 DISPLAY AT<1,5):"GENOTYP 
EN IN ZAHLEN" 

970 DISPLAY AT(3,6):"SE Se 

sE se" 

980 DISPLAY AT(6,1):"SE SSE 
E SSEe SsEE SsEe" 

990 DISPLAY AT<11,1):"Se SS 
Ee SSee SsEe Ssee" 

1000 DISPLAY AT<16,1):"sE S 
sEE SsEe ssEE ssEe" 

1010 DISPLAY AT<21,1):"se S 
sEe Ssee ssEe ssee" 

1015 N,M=1 

1020 FOR Z=8 TO 23 STEP 5 
1030 FOR SP=5 TO 20 STEP 5 
1040 DISPLAY AT(Z,SP):ZAE(N, 
M) 

1045 M=M+1 
1050 NEXT SP 
1055 N=N+1 :: M=1 
1060 NEXT Z 

1070 FOR 1=4 TO 24 STEP 5 
1080 CALL HCHAR(I,5,121,22) 
1090 NEXT I 

1100 FOR 1=6 TO 26 STEP 5 
1110 CALL VCHAR(3,I,122,21) 
1120 NEXT I 

1130 CALL KEY <0,K,S) : : IF S= 

0 THEN 1130 ELSE 140 

1140 CALL KEY <0,K,S):: IF S= 

0 THEN 1140 ELSE 100 
2000 END 



MENDELSCHEN 

REGELN 


Dieses in Extended-Basic geschriebene Programm 
stellt eine Computersimulation, die den Verlauf 
von 400 Kreuzungen in der F2-Generation ver¬ 
deutlicht. 

Das Programm soll veranschaulichen, daß es sich bei 
den Mendel’schen Regeln nicht um feste Gesetze 
handelt, sondern, daß sich Populationen erst nach 
einer gewissen Anzahl von Kreuzungen den MendeT- 
schen Regeln nähern. 

Wir hoffen nur, daß sich der Autor bei der Zusam¬ 
menstellung seiner Algorithmen nicht geirrt hat, 
denn wir müssen zu unserer Schande eingestehen, 
daß wir von diesen Regeln herzlich wenig Ahnung 
besitzen. Doch einigen Tl-Usern wird diese Simu¬ 
lation bestimmt von Nutzen sein können, und des¬ 
halb wollten wir auch auf einen Abdruck nicht 
verzichten. 


51 



10 

i 

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

11 

i 

* 

* 

12 

i 

* Speed-Racer 

* 

13 

i 

* 

* 

14 

i 

* Copyright by 

* 

15 

i 

* 

* 

16 

i 

* Oliver Storr 

* 

17 

i 

* 

* 

18 

i 

* 

* 

19 

i 

* Benoetigte Geraete 

* 

20 

i 

* TI99/4A Konsole 

* 

21 

i 

* Ext. Basic 

* 

22 

i 

* Joystick 

* 

23 

i 

* 

* 

26 

; 

* Speicherbelegung 

* 

27 

; 

* 4746 Bytes 

* 

28 

i 

* 

* 

29 

; 

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

30 ! 

190 GOTO 220 

200 CALL SPRITE :: CALL DELS 
PRITE :: CALL PATTERN :: CAL 


L MOTION :: CALL VCHAR :: CA 
LL COLOR :: CALL 9CREEN :: C 
ALL CLEAR :: A :: bb :: VFG 
210 CALL HCHAR :: c :: CALL 
KEY :: ghj :: x :: Y 
220 FOR 1=65 TO 89 :: READ A 
* :: CALL CHAR(I,A$):: NEXT 
I :: CALL CHAR<49 ,"001010101 
0101010", 50,"00D60202D68080D 
6 ", 51, "00D60202160202D6") 

230 CALL CHAR(52,"00828282D6 
020202-,53,"00D680D60202D6", 
54,"00808080D68282D6",55,"00 
D6020202020202",56,"00D68282 
D682D6") 

240 ON WARNING. NEXT .*: CALL 
CHAR(48,"00D68282828282D6“): 

.* CALL CHAR (57, “00D68282D602 
0202"):: GOTO 290 
250 DATA 003F666C746466EF,00 
7E313B3633337E,003E634140603 
F1E,007E321119113F7E,007F333 
03C38317F,007F723239383078 
260 DATA 003E6648504F663E,00 
7C603F3132327A03,007C38181C1 
A183C2,003F13060606263F,007B 
72363C363673,007830303072637 
F,007F2B2A49494963 
270 DATA 007C76323A323477,00 
3E634559617F3E,007E33313F3E3 
078,003E634559617F3E07,007F3 
13A34323179,003E413C06634F3E 
,007F492A0808081C 
280 DATA 006F2626666E7E37,00 
73622232321E0C,0077222241493 
6,007932140814264F,007341623 
418183C007F4 3260C1A317F 
290 CALL CLEAR :: CALL SCREE 
N(2):: FOR 1=0 TO 14 :: call 
COLOR( 1,2,2):: NEXT I 
300 PRINT ".ooo..ooo..oooo.o 


L 

I 

S 

T 

I 

N 

G 

S 


ooo. ooo. . . ,a. . . . ,a, .a.a. . , ,a 
....a..a...o.«...a,.a.o....a 


■ • 9 • 

o. . o. . 

. . aa . . . 

aaaa. 

aaa..a 

aa. . 

a. . a. . 

o. . o. . 

. . . . o. . 

M 

» 

o. . . . 

o. . . . o 

310 

PRINT 

" a. . a. . 

a. . . . 

a. . . . a 

ooo. 

a..a. . 

ooo": 

. . oo. . . 

• • 

• • 

o. . . . 

oooo.o 

320 

PRINT 

" aaaa. . 

. aa. . 

.aaa.. 

aaaa.aaaa. 

. o. . . o . 

o. . o. 

0 

• 

■ 

■ 

o 

o. . . 

• o. . » o 

» a. * . a. 

a. . a. 

a... . . 

a. . . 

. a . . . a 

. oooo. . 

oooo. 

o. . . . . 

ooo. 

a. . , 

.oooo. 

.a.a. " 

.a.a... 

a. . a. 

a.. . . . 

330 

PRINT 

" O. . o . . 

G 

Q 

□. . . o. 

o. . . 

0 

o 

. e . . . a. 

a. . a. 

. aaa. . 


aaaa.a...a" 

340 PRINT : : : : : 

350 FOR 1=1 TO 14 :: CALL CO 
LOR(1,11,1):: NEXT I 
360 DISPLAY AT(24,4):"(C)198 
6 3T0RR-S0FT" 

370 CALL COLOR(10,5,5,9,7,7) 
380 DISPLAY AT <21,1):"LENKGE 
SCHWINDIGKEIT(5-15)" :: ACCE 
PT AT(21,26)BEEP VALIDATE(DI 
GIT):PI :: IF PI<5 OR PI>15 
THEN 380 

390 CALL SOUND(150,1400,5):: 
DISPLAY AT (22,2) : l! 2UM START 
BUTTON DRUECKEN" 

400 FOR AQ=1 TO 2 :: CALL KE 
Y(AQ,H,J):: IF H=18 THEN 420 
410 NEXT AQ :: GOTO 400 
420 CALL CLEAR :: A=20 :: RA 
NDOMIZE :: CALL screen<5):: 
B=0 

430 CALL CHAR(91,"0303030303 

030303C0C0C0C0C0C0C0C0E0E0E0 

E0E0E0E0E0"):: ! ZEICHEN FUE 

R BILDSCHIRMAUFBAU 

440 CALL CHAR(96,RPT$("03",8 

)&RPT0("0",48)):: ! LEITPFOS 

TEN 

450 CALL CHAR(124,"1F031B1F1 

B03030303033B3B3F3B3B07F8C0D 

8F8D8C0C0C0C0C0DCDCFCDCDCE0" 

):: ! AUTO VÜRWAERTS 

460 CALL CHAR<120,“1F031B3F3 

303030303033B3B3F3B3B07F8C0C 

CF8D8C0C0C0C0C0DCDCFCDCDCE0" 

):: ! REIFEN RECHTS 

470 CALL CHAR(116,"1F03333F1 

B03030303033B3B3F3B3B07F8C0D 

8FCCCC0C0C0C0C0DCDCFCDCDCE0- 

):: ! REIFEN LINKS 

480 CALL CHAR(128,"073B3B3F3 

B3B03030303031B1F1B031FE0DCD 

CFCDCDCC0C0C0C0C0D8F8D8C0F8" 

):: ! AUTO RUECKWAERTS 

490 CALL CHAR<132,"000000B8B 

890FFFFFFFF90B8B800000000003 

E3E3E09FFFFFFFF093E3E3E0000" 


52 





















):; ! AUTO LINKS 

500 CALL CHAR <136,“00007C7C7 

C90FFFFFFFF907C7C7C000000000 

01D1D09FFFFFFFF091D1D000000■ 

):: ! AUTO RECHTS 

510 FOR 1=1 TO 14 :: CALL CO 

LOR(Ii5|5):: NEXT I 

520. CALL HCHAR (1,3,32,768) : : 

CALL HCHAR<23,1,112,64)I: C 
ALL VCHAR(3,4,91,20)\: CALL 
VCHARO, 13,92,20) : : CALL VCH 
ARO,16,93,20) 

530 CALL HCHAR(1,1,112,64) 

540 FOR 1=5 TO 12 :: CALL VC 
haro, 1,104,20):: NEXT I :: 
CALL VCHARO, 1, 112,20) : : CAL 
L VCHARO,32,112,20) 

550 CALL COLOR(1,4,4,11,5,5, 
6,15,4,J0,15,15) 

560 FOR 1=0 TO 7 : : CALL COL 
OR(1,2,4)I: NEXT I 
570 DISPLAY AT ( 19,17) :" <C)19 
86" :: DISPLAY AT<21 ,15): “ST 

ORR-SOFT" 

580 DISPLAY AT<6,15) : "SPEED: 
M |A#3+50 :: DISPLAY AT<9,15) 

:"AUTOS:"J BB 

590 CALL SPRITE(#3,96,5,120, 
18,#4,96,5,120,100) 

600 A=20 :: BB=0 :: CALL SPR 
ITE<#1,124,9,130,65)I: CALL 
MAGNIFY(3) 

610 CALL SOUND < 10,110+A*2,0, 
-7,8):: CALL BEWEGUNG ( A,PI,A 
Q):: DISPLAY AT(6,21):A*3+50 
I: DISPLAY AT <9,21) :BB 
620 CALL COINC ( ALL,J ):: IF J 
THEN 660 

630 CALL FEIND(A,VFG,BB):: C 
ALL POSITION<#i,XI,Y1)!! IF 
Yi>82 OR Y1<30 THEN 660 
640 CALL GUCK(A,VFG):: CALL 
COINC < ALL,GHJ) 

650 IF NOT GHJ THEN 610 
660 J=124 :: CALL MOTION(#l, 
0,0, #2,0* 0, #3,0,0, #4,0,0):: 
FOR S-0 TO 30 :: CALL PATTER 
N<#1,J):: IF J-136 THEN J-12 
4 ELSE J* J + 4 

670 CALL SOUND <-500,-6,30-S, 
170-2#S,30-S):: next s :: FO 
R S-0 TO 30 

680 CALL SOUND<-500,-5,S) 

690 NEXT S :: CALL DELSPRITE 
<#1, #2) : : DISPLAY AT<11,16)S 
“NOCHMAL? J/N" :: CALL SOUND 
<150,1400,5) 

700 CALL KEY < AQ,Ml,LI):: CAL 
L KEY <0,M2,L2)II IF Ml-18 OR 
L2O0 THEN 710 ELSE 700 
710 IF Ml=18 OR M2=74 OR M2= 
106 THEN 740 ELSE IF M2-110 
OR M2-78 THEN 750 ELSE 730 


L 

I 

S 

T 

I 

N 

G 

S 


720 GOTO 740 

730 FOR Z=1 TO 50 :: NEXT Z 
:: CALL SOUND<150,140,5):: G 
OTO 700 

740 BG=0 :: DISPLAY ATU 1,16 
):“•■•••ri••••••" :: goto 60 

0 

750 CALL CLEAR :: END 
760 SUB BEWEGUNG<A,PI,AQ): : 
CALL JOYST <AQ,X,Y) 

770 IF X=4 OR X=4 AND Y=4 TH 
EN CALL PATTERN(#1,120):: CA 
LL MOTION(#1,0,PI) 

780 IF X=-4 OR X=-4 AND Y=4 
THEN CALL PATTERN<#1,116):: 
CALL MOTION(#1,0,-PI) 

790 IF X=0 THEN CALL PATTERN 
(#1,124):: CALL MOT I ON < #1,0, 
0 ) 

800 IF Y=4 AND A<127 THEN A= 
A + l 

810 IF Y=-4 AND A>21 THEN A= 

A-5 

820 SUBEND 

830 SUB FEIND<A,VFG,BB):: IF 
VFG*1 THEN SUBEXIT 
840 C=INT (RND* (83-35+1)+35) 
850 BB=BB+1 :: CALL SPRITE(# 
2,124,5,1,C,A,0) 

860 SUBEND 

870 SUB GUCK(A,VFG):: CALL N 
0TI0N(#3,A,0,#4,A,0) 

880 CALL MOTION(#2,A,0):: CA 
LL POSITION (#2, Z, C) : IF Z>1 
77 THEN CALL DELSPRITE(#2) : : 

VFG=0 ELSE VFG*1 
890 SUBEND 
900 ! 



Wollten Sie nicht schon immer Rennfahrer werden? 
Jetzt wird Ihr Wunschtraum möglich! Sie benötigen 
nur die TI 99/4A-Konsole, Ext. Basic, Joystick und 
dieses Listing. Nachdem Sie den Befehl ‘RUN* ein¬ 
getippt haben, haben Sie nur noch wenige Sekun¬ 
den zum Anschnallen Zeit. Vor dem Start werden 
Sie nach der Lenkgeschwindigkeit gefragt, wobei 
5 für den Anfänger und 15 für den Profi gedacht ist. 
Danach können Sie Ihren Joystick wählen, indem 
Sie den dazugehörigen roten Button drücken. 
Spätestens jetzt, im Cockpit, wird Ihnen die Schön¬ 
schrift auffallen, in dem die überholten Autos ge¬ 
zählt werden, die den Punkten gleichkommen. 

Sie können beschleunigen, indem Sie den Joystick 
nach vom drücken, umgekehrt machen Sie von 
der schnellwirkenden Bremse Gebrauch. Zum Len¬ 
ken bewegt man den Steuerknüppel in die gewünsch¬ 
te Richtung, wobei man den Joystick auch diagonal 
bewegen kann. Die Geschwindigkeit ist unbegrenzt, 
da macht das Gasgeben so richtig Spaß!!! Nach ei¬ 
nem ‘Crash* kann man durch Joystick oder Tasten¬ 
druck neu starten. 

Gu(r)te Fahrt und viel Speed!!! 


53 




LISTING 


WAV TO 
HOME 

Way to Home ist ein im Extended-Basic geschrie¬ 
benes Grafik- und Textspiel, wobei alle Eingaben 
klein geschrieben werden müssen. Nach dem Titel¬ 
bild und der Titelmusik geht es los. Es erscheint 
ein Bild mit einem Raum und einigen Angaben 
über diesen Raum, die im unteren Bildteil stehen. 
Der Computer fragt dann: „Was soll ich tun?“ 

Nun gibt man das ein, was der Computer tun soll. 
Der Befehl lautet „geh (eine der vier Richtungen)“, 
z.B. „geh Norden“, wenn nicht auf andere Be¬ 
fehle verwiesen wird. Ziel des Spiels ist es, das 
„Home“ zu finden. Aber Vorsicht, zwei Räume 
sind nicht ganz „normal“. Tip: Man achte auf die 
Angabe „Ausgang:“ und suche den Eingang zum 
Geheimgang. 

Ein Tip noch zum Programmieren: Wenn einige 
Zeilen zu lang sein sollten, bzw. der Computer am 
Ende einer Zeile piepst und man kann nicht wei¬ 
terschreiben, dann schließe man die Zeile ord¬ 
nungsgemäß ab und schicke sie mit “ENTER“ 
in den Computer. Danach drücke man FCTN-8 
und die Zeilensperre ist aufgehoben, man kann 
jetzt am Ende der Zeile weiterschreiben. 


COMMANDER 

Das Spiel ‘Coinmandef ist für zwei User geschrie¬ 
ben. Im Spiel haben sie die Namen Stoom und 
Metu und müssen ihre Fähigkeiten im Kampf un- . 
ter Beweis stellen. Nach dem Start erscheint das 
Innere eines Cockpits. Zuerst muß Commander 
Stoom zeigen, was er ‘drauf hat. Um anzufangen, 
wird Fire gedrückt. Jetzt erscheint ein feindlicher 
Jäger und der Spieler hat 10 Sekunden Zeit, ihn 
abzuschießen. (Über die Steuerung mit Joystick 1 
sei nichts gesagt. Wie heißt es doch so schön: 
Probieren geht über Studieren!) Zu beachten ist 
nur, daß man 40 Schuß zur Verfügung hat und 
‘Fuel‘ auch begrenzt ist. Schafft man es aber, 3 
Schiffe innerhalb von jeweils 5 Sekunden zu ver¬ 
nichten, so füllt sich der Energievorrat wieder auf. 
Commander Metu kommt dran, wenn Stoom ent¬ 
weder alle Schüsse verbraucht hat, ‘Fuel‘ ver¬ 
braucht ist oder seine 3 Leben zu Ende sind (man 
verliert immer dann eines, wenn man es nicht 
schafft, das Limit von 10 Sekunden einzuhalten). 
Im 2. Bild kämpfen Stoom und Metu gegeneinan¬ 
der. Die beiden haben sich in der weiten Ebene 
auf einem weit entfernten Planeten mit ihren 
Kampfjägem verabredet und liefern sich nun ein 
heißes Duell. Schüsse können nur horizontal ab¬ 
gefeuert werden. Jeder Treffer kostet den Getrof¬ 
fenen Energie. Derjenige, dessen Energie zuerst 
verbraucht ist, hat verloren. 

Jetzt folgt noch eine Anzeige der Punkteverteilung. 
Ich wünsche viel Spaß bei diesem Abenteuer in 
weiter Zukunft! 

Auf ein Titelbild wurde aufgrund des Speichers 
verzichtet. Wer einen Sprachsynthesizer besitzt, 
kann diesen zur sprachlichen Untermalung des 
Spieles anschließen. Der Computer fragt nach RUN 
automatisch den Userport ab! 

Dietmar A ugustin 


54 





100 REM ******************* 
110 REM * WAV TO HOME * 
120 REM *=================* 

130 REM * <c) by * 

140 REM * daniel * 

1550 REM * eikelmann * 
160 REM *=================* 

170 REM * benoe. geraete: * 
160 REM * * 

190 REM * TI99/4A KONSOLE * 
200 REM * EXT. BASIC * 
210 REM * CASSETTENREC. * 
220 REM * * 

230 REM * SPEICHERBELEG.: * 
240 REM * ca. 12040 BYTES * 
230 REM ******************* 
232 REM 

254 REM Die Punkte im Prog¬ 

ramm sind natuerlich 
wieder nur als Leer¬ 
zeichen zu betrach- 
ten. 

255 REM Also nicht mit abtip 

pen ! ! ! 

257 REM 

260 ON BREAK NEXT 
270 GOTO 380 

260 ACCEPT AT(24,2)SIZE(-19) 
BEEP VALIDATE <" abcde-f gh i j k 1 
mnopqrstuvwxyz"):A$ 

290 RETURN 
300 GOTO 380 

310 CALL CHAR(96,"FFFF000000 
000000",123,"181818FFFF18181 
8",124,"0038440408100010") 
320 CALL CHAR(125,"000030300 
0303000",121,"40404040404040 
40" ) 

330 CALL CHAR( 106,"000000FF0 
0000000",112,"00000000003010 
20"):: for 1=9 TO 12 :: call 
COLOR<I,16,2):: NEXT I 


340 DISPLAY AT(15,1) : " * ' ' f * r 

t r ( ( f r r r t r t r ( t r > t t t i t t aU 5 g a 

ng>...........y...n......... 

. y .JJJJJ 

jjjjjjjjjjjjjjy'w < □ " 

330 DISPLAY AT(19,1):" du bi 
st im}........y............. 

.y...s....jjjjj 

Jjjjjjjjjjjjjjy.. ■ • was s 

oll ich tun I..y." 

360 DISPLAY AT<23,1):"___ 

...y.. 


370 RETURN 

380 CALL MAGNIFY(2) 

390 CALL CLEAR :: CALL SCREE 
N (2) 

400 RESTORE 1950 :: FOR 1=1 
TO 9 I: READ 22,ZC$,A,FC,ZE, 
SP :: CALL CHAR(zz,zc$):: ca 
LL SPRITE(#A,ZZ,FC,ZE,SP):: 



NEXT I 

410 FOR F=9 TO 12 :: CALL CO 
LOR(F,16,1):: NEXT F 
420 CALL C0L0R(2,16,2):: CAL 
L CHAR(40,"0000004428101010" 
) 

430 CALL CHAR<120,"3C4299A1A 

199423C"):: DISPLAY AT<24,4) 

:" x b( daniel eikelmann " 

440 RESTORE 1980 :: FOR 1=1 

TO 32 :: READ D,F :: CALL SO 

UND(D,F,8):: NEXT I :: FOR I 

■1 TO 500 :: NEXT I 

430 CALL DELSPRITE(ALL):: CA 

LL CHARSET 

460 RANDOMIZE 

470 Z=INT(RND*7)+1 

480 ON Z GOTO 490,610,720,82 

0,920,1020,1120,1220 

490 CALL CHAR(33,"FFFFFFFFFF 

FFFFFF",40,"FFFFFFFFFFFFFFFF 

",48, "FFFFFFFFFFFFFFFF" ) 

300 CALL CHAR(42,"E7E7E7E7E7 
E7E7E7") 


510 CALL COLORd, 11,2,2,7,2, 
3,16,2) 


520 FOR F=9 

TO 12 : : 

CALL CO 

LOR(F,16,2) 

: : next F 



530 DISPLAY 

at( l,l): 

» i i 

i i i i i 

i i i i i i i i i i i 

i i i i i i i i i 

i 

(*( . . 

.( . . . 



(* ( . . 

. (((((. 



(* ( . . 

.( . . . 


n 


540 DISPLAY 

AT(5,1): 

n 

(*( . . 

((((...(... 

(< < <. 

* • ■ 

(*( . ( 

(((((..(..<((<((- 

! i 

ii ii ( 

00000 (!!!!<00000(!!! 

i i i 

! ; ! i ( 

(00000(!!! <(00000(!! 

i » 


550 DISPLAY 

AT(9,1): 

" i i 

! ! ! ! ( 

!(00000 (!!( 

! (00000(! 

! ! ! 

i i ii i 

!!<<(<<<<!! 

!!<<(<<<< 

! ! ! 

i i i i i 

!!<!!!!!(!! 

!!<!!!!!< 

! ! ! 

i ii i i 

i i i i i i i i i i i 

i i i i i i i i i 

1 u 


560 X=11 : : 

FOR 1=1 

TO 

3 :: 


X-X+l :: DISPLAY AT(X,1):"!! 


I I I I I I I I I III I I I 1 I I I I I 1 I I I I « 


:: NEXT I 
570 GOSUB 310 

580 DISPLAY AT(16,10)SIZE(-1 
0):"westenp" :: DISPLAY AT(1 
7,1)SIZE(-20):" osten" :: DI 
SPLAY AT(20,1)SIZE <-20):" sc 
hla-f zimmer" 

590 GOSUB 280 

600 IF A$="geh westen" THEN 

820 :: IF A$="geh osten" THE 

N 720 :: GOTO 590 

610 CALL CHAR(33,"FFFFFFFFFF 

FFFFFF",40,"FFFFEFEFEFFFFFFF 

",41,"FFFFFFFFFFFFFFFF",48," 

FFFFFFFFFFFFFFFF") 

620 CALL COLOR(1,16,1,2,15,2 
,3,7,1):: for 1=9 to 12 :: c 


55 



































ALL COLORd, 16, 1) S 5 NEXT I 
630 DISPLAY AT(1,1):"0000000 
000000000000000000000000 )))) 
000000000 ))) 000 )))) 00000 ())) 
0000)))00000000 <)))000000000 
0000 ))) 00000000000000 " 

640 DISPLAY AT (5,1 ):"0000000 
0000 ()) 00000000000000 ))))))) 
)))))))))))))))))))))<)))()) 
)<))<)<))<)))<)))<)))))))))) 
)))))))))))))))))))))" 

650 x=9 :: for 1=1 TO 6 :: D 
ISPLAY AT <X,1):"!!!!!!!!!!! ! 
!!!!!!!!!!!!!!!!" :: X=X + 1 : 

: NEXT I 
660 GOSUB 310 

670 DISPLAY AT(16,10)SIZE(-1 
0):"osten" 

680 DISPLAY AT(17,1)SIZE(-20 
):" sueden" 

690 DISPLAY AT(20,1)SIZE(-20 
):" Uochraum" 

700 GOSUB 280 

710 IF A$="geh osten" THEN 8 
20 :: IF A*»"geh sueden" THE 
N 920 :: GOTO 700 
720 CALL CHAR(56,"FFFFFFFFFF 
FFFFFF",40,"FFFFFFFFFFFFFFFF 
",41, "FFFF9F9F9FFFFFFF " ) 

730 CALL CHAR(48,"183C7E7E7E 
424242",49,"4242424242000000 
" ,33, "FFFFFFFFFFFFFFFF",64, " 
FFFFFFFFFFFFFFFF") 

740 CALL C0L0R<4,16,1,2,5,16 
,3,5,8,1,15,1,5,8,1):: FOR I 
=9 TO 12 :: CALL COLORd, l6, 
l):: NEXT I 

750 Display ATd, i): «eeeeeee 
@000000000000000000000000000 
0008888808000800008008000000 
8088888880880808888(<(<(8880 
8838080008008380808)(" 

760 DISPLAY AT(5,1):")((@000 
008(<(<383303833883 < < < < <8330 
1183((8388((((((((((((((3333 
3883383338((<<(<<<<<<!!!!!!! 
;; t ;mim ; !< ; !!!!!!!! « 

770 x=9 :: FOR 1=1 TO 6 :: D 
ISPLAY AT(X,1):"!!!!!!!!!!! ! 

inj j j j j j | j j i | i | h . . X H X +1 : 

: next i :: gosub 310 

780 DISPLAY AT <16,10)SIZE <-1 
0):"westenp" 

790 DISPLAY AT(17,1)SIZE(-20 
):" sueden" :: DISPLAY AT(20 
,1)SIZE <-20):" badezimmer" 
600 GOSUB 280 

810 IF A$="geh westen" THEN 
490 :: IF A*-"geh sueden" TH 
EN 1230 :: GOTO 800 
820 CALL CHAR(33,"0077770000 
DDDD00", 40, "FFFFFFFFFFFFFFFF 
",41,"FFFFCFCFCFCFFFFF") 


L 

I 

S 

T 

I 

N 

G 

S 


830 CALL CHAR(48,"FFFFFFFFFF 
FFFFFF",49,"FFFFCFCFCFCFFFFF 
",56,"FFFFFFFFFFFFFFFF") 

840 CALL COLORd, 16,2,2, 10,2 
,3,7,2) :: for 1=9 TO 12 :: c 
ALL COLORd, 16,1):: NEXT I 


850 

DISPLAY 

II M II II 

ATd, 1 ) 
i< 111111 

* M II 

1 • • 

MM 

1 1 

1 1 


; 

1 

1 1 1 

II II II II 

11 11 11 ii« 11 11 

1 1 

1 

1 

1 1 1 

II II II II 

« 000000000 !! 

1 1 

j 

1 

1 ; ; 

II II II II 

! 0 ! 0 ! 0 ! 0 

! 0 " 




660 

DISPLAY 

AT ( 5 , 1 ) 

:" m 

i | 

1 

1 

1 1 1 

! ! ! 0000 ! 

! 0 ! ! ! ! * ! 

! 0 ! ! 

1 1 

1 

i 

1 1 1 

! ! ! 1000 ! 

! 0 ! ! ! ! ! ! 

! 0 ! ! 

1 1 

1 

1 

1 1 1 

! * ! 0000 ! 

! 0 * ! ! * ! ! 

1 0 t « 

t 1 

1 

» 

» » i 

«rtivvvf 

rvvfv««f 

f 111 




870 

x=9 :: 

FOR 1 = 1 

TO 6 

• 

• 

D 

ISPLAY AT ( X 

, 1 ):"... 

• ■ a ■ 

• ■ 

■ 

, 



11 • 

: x= 

X + l 

fl 


: next i :: gosub 310 


880 DISPLAY AT(16,10)SIZE(-1 
0 ):"westenp" 

890 DISPLAY AT( 17, 1)SIZE(-20 
):" ostenpsueden" :: DISPLAY 
AT(20,1)SIZE(-20):" { lur" 
900 GOSUB 280 ■ 

910 IF A$="geh westen" THEN 
610 :: IF A$="geh osten" THE 
N 490 :: IF A$="geh sueden" 
THEN 1020 .* : GOTO 900 
920 CALL CHAR(33,"F7B5ADEBFA 
AE6D5D",40,"FFFFFFFFFFFFFFFF 
",41,"FFFFFCFCFCFCFFFF") 

930 CALL CHAR(56,"FFFFFFFFFF 
FFFFFF",64,"FFFFFFFFFFFFFFFF 
" ) 

940 CALL COLORd, 11,2,2, 10,2 
,4,7,1,5,12,1):: FOR 1=9 TO 
12 :: CALL COLORd, 16, l):: N 
EXT I 


950 

DISPLAY AT(1,1 ) 

fl 

• 

»Ml 

| | 1 1 

11 11 

11 11 11 11 11 11 11 1 

1 

II II 

! ( ( ( 

< ! ! ! 

!!!<<<<<(<(!!!! 

1 

II II 

! ( ( ( 

< ! ! ! 

!!!)<<<<<<<!!!! 

1 

II II 

! ) ( ( 

< ! ! ! 

!!!((<<((<(!!!! 

1 

1 H 


960 

DISPLAY AT(5,1) 

fl 

■ 

» 1 j- 1 

! ( ( ( 

< ! ! ! 

11 11 11 1 11 11 1 1 11 

1 

MM 

! ( ( ( 

< ! ! ! 

1 fl 11 1 11 11 11 1 p 11 

1 

1 

MM 

! ( ( ( 

< ! ! ! 

! 8 !! 888888 !! 8 !! 

1 

!0000000 


333388883888886303383" 

970 X=10 

980 DISPLAY AT(9,1):"@@@@@@0 
038838880803838888808" :: FO 
R 1-1 TO 5 ü DISPLAY AT(X,1 
):"8838333333883338883333088 

338 " :: x=x+i :: next i 

990 GOSUB 310 :: DISPLAY AT< 
16,10)SIZE(-10):"nordenp" 
1000 DISPLAY AT(17,l)SIZE(-2 
0):" osten" :: DISPLAY AT<20 
,1)SIZE(-20):" esszimmer" 
1010 GOSUB 280 :: IF A$="geh 
norden" THEN 610 :: IF A*=" 


56 



























































geh osten" THEN 1020 :: GOTO 
1010 

1020 CALL CHAR(33,"F7B5ADEBF 
AAE6D5D",40,"FFFFFFFFFFFFFFF 
F", 41,"FFFFFCFCFCFCFFFF") 
1030 CALL CHAR(56,"FFFFFFFFF 
FFFFFFF",64,"FFFFFFFFFFFFFFF 
F") 

1040 CALL COLORd, 11,2,2,10, 
2,4,7,1,5,12,1):: FOR 1=9 TO 
12 :: CALL COLOR(I,16,l):: 
NEXT I 


1050 

DISPLAY AT(1 

,D 

; 

" i i 

1 1 |i 


i i i < i i i i i i i i 

i i i 

i 

< i i 

( ( ( ( 

i i i i 

!!!((<(((((! 

i i i 

i 

i i < 

( ( ( ( 

i i i i 

!!!)<((((((! 

t i i 

t 

i i i 

) ( ( ( 

i i i i 

!!!((((((((! 

i t i 

i 

i )' 


1060 

DISPLAY AT(5 


J 

>i i i 

( ( ( ( 

i i i i 

i i i i i i i i i i i i 

i i i 

« 

i i i 

( ( ( ( 

i i i t 

p i i i i i i i i i i i 

! 8 ! 

t 

i i i 

( ( ( ( 

1 | | | 

q i i | i 1 | | j | | | 

! 8 ! 

| 

1303003 


0000088838888880888080 " 
1070 X=10 


1000 DISPLAY AT <9, 1 ).* "000000 

0000088800800800888000" :: F 
OR 1=1 TO 5 :: DISPLAY AT(X, 
1) I "000000000000000000000000 

0@@0" :: x=x+l :: next i 

1090 GOSUB 310 DISPLAY AT 
(16, 10)SIZE(-10)': "nordenp" 
1100 DISPLAY AT(17,1)SIZE(-2 
0):" westenposten" :: DISPLA 
Y AT(20,1)SIZE(-20):" wohnzi 
mmer" 

1110 GOSUB 280 :: IF A$="geh 
westen" THEN 920 :: IF A$=" 
geh norden" THEN 820 :: IF A 
$="geh osten" THEN 1120 :: G 
OTO 1110 

1120 CALL CHAR<33,"007777000 
0DDDD00") 

1130 CALL CHAR<48,"FFFFFFFFF 
FFFFFFF",49,"FFFFCFCFCFCFFFF 
F" ,56, "FFFFFFFFFFFFFFFF") 
1140 CALL COLORd, 16,2,2, 10, 
2 , 3 , 7 , 2 ) :: FOR 1=9 TO 12 :: 
CALL COLORd, 16,1) : : NEXT I 


1150 DISPLAY 

AT(1,1) 

• n | | 

III! 

!!!!!!!! 

1 Iji 

i i i i i i i i 

| | | | 

1 | | | 

i i i i i i i i 

j | | | 

i i i i i i i i 

| | | J 

III 1 

• ••••••• 

| II 1 

! 0! 0! 0! ! 

j | j ! 

! I I ! 

!!!!!!!! 

1 | | i 

! 00000! ! 

i i H 



1160 DISPLAY AT(5, 1) : " 
! 0000 !!!! 0 !!!!!! 
! 1000 !!!! 0 !!!!!! 
!0000!!!000!!!!! 


i i | i 
|i i i 
i i i i 


! ! 0000 
! ! 1000 

! ! 0000 
f f I T I ( 


1170 x=9 :: for 1=1 to 6 :: 
DISPLAY AT(X,1):"..... 


■ • INCA I J. 

1180 GOSUB 310 :: DISPLAY AT 

(16,10)SIZE(-10):"westenp" 



1190 DISPLAY AT <17,l)SIZE(-2 
0):" osten" :: DISPLAY AT(20 
, 1) SIZE ( -20) : " -flur" 

1200 GOSUB 280 
1210 IF A$="geh westen" THEN 
1020 :: IF A$="geh osten" T 
HEN 1220 :: GOTO 1200 
1220 CALL CHAR(40,"FFFFFFFFF 
FFFFFFF"):: CALL CHAR(41,"FF 
FFFCFCFCFCFFFF") 

1230 CALL CHAR(49,"FFFFFFFFF 
FFFFFFF",56,"0077770000DDDD0 
0 " ) 

1240 CALL COLOR(4,16,2,2,10, 
2,3,16,2):: FOR 1=9 TO 12 :: 

CALL COLORd, 16, 1) : : NEXT I 
1250 DISPLAY AT(1,1):"888888 
88888888888888888888888888 (( 

((888888111111188888888888(( 
((888888111111188888888888)( 

((88888811111118888888" 

1260 DISPLAY AT(5,1):"8888(( 

((888888111111188(((<88888(( 

((888888111111188)(((88888(( 

(<ee88eeiiiiniee< ((<e f 1 * * • 1 

tftiffrtttfTitrrffifrr» 

1270 x=9 :: for i = i to 6 :: 
DISPLAY AT <X,1):"..... 


• ■ INC— I X 

1280 GOSUB 310 :: DISPLAY AT 

(16.10) SIZE(-10):"westenp" 

1290 DISPLAY AT(17,1)SIZE(-2 
0):" nordenp!" :: DISPLAY AT 
(20, 1) SIZE ( -20) : " -flur" 

1300 GOSUB 280 

1310 IF A$="geh westen" THEN 
1120 :: IF A$="geh norden" 

THEN 720 :: IF A$="geh suede 
n" THEN 1320 :: GOTO 1300 
1320 CALL CHAR<56,"007777000 
0DDDD00") 

1330 CALL COLOR(4,7,2):: FOR 
1-9 TO 12 d CALL COLORd, 1 
6,1):: NEXT I 

1340 x=l :: for 1=1 to 7 :: 

X=X+1 :: DISPLAY AT(X,1):"88 
88888888888888888888888888 " 

:: NEXT I 

1350 DISPLAY AT(8 ,1):"* * * * r * 

1360 X=9 :: FOR 1 = 1 TO 6 :: 
DISPLAY AT <X,1):" . 

. M :: x=x+l 

:: next I 

1370 GOSUB 310 :: DISPLAY AT 

(16.10) SIZE(-10):"Iplpi " 

1380 DISPLAY AT(17,1)SIZE(-2 

0) : "." I : DISPLAY AT<2 

0,l)SIZE(-20):" geheimgang" 

1390 GOSUB 280 

1400 IF A$="geh norden" THEN 
1220 :: IF A$="geh westen" B# 


57 



































































THEN 1420 :: IF A$="geh sued 
en" THEN 1520 :: GOTO 1390 
1410 REM 

1420 GOSUB 310 :: DISPLAY AT 
<16,10)SIZE(-10):"IpI“ 

1430 DISPLAY AT <17,1)SIZE <-2 
0): M .. 11 :: DISPLAY AT ( 

20.1) SIZE(-20):" geheimgang" 
1440 GOSUB 280 

1450 IF A$="geh osten" THEN 
1320 :: IF A$="geh sueden" T 
HEN 1470 :: GOTO 1440 
1460 REM ****************** 
1470 GOSUB 310 :: DISPLAY AT 
<16,10)SIZE<-10):"lp!" 

1480 DISPLAY AT <17,1)SIZE <-2 
0):" ." :: Display AT < 

20.1) SIZE<-20):" geheimgang" 
1490 GOSUB 280 

1500 IF A$="geh norden" THEN 
1420 :: IF A$="geh westen" 
THEN 1760 :: GOTO 1490 
1510 REM ****************** 
1520 GOSUB 310 I .* DISPLAY AT 
<16,10)SIZE<-10):..d e n p" 
1530 DISPLAY AT(17,1)SIZE <-2 
0) :" no.. " :: DISPLAY AT( 

20.1) SIZE(-20):" geheimgang" 
1540 GOSUB 280 

1550 IF A$="geh norden" THEN 
1320 :: IF A$="geh sueden" 
THEN 1570 :: GOTO 1540 
1560 REM ***************** 
1570 GOSUB 310 :: DISPLAY AT 

<16,10)SIZE(-10):"lp - en" 

1580 DISPLAY AT(17,1)SIZE <-2 

0): ." :: Display at< 

20, 1) SIZE ( -20) :." geheimgang" 
1590 GOSUB 280 

1600 IF A$="geh norden" THEN 
1520 :: IF A$="geh westen" 
THEN 1620 :: GOTO 1590 
1610 REM ***************** 
1620 CALL CHAR<40,"FFFFFFFFF 
FFFFFFF",48,"FFFFFFFFFFFFFFF 
F",56,“FFFFFFFFFFFFFFFF") 
1630 CALL CHAR<120,"00000408 
10204000",113,"0010101010100 
010",112,"0000007844784040", 
106,"0000000808084830") 

1640 CALL CLEAR 
1650 CALL SCREEN<2):: CALL C 
0L0R<2,11,2,3,6,2,4,7,1):: F 
OR 1=9 TO 12 :: CALL COLOR<I 
,16,1):: NEXT I 
1660 DISPLAY AT <2,1):"..<<< < 
<<<<<<<<<<<<<<<<<<<<....<000 
0000000000000000000<.... <080 
0808888080008088880<.... <080 
0808008088088080000 <" 

1670 DISPLAY AT(6,1):".. <088 
8808008080808088880<.... <080 
0808008080008080000<.... <080 


L 

I 

S 

T 

I 

N 

G 

S 


0808888080008088880<....(000 
0000000000000000000 <" 

1680 DISPLAY AT<10,1):”..<<< 

<<<<<<<<<<<<<<<<<<<<<.." 

1690 DISPLAY AT(13,1):"...si 
e haben es gescha-f -ft....... . 


en weg nach hause" 

1700 DISPLAY AT<17,10):"zu i 
indenq" 

1710 FOR 1=1 TO 100 :: CALL 
SOUND(-20,262,0):: CALL SOUN 
D(-20,330,2):: NEXT I 
1720 DISPLAY AT(20,5):"neues 
spiel ! jxn" 

1730 ACCEPT AT(22,10)SIZE(-4 
)VALIDATE <" neij a"):B$ 

1740 IF B$="ja" THEN 100 :: 
IF B$="nein" THEN 2020 :: GO 
TO 1730 

1750 REM ***************** 
1760 GOSUB 310 :: DISPLAY AT 
<16,10)SIZE(-10):"ipipi" 

1770 DISPLAY AT <17,l)SIZE(-2 

0 ):" .." :: Display at 

(20,1)SIZE<-20):" geheimgang 

n 

1780 GOSUB 280 

1790 IF A$="geh norden" THEN 
1810 :: IF A$="geh osten" T 
HEN 1470 :: IF A$="geh suede 
n" THEN 1870 GOTO 1780 
1800 REM ***************** 
1810 DISPLAY AT(15,1):" ' ' ' 1 1 
t » * « r » » « t »« » « i «»»«««»« » dies 

er raum hat....y...n..." 

1820 DISPLAY AT(17,l)SIZE<-2 
0):" keinen ausgang. man" :: 
DISPLAY AT(18,1)SIZE(-20):" 
braucht einen vers" :: DISP 
LAY AT <19,1)SIZE <-20):" aus 
alibaba und die" 

1630 DISPLAY AT<20,l)SIZE<-2 
0):" vierzig raeuber." :: DI 
SPLAY AT <21,1)SIZE <-20):" hi 
He}....dich " 

1840 GOSUB 280 

1650 IF A$="sesam oe-f-fne die 

h" THEN 1760 :: GOTO 1840 

1860 REM ***************** 

1870 GOSUB 310 :: DISPLAY AT 

<16,10)SIZE<-10):"lpl M 

1880 DISPLAY AT(17,1)SIZE <-2 

0):" ." :: DISPLAY AT < 

20,1)SIZE(-20):" geheimgang" 
1890 GOSUB 280 

1900 IF A$="geh westen" THEN 
1920 :: IF A$="geh norden" 
THEN 1760 :: GOTO 1890 
1910 REM **************** 
1920 FOR 1=1 TO 24 :: X=X+1 

:: DISPLAY at< x,l):". 

." :: NEX 


58 










T I iS DISPLAY AT(6,1):"du b 
ist leider durch eine..." 
1930 DISPLAY AT<7,1):”luke g 
e-f al 1 enpkannst nicht " :: DI 
SPLAY AT<8,1):"zurueck und 1 
andest im...... sc 1 a-f z immer. " 

1940 FÜR 1=1 TO 2000 :: NEXT 
I :: GOTO 490 

1930 DATA 33,8181819999995A3 
C,1,16,25,25,34,3C426181FF81 
8181,2,16,25,55,35,8181423C1 
8181818,3,16,25,85 
1960 DATA 36,FF1818181818181 
8,4,16,85,85,37,FF8181818181 
81 FF,5,16,85,115,38,818181FF 
FF818181,6,16,145,115 
1970 DATA 39,FF818181818181F 
F,7,16,145,145,42,81C3A59999 
818181,8,16,145,175,41,FF808 
0FF808080FF,9,16,145,205 
1980 DATA 125,220,125,247,25 
0,196,125,220,123,247,250,19 
6,125,220,125,247,125,262,12 

5.247 

1990 DATA 125,220,125,247,25 
0,196, 125,220,125,247,250,19 

6.123.220.123.247.250.196 
2000 DATA 125,220,125,247,12 
3,262,125,247,123,220,125,24 

7.125.196.125.247 

2010 DATA 250,220,125,196,12 

5.247.250.220.250.196 
2020 END 


L 

I 

S 

T 

I 

N 

G 

S 



100 

110 

120 

130 

140 

150 

160 

170 

180 

190 

200 

210 

220 

230 

240 

250 

260 


******************** 
*******T 1-99/4 A******* 
** ** 

*T COMMANDER T* 

*1 I* 


*9 

*9 

*/■ 


Copyright 1986 
by D. Augustin 


9* 

9* 

■/* 


*4 TI-99/4A 4* 

*A Extended BASIC A* 
** Joystick 1 ** 

** ** 
*******T1-99/4 A******* 
******************** 


CALL PEEK(-28672,2) 


IF 


2=0 THEN 270 ELSE CALL SAY( 
"PLEASE+WAIT") 

270 RANDOMIZE :: OPTION BASE 
l :: CALL CLEAR :: call mag 
NIFY<3)I; CALL B2 
280 DIM R( 2 ) ,B(2) , P ( 2 ),A$(6) 
290 R(1),R(2 )=40 :: SI=1 :: 
T-1000 ;: B(i),B(2)-7 :: NA* 
■"EKKUKKIKKJ" :: W,P(1),P<2) 
-0 


300 DEF 2E=INT(RND*96)+40 


310 DEF SP=INT(RND*192)+40 
320 DEF 2E1=INT(RND*10)-5 


330 DEF SP1=INT(RND*10)-5 
340 IF Z=0 THEN 350 ELSE CAL 
L SAY("GET+JOYSTICK+AND+PRES 
S+IT + NUMBER + ONE") 

350 CALL KEY(1,K,S):: IF S=0 
THEN 350 ELSE CALL SPRITE(# 
25,140,2,145,226):: CALL MOT 
ION <#25,0,-1):: CALL G 
360 CALL SOUND(-2000,-7,10) 
370 COL=INT(RND*13)+3 :: CAL 
L SPRITE(#1,124,COL,ZE,SP) 
380 CALL MOTION(#1,ZE1,SP1): 

: CALL POSITION(#1,XI,Y1):: 
IF XI <116 AND XI >32 AND Yl>3 
2 AND Y1<216 THEN CALL COLOR 
(#1, COL) ELSE CALL COLOR <#»1,1 
) 

390 CALL JOYST(1,X,Y):: CALL 
KEY(1,K,S)S: CALL MOTION(#i 
,-Y*3,-(X*3) ):! IF K-18 THEN 
410 ELSE CALL SOUND<- 1000, - 
7, 10) 

400 T=T-100 :: DISPLAY AT(23 
,23)SIZE(-4):T :: IF T<=0 TH 
EN 490 ELSE CALL POSITION(#2 
5, X3, Y3) : .* IF Y3< 112 THEN 54 
0 ELSE 380 

410 CALL POSITION(#1,X1,Y1) : 

I CALL SPRITE(#10,88,5,112,3 
2,-70,127,#11,92,5,112,208,- 
70,-127):: CALL SOUND(-150,- 
3,0) 

420 IF XI>57 AND XI<92 AND Y 


» 


59 








1>102 AND Y1<140 THEN 450 
430 CALL DELSPRITE(#10,#11): 
: R <SI)«R <SI)-1 i: IF R(SI)< 
«=0 THEN 540 ELSE DISPLAY AT < 
23,2)SIZE(2):USING H ##":R(SI 
) 

440 GOTO 380 

450 CALL DELSPRITE(#10,#11): 
: CALL PATTERN(#1,136):: FOR 
1*0 TO 5 :: CALL SOUND(-150 

,-7,I):: next I 

460 R(SI)=R(SI)-1 :: IF R(SI 
)<=0 THEN 540 ELSE CALL DELS 
PRITE(#1>:: DISPLAY AT<23,2) 
SIZE(2):USING "##":R(SI) 

470 W=W+1 :: IF W>4 AND T>49 
0 THEN CALL LOCATE(#25,145,2 
26):: W*0 

480 P(SI)=P(SI)+50 :: T = 1000 
:: DISPLAY AT(23,25)SIZE<-4 
):using "####":T :: goto 370 
490 CALL MOTION(#1,0,0):: CA 
LL SOUND(4250,-5,0):: FOR I* 
1 TO 5 

500 CALL COLOR(2,9,15,9,9,15 

,10,9,15,11,9,15):: FOR J-i 
TO 50 :: NEXT J 
510 CALL COLOR(2,15,9,9,15,9 
,10,15,9,11,15,9):: FOR J-i 
to 50 :: next j :: next i :: 
CALL C0L0R<2,5,15,9,5,15,10 
,5,15,11,5,15) 

520 B(SI)=B(SI)- 1 :: IF B(SI 
)< 5 THEN 540 ELSE CALL COLOR 
<#B(sn,9):: t -1000 :: displ 
AY AT <23,25)SIZE(4):T 
530 GOTO 370 

540 IF SI=2 THEN 590 ELSE CA 
LL DELSPRITE(#1):: DISPLAY A 
T(23,10)SIZE(-10):USING "### 
#######":na* :: T=1000 :: di 
SPLAY AT (23,25)SIZE(-4) :T 
550 CALL DELSPRITE(#25) 

560 SI=SI+1 :: DISPLAY AT(23 
,2)size<-2):"40“ :: call col 
OR(#5,13,#6,13,#7,13) 

570 CALL G 

500 IF Z=0 THEN 350 ELSE CAL 
L SAY( ,, GET + JOYSTICK + AND + PRES 
S+IT+NUMBER+TWO+PLEASE")I! G 
OTO 350 
590 CALL G 

600 CALL CLEAR :: CALL DELSP 
RITE(ALL):I CALL Bl :: CALL 
MAGNIFY(3) 

610 CALL SOUND(-2000,-6,15) 
620 SI=1 :: B(1),B(2)=2000 
630 CALL SPRITE(#1,40,7,112, 
32, #2,84,15,128,224, #3, 44,2, 
144,32,#4,44,2,144,224):: CA 
LL SOUND(-2000,-6,15) 

640 CALL JOYST(SI,X,Y):: CAL 
L M0TI0N(#SI,-4*Y,4*X,#SI+2, 


L 

I 

S 

T 

I 

N 

G 

S 


0,4*X):: CALL KEY(SI,K,S):: 

IF K° 18 THEN 690 

650 CALL COINC(#1,#2,10,W):: 

IF W THEN 830 ELSE CALL SOU 
ND(-1000,-6,15) 

660 CALL POSITION(#SI,XI,Yl) 
:: IF XI<95 THEN CALL PATTER 
N(#SI+2,88)ELSE CALL PÄTTERN 
(#SI+2,44) 

670 IF XI>152 OR Xl<8 THEN 7 
90 

680 IF SI = 1 THEN SI=2 :: • GOT 
0 640 ELSE SI=1 :: GOTO 640 
690 IF SI=2 THEN 750 ELSE CA 
LL MOTION(#1,0,0,#3,0,0):: C 
ALL P0SITIGN(#1,X1,Y1) 

700 CALL SPRITE(#5,92,9,XI,Y 
1,0,127):: CALL POSITION(#2, 
X2,Y2):I IF ABS(XI-X2)<16 TH 
EN 730 

710 CALL DELSPRITE(#5):: B(1 
)*B(1)-50 :: DISPLAY AT(23,7 

)si ze( 4):usI ng "####":B(D : : 

IF B(1)<*0 THEN 860 ELSE CA 
LL SOUND(-2000,-6,15) 

720 GOTO 640 

730 CALL DELSPRITE (#4, #5) : 
CALL PATTERN(#2,124):: FOR I 
-0 TO 5 :: CALL SOUND(-150,- 

7.1) :: next I :: call delspr 
ITE(#2):: B(2)-B(2)-100 

740 DISPLAY AT(23,23)SIZE(4) 
:using "####":B(2):: IF B(2) 
<=0 THEN 860 ELSE CALL SOUND 
(-2000,-6,15):: GOTO 630 
750 CALL MOTION(#2,0,0,#4,0, 
0):: CALL POSITION(#2,X2,Y2) 
760 CALL SPRITE(#5,92,9,X2,Y 
2,0,-128):: CALL POSITION(#1 
,X1,Y1):: IF ABS(X2-X1)<16 T 
HEN 810 

770 CALL DELSPRITE(#5):: B(2 
)-B(2)-50 :: DISPLAY AT<23,2 

3) SIZE(4):USING "####":B(2): 

: IF B <2)<-0 THEN 860 ELSE C 
ALL SOUND(-2000,-6,15) 

780 GOTO 640 

790 CALL MOTION(#SI,0,0,#SI+ 
2,0,0):: CALL PATTERN<#SI,12 

4) :: for 1-0 to 5 :: call so 
UND <-150,-7,1):: NEXT I 

000 B(SI)=B <SI)-100 :: IF B( 
SIX-0 THEN 860 ELSE IF SI-1 
THEN DISPLAY AT<23,7)SIZE(- 
4)!USING "####'': B (SI) ELSE DI 
SPLAY AT(23,23)SIZE(-4):USIN 
g "####'':B(Si):: goto 630 
810 CALL DELSPRITE(#3, #5):: 
CALL PATTERN(#1,124):: FOR I 
=0 TO 5 :: CALL SOUND(-150,- 

7.1) :: next i :: call delspr 

ITE(#1):: B(l)-B(l)-100 
820 DISPLAY AT(23,7)SIZE(4) : 


60 


•V 



u.sing "####":b<1):: if B(i)< 
-0 THEN 860 ELSE CALL SOUND( 
-2000,-6,15):: GOTO 630 
030 CALL MOTION(#SI,0,0):: C 
ALL DELSPRITE(#3,#4):I CALL 
PATTERN <#i,124,#2,124):: FOR 
1-0 TO 5 :: CALL.SOUND(-150 
,-7,I):: NEXT I 
040 CALL DELSPRITE (#1, #2) : 

B(1)=B<1)-200 :: B (2)=B(2)-2 
00 : : IF B(1)<«0 OR B(2)< =0 
THEN 860 

850 CALL SOUND(-2000,-6,15): 

: DISPLAY AT(23,7)SIZE(-4):U 
sing "####":b<1):: Display a 
T(23,23)SIZE(-4):USING "#### 
":B(2):: goto 630 
860 CALL CLEAR :: CALL DELSP 
RITE(ALL):: CALL CHARSET :: 
A$ <1) = "00000003070C1818" :: 
A$(2)-"18180C0703000000" :: 
A$(3)“"000000C0E0301818" 

070 A$<4)="181830E0C0000000" 

:: A*(5)-"1818181818181818" 

:: A<(6)-"000000FFFF000000" 

:: FOR I-i TO 6 
880 CALL CHAR(34+1,A$(I)):: 
NEXT I :: FOR 1-3 TO ll :: c 
ALL COLOR(1,13,2):: NEXT I : 

: CALL C0L0R(i,5,2,2,5,2)I: 
CALL SCREEN(2) 

890 DISPLAY AT(i,5):"#(((<<( 
((((((((<(< < %"f T A B(5) { "’SCOR 
E-DISTRIBUTION’"|TAB(5)|"$(( 
<(<<<<(<((<<(((< Äc " 

900 DISPLAY AT(6 ,2):"#<(<((( 
((((((((((((((((( (%"{TAB(2) | 
"’COMMANDER...STOOM...GOT.’" 

I TAB(2)f" *. 

.’"(TAB(2) | "’. 

...POINTS.....’" 

910 DISPLAY AT(10,2):"$(<(<< 
(((((((((((((((<<< <&" 

920 DISPLAY AT(13,2):"#((((( 
(((((((((((((((((((%"JTAB(2) 

J"’COMMANDER...METU....GOT.’ 

"|TAB<2)J "’ . 

. 1 " JTAB(2) J "’.. . 

. . . .POINTS.’ " 

930 DISPLAY AT(17,2):"*(<((( 
(((<((<(<(<((((((< <k" 

940 DISPLAY AT(9,7)SIZE(4):U 

sing "####«:p(d: s Display a 

T(16,7)SIZE(4):USING "####": 
P( 2) 

950 DISPLAY AT(20,9):"GO ON? 
...Y" :: ACCEPT AT <20,18)SIZ 
E(-1)VALIDATE("YN")BEEP:AN$ 
960 IF AN$="Y" THEN 270 ELSE 
CALL CLEAR :: END 
970 SUB B2 

980 DEF SP=INT(RND*24)+5 
990 DEF ZE=INT(RND*12)+5 


1000 DATA 3C4281818181423C,, 

,,0000001FlFiFlFlF,F8FeF8FeF 
8000000,1F1F1F1F1F000000,000 
000F8F8F8F8F8 

1010 DATA 3C7EFFFFFFFF7E3C,, 
,,007E464A5666467E 
1020 DATA 00303010103C3C3C,0 
07E02027E60607E,007C04047E06 
067E,004646467E020202,007E40 
407E06067E 

1030 DATA 004040407E62627E, 0 
07E020606060202,007E42427E46 
467E,007E46467E020202,000030 
3000303000 
1040 DATA , , , , 

1050 DATA 007E40407E60607E, 0 
07E60603E202020,004444447E66 
6666,0008080818181818,002020 
206060607E 

1060 DATA 00675B43435B5B5B,0 
07E42424646467E,007E42427E60 
6060,007E42407E02627E,007E08 
1818180808 

1070 DATA 004646464646467E, , 

FF7F3F1F0F070301,FFFFFFFFFFF 
FFFFF, 

1080 DATA ,0101010101010101, 
8080808080808080,00000000000 
000FF,FF00000000000000 
1090 DATA , , , , 

1100 DATA 0102040810204080,0 

102040810204080,,80402010080 
40201, 

1110 DATA ,8040201008040201, 
FFFEFCF8F0E0C080,FF7F3F1F0F0 
70301,0103070F1F3F7FFF 
1120 DATA 80C0E0F0F8FCFEFF, F 
FFFFFFFFFFFFFFF,,FFFFF0F8DCC 
EC7C3,C3C7CEDCF8F0FFFF 
1130 DATA FFFF0F1F3B73E3C3 , C 
3E3733B1F0FFFFF,C3C3C3C3C3C3 
C3C3,FFFF00000000FFFF,010204 
0810204080 

1140 DATA 8040201008040201,0 
000000F1F3F7FFF,000000FFFFFF 
FFFF,FFFFFFFFFF000000,010307 
0F1F000000 

1150 DATA 000000F0F8FCFEFF , 8 
0C0E0F0F8000000,F8F8F8F8F8F8 
F8F8,1F1F1F1F1F1F1F1F.FFFFFF 
FFFFFFFFFF 

1160 DATA ,0000000100000000, 
0000001818000000,, 

1170 DATA 0183874D391F3F75, D 
FC663341E0C0703,80C1E1B29CF8 
FCAE,FB63C62C7830E0C0,80C0E0 
F0F8FCFEFF 

1180 DATA meeeaddddddddddeed 
ddddddddd *eee1 

1190 DATA emeeeadddddddddeed 
dddddddd'eee1e 

1200 DATA eemeeeeeeeeeeeeeee 
eeeeeeeeeeelee 


L 

I 

S 

T 

I 

N 

G 

S 

















X 



Tl/Sp. 


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


TI REVUE 

Abo-Service Sp 
Postfach 1107 

8044 UNTERSCHLEISSHEIM 


Coupon 

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


Bitte senden Sie mir bis auf Wider¬ 
ruf ab sofort jeweils die nächsten 

Name_ 


zwölf Ausgaben an untenstehende 
Anschrift. Sollte ich nicht vier 
Wochen vor Ablauf schriftlich 
kündigen, läuft diese Abmachung 
automatisch weiter. 






Vorname 


Strsße/Hausnr. 
Plz/Ort_ 


- 


Ich bezahle: 

□ per beiliegendem Verrechnungsscheck 

□ gegen Rechnung 

□ bargeldlos per Bankeinzug von meinem Konto 

bei (Bank) und Ort_ 

Kontonummer_ 

Bankleitzahl_ 

(steht auf jedem Kontoauszug) 

Unterschrift_ 


Von meinem Widerspruchsrecht habe ich Kenntnis genommen. 
Unterschrift___ 


PROGRAMMSERVICE 

- - 

Hiermit bestelle ich in Kenntnis Ihrer Verkaufsbedingungen 

die Listings dieses Heftes auf 

□ Disketten zum Preis von DM 60,— 

□ Kassetten zum Preis von DM 60,— 

_ Ich zahle: 

Bar — per beigefügtem Geld ( ) 

per beigefügtem Scheck ( ) 

Gegen Bankabbuchung am Versandtag ( ) 

Zutreffendes bitte ankreuzen! 

Meine Bank (mit Ortsname). 


Meine Kontonummer.... 

Meine Bankleitzahl...(steht auf jedem Bankauszug) 

Vorname..Nachname. 

Str./Nr.PLZ/Ort . 


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

Unterschrift.. 

Bitte ausschneiden und einsenden an 

TI-REVUE 

Special-Service 5/86 

Postfach 1107 

8044 Unterschleißheim 


62 














GEWINNEN SIE EINE COM¬ 
PUTER-UHR! Und zusätzlich 
eventuell noch ein großes Com¬ 
puter-Buch. Oder ein Paket Dis¬ 
ketten. ODER AUCH EINEN 
DRUCKER- ODEREINE 
DISKETTENSTATION! Wie? Sie 
werben einen Abonnenten. Dann 
haben Sie auf jeden Fall schon 
die Computer-Uhr gewonnen. 
Zusätzlich verlosen wir unter 
allen, die mitmachen, jeden 
Monat vier weitere wertvolle 
Preise. Und alle sechs Monate gibt 
es einen Hauptpreis unter allen 
Abo-Werbern zu gewinnen. Also: 
Mitmachen. Mitgewinnen. 


Herrn/Frau 


Straße/Hausnr. 


Der neue Abonnent war bisher 
noch nicht Bezieher dieser Zeit¬ 
schrift. 

Als Prämie erhalte ich nach Ein¬ 
gang des Abo-Entgeltes auf jeden 
Fall eine Computer-Uhr, wie ab¬ 
gebildet, und nehme zusätzlich 
noch an der Verlosung des Monats 
sowie der halbjährlichen Haupt¬ 
preise teil. Mir ist bekannt, daß 
der Rechtsweg bei den Verlosun¬ 
gen ausgeschlossen ist. 

Meinen Preis senden Sie an 

Name_ 

Straße / Hsnr_ 

Plz/Ort_ 


Ja, ich mache mit beim Abo- 
Wettbewerb. Ich habe 


Plz/Ort 


(Bitte ausschneiden und zusam¬ 
men mit der Abo-Bestellkarte 
links einsenden!) 


als neuen Abonnenten der 
TI-REVUE geworben. 


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



Anzeigenabteilg. 
Postfach 1107 
8044 Lohhof 


Name _ 

Vorname _ 

Straße/Hausnr. 
PLZ/Ort _ 


63 



















NUTZEN Sil UNSEREN BEQUEMEN POSTS! 


KOMMT R EGELMÄSSIG 
ZU IHNEN 

SKIS 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 zwölf Hefte ins Haus 
(Ausland 80 DM). Einfach den Bestellschein auf 
der nächsten Seite ausschneiden - fotokopieren 
oder abschreiben, in einen Briefumschlag und ab 
per Post (Achtung: Porto nicht vergessen). TI 
REVUE kommt dann pünktlich ins Haus. 



WICHTIGE RECHTLICHE 
GARANTIE! 

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


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


DAS ANGEBOT: 

KLEINANZEIGEN 

KOSTENLOS! 

Das bietet Ihnen ab sofort die TI-REVUE: KLEIN¬ 
ANZEIGEN SIND KOSTENLOS FÜR PRIVATAN¬ 
BIETER! Suchen Sie etwas, haben Sie etwas zu ver¬ 
kaufen, zu tauschen, wollen Sie einen Club gründen? 
Coupon ausfüllen, auf Postkarte kleben oder in Brief¬ 
umschlag stecken und abschicken. So einfach geht 
das. Wollen Sie das Heft nicht zerschneiden, können 
Sie den Coupon auch fotokopieren. Oder einfach den 
Anzeigentext uns so schicken, auf Postkarte oder im 
Brief. Aber bitte mit Druckbuchstaben oder in 
Schreibmaschinenschrift! 

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

- ACHTUNG: WICHTIGER HINWEIS! 

Wir veröffentlichen nur Kleinanzeigen privater In¬ 
serenten, keine gewerblichen Anzeigen. Die kosten 
pro Millimeter DM 5,- plus Mehrwertsteuer! 

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

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

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

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


RESERVIERUNGS 

SERVICE 


Selbstverständlich denken wir bei diesem Special- 
Heft auch wieder an jene unter unseren Lesern, die 
keine Zeit haben, diese ganzen Listings einzugeben. 
Für sie hält der Kassettenservice das gesamte Angebot 
dieses Heftes auf Disketten bereit. Diese Disketten 
sind nur im Paket zu beziehen, sie kosten geschlossen 
DM 60,-. Einfach den Coupon auf den nächsten Sei¬ 
ten ausschneiden, ausfüllen und absenden. Diese Seite 
ist so gestaltet, daß keine Information des Heftes 
verloren geht. 

Natürlich berücksichtigen wir auch jene Tl-User, 
die noch kein Diskettenlaufwerk besitzen. Für sie 
haben wir alle Listings dieses Heftes auf Kassetten 
zusammengefaßt. Das Programmpaket kostet komplett 
DM 60,-. Es kann nur geschlossen bezogen werden. 

Benutzen Sie bitte auch den Bestellcoupon auf der 
nächsten Seite. 

Ein wichtiger Hinweis: Wir versenden nicht per 
Nachnahme oder Vorausrechnung! 

Sie können aber auch den Betrag auf eines unserer 
Konten überweisen. Hier die Kontonommern: 

Postgiro - Amt München, Konto W. Seibt / Tl-Verlag, 
Kto-Nr. 416 103-805, BLZ 700 100 80 oder 
Raiffeisenbank Lohhof, Kto.-Nr. 306 959, 

BLZ 701 695 85. 

Bitte Absender (komplett) deutlich schreiben - 
am besten in Druckbuchstaben! Und Hinweis, was 
gewünscht wird, nicht vergessen! Z.B. Disketten oder 
Kassetten Tl-Special Nr. 5! 


64 





I 

BÖRSE 


Billig! Zu verk. Ex-Bas. m. 
Lehrgang a. Cass u. dt. Hand¬ 
buch 170,—, Datenverw. 
u. Textprogr. 2 Module in 
dt. + 100,—, Drucker Inter¬ 
face 50,—, The Attack 15,—, 
Engl. Grammatik 5,— DM. Vi¬ 
deospiele I a. Cass. Tel: 

56800, Gelsenkirchen 


*** ACHTUNG*** 
Suche Software aller Art für 
TI-Ex.Bas + Cass. Schickt 
Eure Listen an: Holger Sche¬ 
rer, Jungstr. 25, 6550 Bad- 
Kreuznach 


Verk. Epson-Drucker RX-80 
zum Direktanschluß an den 
TI 99/4A m. Interface und 
Kabeln (ca. 3 J. alt). Nur 
399,- DM!!! Schriftprobe 
und Info gcg. Rückumschl. 
bei: B. Walter, Pfortengarten- 
w. 57, 6230 Frankfurt/M 80 


Verk. TI 99/4A, P-Box, Ram 
32K, RS232, Disk-Drive, Ex- 
Bsic + 2 Plus, Mod. z. TV, 
Kass.Kabel Softw.: ID-Konto, 
Data, Copy, Div. Progr., Lern- 
Kass, Bücher: 99 Spez. 1+2, 
Ex-Basic, tech. Unterlagen 
1000,- Fr. J. Bücher, Schüt¬ 
zenmattring 5, CH-63 74 
Buochs, Tel: 041/643360 


! Ges.* Wanted* Ges.! 

TI-User i. Raum Nürnberg 
zum Programmtausch. 
Schickt Eure Liste an: L. 
Hambach, Regensburgerstr. 
236, 8500 Nürnberg 30 


Verk. TI99/4A Computer. 
Tel: 02152/510232, nach 
18 Uhr 

***Verkaufe TI 99/4A*** 
+ Rec.Kabel + H.-Buch + 
Netzteil + Kabelbox. Alles 
gut erhalten! Gegen Bargeld 
abholen. VB 150,- DM. Mar¬ 
co Schädlich, Hofstr. 22, 
7119 Weißbach, Tel: 07947/ 
2414 


Verk. TI 99/4A + Ex. Basic + 
Peri Box + Disk-Laufw. + 
Contr. + 32 K-Erw. + E/Ass. 
+ Diskmana + Literatur! 

VB 1400,— DM od. einzeln! 
Tel: 0711/2166880, v. 8 - 
15 Uhr 


Verkaufe TI-Module: Parsec 
35,— (NP 50,—), Tombstone 
20,- (NP 35,-), Buck Ro¬ 
gers 55,— (NP 80,—), Star 
Treck 50,- (NP 70,-), je. 

+ Porto. NN o. Vorauskasse. 
Tel: 06245/6315 


Sanyo-Monitor DM 2112 Grün 
12“ Bildschirm zu verk. An¬ 
schlußkabel f. C64/TI99/4A 
dabei, VB 150,- DM. Tel: 
07664/4822, Wochenende 


Verkaufe oder tausche orig. 
Disk-Controller PHP 1240 
m. DM-Modul, neu! VB 
280,- DM. Such P-Box, RS 
232, 32K-RAM, Laufw., 
Speech-Synth., LOGO II P- 
Code, Modulexp. 3-fach. R. 
Buchholz, D. Bonhoeffer- 
str. 10,4156 Willich l.Tel: 
02154/2724 


Verk. Thermal Printer Typ 
PHP orig. Texas, keine 
Schnittstelle notw., da di¬ 
rekt an Konsole anzuschl. 
Preis 200,- DM, Tel: 030/ 
7865425 


Suche: Speech Synthes. 

Biete: Grafik Tablett Super- 
Scctchü! 

Melden bei: Christian 
Schäfer, Großburschlaer- 
str. 1 7, 3442 Wanfried 4 


Achtung! Module für TI 99/ 
4A Basiclehrgang, Alpiner, 
Munch Man, TI Invaders, Ver¬ 
sandliste Datenverw., Market. 
Planspiel, Alligatormix, 

Early Reading, Progr.Rou¬ 
tinen 1, Check-Book, Manag. 
Modul 30,— 60,— DM. 

Tel: 040/6446058. Henrik 
Wedekind 


Suche MBI-RS 232, Inter¬ 
face. Verk.: Orig. Netzteil 
m. Trafo 30,—, defekt. Kon¬ 
sole 25,-. Tel: 06181/ 
73949 


Biete: Ex.-B. + DT Ex-B. 
Handb. 250,-, MBI Interf. 
(RS 232) 95,-, leicht def. 
TI 99/4A + Zub. 70,-. CH 
Trail, Microsu., P. Position, 
M. Patrol, Finanzber., je 
35,-, kompl. 500,- DM od. 
Tausch geg. „RS232“ + 

„32 K“ Karten. Jörg 
Klaas, Tel: 02562/1362 


**TI 99/4Ä zu verk.** 
TOP-Zustand! Zubehör: Ex- 
Bas., mit dt. Handbuch, Rec. 
Kabel, div. dt. Bücher, Pro¬ 
grammhefe, 2 bespr. Kass. 
Tel: 06181/74669, Kompl. 
450,- DM 


*** Achtung** 

Drucke Ihre Listing: 1 = 1 DM; 
3=2 DM; 6 = 4 DM. Jedes 
weitere + 1 DM + 80 PF Porto. 
Knut Meissner, Marsbergerstr. 
25, 3549 Diemelstadt 3 


Basic für Anfänger (Cass.) 
für nur 6,— DM in kl. Porto. 
Tel: 06638/1503, ab 15 Uhr 


TI 99/4A Konsole. Einwand¬ 
freier Zustand + Handbuch 
TI/Basic, Ex.-Basic, Preis VB. 
Harry Bauer, Helmtrudenstr. 
11, 8000 München 


Verk. folgende Module: Per 
sonal-Rec.-Keeping, House- 
hold-Bgt. Manag., je 40,—, 
(alle zus. 70,—); Statistik- 
Mod. 45,— (alle 3 Module 
100,—); The Attack; Con- 
nect 4, Yathzee, Speech- 
Editor, je 20,— (alle zus. 
60,—); Parsec 30,— DM. 

Tel: 07156/34941, D. 
Jarque 


Miner 2049er. Das Spiel des 
Jahres 1983 — Ein Super- 
Modul für den TI 99/4A. 

Nur 45,- DM!!! Tel: 07156/ 
34941 


Verkaufe für den TI folgende 
Module: Pers. Rec. Keeping 
Household Bgt Mang., Statis- 
tics German, je 40,—, zus. 
100,- DM. 

Speech Editor, Connect Four, 
The Attack, Yathzee, je 20,—, 
zusm. 60,— DM. 

Parsec 30,— DM + Porto + 
Verpack. .Alle Module : 

160,- DM. Tel: 07156/349 
41 


Verk. Tl-Writer 150,—, 

E/A 120,—, Statistik 50,—, 
Pers. Rep. 50,—, Text und 
Datei 50,—, Buchung 80,—, 
Fittnestraining 50,—, Ha- 
gera-Kurs 50,—, E/A Buch 
50,—, Lager 30,—, Rech¬ 
nung 30,—, Intern 20,—, 
Preise VB. Frank Brengel, 
Tel: 089/1231332 


Verk. orig. neuw. intakte 
Tl-Joyst. (1 Paar) 40,—, Rec. 
Kabel (ca. 1 m!) 50,-, 
zus. nur 50,— DM. NN 
od. Vorauskasse bei D. Augu¬ 
stin, Von Hasewinkelweg 87, 
5020 Frechen 4 


Verk. Grafik-Tablett. Super 
Sketch. VB 150,- DM. 

J. Günter, Freiheitstr. 3, 
5802 Wetter l.Tel: 02335/ 
4190, ab 18 Uhr 


Suche funktionsfähiges!!! In¬ 
terface zwischen RS232 in¬ 
tern u. Silver Reed Ex 42 
Typenradschreibmasch. Tel: 
06084/2904 


Verk. Disk.: Basicrout. II, 

Oig. TI 65,—, Basicrotu. III - 
Orig. TI 65,—, Basivrout. H. 
A. Goerke 60,—, Diskmenü H. 
Martin 20,-, DAMAST 
Demodisk 30,—, Mathe I 
Orig. TI 20,—, Prog. + Spiele 
D. Karbach 50,—, Versand¬ 
liste Orig. TI 65,—, Check- 
bookman. Orig. TI 65,—, 
Lagerverw. Orig. TI 65,—, 
Terminkal. A. Donix 30,—, 
Progr. TI-99 Journ. 55,— DM. 
Rudhard Thielmann, Tel: 
02234/79646 


An alle TI-Besitzer 
Verk. Spitzenprogr. Informat. 
1,— DM. Stephan Schiml, 
Wieselrieth 10, 8481 Leuch¬ 
tenberg 


Verk. TI 99/4A + 3 Module 
+ Rec. Kabel + Handbüch, 
von TI, grundüberholt, alles 
280,- DM, Wchenende Tel: 
02151/399404 od. D. 
Schaertges, Bleibergerstr. 66, 
5100 Aachen 


Tausche Alpiner und Tomb- 
stone-City Modul geg. ande¬ 
re Module. Angebote an: 
Andreas Tilch, Weierstadt 17, 
6648 Wadern-Büschfcld/Saar 
Tel: 06874/6705 


Verkaufe oder tausche über 
300 Progr. gegen Hardware. 
Angebote an/od. Listen an¬ 
fordern bei: Manfred Schnei¬ 
der, Nunkircher Str. 42a, 
6648 Wadcrn-Büschfeld/Saar, 
Tel: 06874/6705 


Suche Bedienungsanleitung 
für Terminal Emulator II, 
auch Fotokopie, Tel: 
07026/5885 


Wer schenkt Jungen in DDR 
einen Comp.? Beliebiges Sys¬ 
tem — funktionsfähig! 

Margot Neefe, Weißensteiner 
Str. 79, 7070 Schwäbisch 
Gmünd, Tel: 07171/85372 


Disklaufw. orig. TI für Box 
200,— DM od. Tausch geg. 
orig. Multiplan. Tl-Joy- 
sticks 25,— DM. Behnisch, 
Tel: 02271/62511 


32 K-Byte CMOS-Erw., m. 
echten 16Bit Datenbus, su¬ 
perschnell, zum Einbau in die 
Konsole, kompl. bestückt 
m. Anschlußkabel + Stecker 
+ Einbauleitung (Löten erf.) 
Preis 120,— DM. Kann auch 
eingebaut werden. Tel: 
06257/83247 


TI-Peri.-Box m. orig. TI- 
Laufw. und Controller sowie 
DSK-Manager II. 

Modul, ca. 1 J. alt und 
100 % o.k. für 750,- DM 
zu verk. Tel: 030/3911786. 
Grafik Table Sketch Master 
f. d. TI 99/4A zu verk. ca. 

3 Mon. alt und orig. verp. f. 
100,- DM. Tel: 030/391 
1786 


TI 99/4A 80.,- DM: M-Mem 
120,—, Schach, Datenverw. 
je 30,—, Parsec, Munchman 
etc. je 15,—, dt. engl. u. 
amerik. Literatur billig! 

J. Latza, Josefstr. 55,4352 
Herten, Tel: 02366/36806, 
nach 17.30 Uhr 


65 






































1210 DATA cee-fkkkkkkkkkkkkkk 
kkkkkkkkkkheeb 

1220 DATA dcej MMMMMMMMMMMMMM 
MMMMMMMMMMj ebd 

1230 DATA ddej MMMMMMMMMMMMMM 
MMMMMMMMMMjtdd 

1240 DATA ddejMMMMMMMMMMMMMM 
MMMMMMMMMMjtdd 

1250 DATA ddejMMMMMMMMMMMMMM 
MMMMMMMMMMj »dd 

1260 DATA ddejMMMMMMMMMMMMMM 
MMMMMMMMMMjedd 

1270 DATA eeejMMMMMMMMMMMMMM 
MMMMMMMMMMj eee 

1280 DATA eeejMMMMMMMMMMMMMM 
MMMMMMMMMMj eee 

1290 DATA ddejMMMMMMMMMMMMMM 
MMMMMMMMMMjedd 

1300 DATA ddejMMMMMMMMMMMMMM 
MMMMMMMMMMj edd 

1310 DATA ddejMMMMMMMMMMMMMM 
MMMMMMMMMMj edd 

1320 DATA ddejMMMMMMMMMMMMMM 
MMMMMMMMMMjedd 

1330 DATA d ' ejMMMMMMMMMMMMMM 
MMMMMMMMMMjead 

1340 DATA 'eegkkkkkkkkkkkkkk 
kkkkkkkkkki eea 

1350 DATA eelnooo+(ooooooooo 
ooooooooüormee 

1360 DATA e1bvvvvtuAJ@DKKKKK 

KKKKKKKKKKLcmt 

1370 DATA lqppppp)*ppppppppp 

ppppppppppppBm 

1380 DATA -fkkkkkkh-fkkkkkkkkk 
kkkkkh-f kkkkkkh 

1390 DATA j HBFFIHj j GCDFIKKKK 
KKKKKj jICEGKKj 

1400 DATA j KK40KKj j KKHKIKFKF 
KEKKKj j K1000Kj 

1410 DATA gkkkkkkigkkkkkkkkk 
kkkkkigkkkkkki 

1420 RESTORE 1000 :: -FOR 1=3 
6 TO 128 :: READ D$ :: CALL 
CHAR(I,D$):: NEXT I 
•1430 CALL CLEAR :: CALL SCRE 
EN < 2):: for 1-0 TO 14 :: cal 
L COLOR(1,2,2) ! : NEXT I 
1440 RESTORE 1180 :: FOR 1=1 
TO 24 :: READ D* :: FOR J-l 
TO 32 :: CALL HCHARd, J , ASC 
<seg*<d$,j, l))):: next J :: 
NEXT I 

1450 CALL HCHAR(19,29,128) 
1460 CALL SCREEN(2):: CALL C 
OLOR <2,5,15,3,2,13,4,2,13,5, 
2,13,6,2,13) 

1470 CALL C0L0R(7,14,2,9,5,1 
5,10,5,15,11,5,15,12,11,2,13 
,13,5,1,2,13) 

1480 FOR 1=1 TO 25. 

1490 CALL HCHAR(2E,SP,120):: 
NEXT I 


L 

I 

S 

T 

I 

N 

G 

S 


1500 FOR 1=1 TO 15 
1510 CALL HCHAR(ZE,SP,121) : : 
NEXT I 

1520 FOR 1=8 TO 9 :: CALL HC 
HAR<1,16,80)I: CALL HCHARd, 
17,81):: CALL HCHAR d+4,16,8 
0):: CALL HCHAR(I+4,17,ßl>:: 
NEXT I 

1530 CALL HCHAR(10,14,82,2): 

: CALL HCHARU0, 18,82,2) : : C 
ALL HCHAR<11,14,83,2):: CALL 
HCHAR«11,18,83,2) 

1540 CALL SPRITE(#5,44,13,14 
5,27,#6,44,13,145,37,47,44,1 
3 145 47) 

1550 CALL CHAR(136,"01041044 
0154002288015401441004010020 
8822002A802289002A0022882000 

") 

1560 CALL CHAR(88,"000000000 
00000000103060C183060C001030 
60C183060C03000000000000000" 

) 

1570 CALL CHAR<92,"80C060301 
80C0603010000000000000000000 

0000000000080C06030180C0603" 

) 

1580 CALL CHAR(140,"00000018 
i8ieieie"&<RPT*(' , 0",48)) 

1590 SUBEND 
1600 SUB Bl 

1610 DATA 3F3F3F7F7F7FFFFF,0 

0000003071F3F7F,FFFFFFFFFFFF 
FFFF,00010307070F1F1F,011FFF 
FFFFFFFFFF,80F8FFFFFFFFFFFF 
1620 DATA 000000C0E0F8FCFE,0 
080C0E0E0F0F8F8,FCFCFCFEFEFE 
FEFF,FFFEFEFEFEFCFCFC,F8F8F0 
E0E0C08,FEFCF8E0C 
1630 DATA 3F0E3B073FFFF88,7F 
3F1F0703,1F1F0F07070301, FF7F 
7F7F7F3F3F3F,FC70DCE0FCFF1F0 
1,FFF000000000FFFF 
1640 DATA FF8FC7F183CFF1FF,9 
FCFE9E3F1C7FFFF,FFFFFF8387F0 
9EFC,C3F380FFFFF0FFFF,FFEFC7 
87070F3F7,C33FE1870F1FFFFF 
1650 RESTORE 1610 :: FOR 1=9 
6 TO 119 :: READ R* :: CALL' 
CHAR(I,R*):! NEXT I 
1660 CALL CHAR(58,"007E42427 
E606060",59,"000808081818181 
8",60,"002020206060607E",61, 
"007E42424646467E " ) 

1670 CALL CHAR<62,"007E08181 
8180808",63,"007E60603E20202 
0",64,"004646464646467E",65, 
"007E40407E60607E") 

1680 CALL CHAR<66,"003820202 
0202038",67,"003808080808083 
8",72,"010307173F3F7F7F",73, 
"80E0E0F8FAFCFEFE") 

1690 CALL CHAR<74,"3F9FCFCFC 


66 



7E7F1F8",75,"FCF9F3F3E3E78F1 
F",76,"FFFFFFFFFFFFFFFF",80, 
"FFFFFFFFFFFFFFFF") 

1700 CALL CHAR<122,"",33,“FF 
FFF0F8DCCEC7C3",35,"C3C3C3C3 
C3C3C3C3",36,"C3E3733B1F0FFF 
FF",37,"FFFF0F1F3B73E3C3") 
1710 CALL CHAR<38,"C3C7CEDCF 
8F0FFFF",39,"FFFF00000000FFF 
F",81,"FEFDFBF7EFDFBF7F",82, 
"7FBFDFEFF7FBFDFE") 

1720 CALL SCREEN<2):: FÜR 1= 
0 TO 14 :: CALL COLOR <1,2,2) 

.* : NEXT I 

1730 DATA zzzzzzzzzzzzzxzzzy 
zzadbef zzzzyzx 

1740 DATA zzxzzzxzzyzzzzzzzz 
zcbbbbbgzxzzzz 

1750 DATA zzzzzzzzzzzzxzzzzz 
x'bbbbbhzzzzzz 

1760 DATA xzzzxzzzxzzzzzzzzz 
zbbbbbrszzzzxz 

1770 DATA zzzzzzzzzzzzzzzzzz 
zobbbtvizxzzzz 

1780 DATA Izzzzzzzzzzzzyzzxz 
znbrsuwj zzzHIz 

1790 DATA LlyzxzHIzzzxzzzzzz 
zzmpq1kzzyHLLI 

1800 DATA LLIzzHLLIzzzzzzHIz 
xzzzzzzzzHLLLL 


1810 DATA LLLIHLLLLIHIzzHLLI 

zzzzzxzzHLLLLL 

1820 DATA LLLLJLLLLKLLIHLLLL 

IxzHIz zHLLLLLL 

1830 DATA LLLLLJLLKLLLKLLLLL 
LIHLLIHLLLLLLL 

1840 DATA LLLLLLJKLLLKJLLLLL 
LLJLLKLLLLLLLL 

1850 DATA PPPQPPPPPQPPPPPQRP 

PPPPRPPPPPRPPP 

1860 DATA PPPPPPPPPPPPPPPPPP 
PPPPPPPPPPPPPP 

1870 DATA PQPPPPPQPPPPPQPPPP 
RPPPPPRPPPPPRP 

1680 DATA QPPPPPQPPPPPQPPPPP 

PRPPPPPRPPPPPR 

1890 DATA PPPPPPPPPPPPPPPPPP 
PPPPPPPPPPPPPP 

1900 DATA PPPPPPPPPPPPPPPPPP 

PPPPPPPPPPPPPP 

1910 DATA PPPQPPPPPQPPPPPQRP 

PPPPRPPPPPRPPP 

1920 DATA PPQPPPPPQPPPPPQPPR 

PPPPPRPPPPPRPP 

1930 DATA !»»»»**»**»»»*»%«» 


1940 data #:;< = > l. ##: 

i< = > 2.# 

1950 DATA #?QA< ..B2000C..##? 
@A< ..B2000C. 

1960 DATA 




1970 RESTORE 1730 :: FOR 1=1 


L 

I 

S 

T 

I 

N 

G 

S 


TO 24 :: READ R$ :: FOR J=1 
TO LEN(R$):: CALL HCHAR(I,J 
,ASC<SEG*(R*,J, 1) )):: NEXT J 
:: NEXT I 

1980 CALL SCREEN<7):: CALL C 

OLOR <1,2,14,3,2,14,4,2,14,5, 
2,14,6,5,2,7,3,2,9,11,2,10,1 
1 , 2 , 11 , 11 , 2 , 12 , 12 , 2 ) 

1990 CALL CHAR<40,"000000004 
0E0F17A7FFFEA 7 F0003000000000 
00000E01008FCFEABFEC0F80000" 
) 

2000 CALL CHAR<84,"000000000 
00708103F7FD57F031F000000000 
00002078F5EFEFF57FE00C00000" 
) 

2010 CALL CHAR<44,"000000000 
0000000000000001F3F7FFF00000 
0000000000000000000F8FCFEFF" 

) 

2020 CALL CHAR<124,"01041044 
0154002288015401441004010020 
8822002A802289002A0022882000 
" ) 

2030 CALL CHAR<92,"0000000F0 
F0000000000000F0F00000000000 
0F0F0000000000000F0F") 

2040 CALL CHAR(88,"000000000 
0000000000000000F1F000000000 
0000000000000000000F0F80000" 

) 

2050 SUBEND 
2060 SUB G 

2070 FOR 1=0 TO 9 :: CALL SO 
UND <-250,391,1)!! NEXT I :: 
FOR 1-0 TO 9 :: CALL SOUND<- 
250,329,1,391,1+11):: NEXT I 
: *.' FOR 1-0 TO 9 
2080 CALL SOUND(-250,261,I,3 
29,1+11,391,1+21):: NEXT I : 

: SUBEND 

3000 ! Ich ho-f-fe, Ihr habt da 
ran gedacht, dass je¬ 
der Punkt im Listing 
ein Leerzeichen dar¬ 
stellt ! ! ! 


Anmerkung der Redaktion: _ 

Ganz besonders gut sind dem Autoren die Grafiken 
in den beiden Bildschirmen gelungen. Schon alleine 
deshalb war dieses Spiel veröffentlichungswert. 


TI-REVUE 
«JEDEN IVIONAT 
NEU 


67 








LiSTiNG 


WOHNGELD 


Wohngeld ist eine staatliche Hilfe als Zuschuß zur 
Bestreitung der Unterkunftskosten. Für Mieter 
heißt dieser Zuschuß Wohngeld, für Eigentümer ei¬ 
nes Familienheimes oder einer Eigentumswohnung 
heißt es Lastenzuschuß. Im folgenden wird der 
Oberbegriff “Wohngeld“ verwendet. 

Viele Menschen wissen nicht, ob sie einen Anspruch 
auf die Gewährung von Wohngeld haben. Um dies 
zu ermitteln, bedarf es einiger “Rechnerei“, denn 
ein etwaiger Anspruch auf Wohngeld hängt von ver¬ 
schiedenen Faktoren ab. Dazu gehören Familien¬ 
einkommen, Anzahl der zum Haushalt gehörenden 
Familienangehörigen, Datum der Bezugsfertigkeit 
der Wohnung, Höhe der Miete oder Belastung bis zu 
einem bestimmten Höchstbetrag, verschiedene Frei¬ 
beträge etc. 



mk 

a mai l 

«11W WB I 


■* tarnt »nw-n 


Um einen etwaigen Anspruch auf Wohngeld sicher 
zu ermitteln, dazu dient dieses Programm. 

Nach dem Programmdurchlauf wird angezeigt, ob 
ein solcher Anspruch besteht oder nicht. Die genaue 
Höhe des zu zahlenden Wohngeldes wird jedoch 
nicht angezeigt, da die Rechnerkapazität — auch mit 
der Speichererweiterung — hierfür nicht ausreicht. 
Aus diesem Grunde wird das nach dem Wohngeldge¬ 
setz zugrundezulegende Familieneinkommen und 
die anrechenbare Miete bzw. Belastung angezeigt. 
Mit diesen beiden Werten läßt sich die Höhe des 
Wohngeldes in einer Wohngeldtabelle, die bei jeder 
Gemeinde- oder Kreisverwaltung erhältlich ist, 
leicht ablesen. 

Sollte ein Anspruch bestehen, so sollte man umge¬ 
hend einen entsprechenden Wohngeldantrag stellen, 
denn Wohngeld wird nicht ab dem erstmaligen Be¬ 
stehen eines Anspruchs, sondern erst ab Antragsein¬ 
gang bei der zuständigen Wohngeldbehörde gewährt. 
Das Programm läuft im Dialogbetrieb ab, ist also 
benutzerfreundlich. 

Nach dem Programmstart erfolgt eine kurze Pro¬ 
grammeinweisung in Form von Erläuterungen. 


Danach ist die Anzahl der zum Familienhaushalt 
gehörenden Personen anzugeben, außerdem das Jahr 
der erstmaligen Bezugsfertigkeit der Wohnung 
(4stellig). Anschließend wird gefragt, ob man Mieter 
einer Mietwohnung oder Eigentümer einer Eigen¬ 
tumswohnung oder eines Eigenheims ist. 

a) Mieter 

Es ist zunächst die Höhe der Bruttomiete einzuge¬ 
ben. Außerdem wird gefragt, ob in dieser Miete be¬ 
reits Kosten für Garage, Wasserverbrauch, Strom 
oder Müllabfuhr enthalten sind, oder ob diese 
Kosten separat anfallen. 

b) Eigentümer 

Hier wird zunächst nach den monatlichen Zins- 
und Tilgungsleistungen gefragt. Daneben ist zur Er¬ 
mittlung der berücksichtigungsfähigen Bewirtschaf¬ 
tungskosten die Wohnfläche anzugeben. Außerdem 
ist einzugeben, ob zu der Wohnung eine Garage ge¬ 
hört und ob ein Aufwendungsdarlehen bzw. -Zu¬ 
schuß aus öffentlichen Mitteln gewährt wird. 

Zu beachten ist, daß alle diese Angaben sich nur 
auf den von der Familie selbstgenutzten Wohnraum 
beziehen. 

Von hier ab geht die Berechnung für Mieter und Ei¬ 
gentümer wieder gemeinsam weiter. 

Es wird nun nach der Anzahl der Einkommensbe¬ 
zieher unter den Haushaltsangehörigen gefragt. 

(Je nach der hier eingegebenen Zahl werden ent¬ 
sprechend viele Schleifen durchlaufen.) 

Unter Einkommen ist Erwerbseinkommen, Neben¬ 
einkünfte, Ausbildungsvergütungen, Renten, Unter¬ 
haltszahlungen etc. zu verstehen, Kindergeldlei¬ 
stungen bleiben außer Betracht. 

Nach der Eingabe der Einkünfte der ersten Person 
sind deren Werbungskosten anzugeben. Diese ent¬ 
nimmt man dem letztjährigen Einkommen- oder 
Lohnsteuerjahresausgleich. Dann wird gefragt, ob 
die Person zu mindestens 80% schwerbehindert 
und/oder Kind zwischen 16 und 25 Jahren mit 
eigenen Einkünften ist. 

Anschließend ist einzugeben, ob die Person Steu¬ 
ern, Renten- und Krankenversicherung bezahlt 
oder Teile davon. Als Rentenversicherung gilt bei 
Beamten auch eine Lebensversicherung (Kapital¬ 
versicherung), für die Monatsbeiträge von min¬ 
destens 30,— DM zu entrichten sind. 

Als Krankenversicherung zählt auch eine private 
Krankenversicherung. Nach diesen Eingaben wird 
nach denselben Daten der zweiten Person gefragt, 
danach die der dritten etc., bis die Zahl der Ein¬ 
kommensbezieher abgearbeitet ist. 

Danach erfolgt die Anzeige, ob ein Anspruch auf 
Wohngeld besteht oder nicht. Außerdem wird das 
Familieneinkommen und die höchstzuschußfähige 
Miete/Belastung angezeigt, damit anhand dieser 
Werte der genaue DM-Betrag in einer Wohngeldta¬ 
belle abgelesen werden kann. 

Das Programm ist für die Mietenstufe 3 ausgelegt. 
Dies ist für die weitaus größte Zahl der Gemeinden 
in Deutschland zutreffend, da bei einem Anspruch 
in der Gemeindengrößenklasse 3 auch ein An¬ 
spruch — sogar noch höher — in den Stufen 4 und 
5 besteht. 

Wohnt man jedoch in einer Gemeinde der Stufe 1 
oder 2, müßte das Programm geringfügig modifi¬ 
ziert werden. Interessierte User können sich hierzu 
jederzeit an mich wenden. 

Thomas Ehlert 


68 











10 

!************************ 

11 

! * 


* 

12 

!* 

WOHNGELD 

* 

13 

! * 


* 

14 

! * 


* 

15 

! * 

Copyright T.Ehlert 

* 

16 

! * 


* 

17 

! * 

dipl.-vwwt 

* 

18 

! * 


* 

19 

! * 

Renoisstr. 25 

* 

20 

! * 


* 

21 

! * 

5300 Bonn 1 

* 

22 

! * 


* 

23 

! * 

Benoetigte Geraete : 

* 

24 

! * 


* 

25 

! * 

TI 99/4A + Ext. Bas. 

* 

26 

! * 


* 

27 

! * 

Speicherbelegung: 

* 

28 

! * 


* 

29 

! * 

13713 Bytes 

* 

30 

! * 


* 

31 

! * 


* 

32 

!************************ 


33 CALL SCREEN(16) 

34 CALL CLEAR 

35 DISPLAY AT <5, i ) : ".W 

0 H N 6 E L D. 


L 

I 

S 

T 

I 

N 

G 

S 


36 FOR 1=7 TO 21 :: CALL SOU 
ND (75, 160*1/5,0):: DISPLAY A 

T(7,I):"*" :: next I 

37 CALL SOUND(500,160,0,240, 
0,320,0) 

38 DISPLAY AT(10,1 ): "Program 

m zur Festste 11ung...eines e 
twaigen Anspruchs au-fWohngel 
d oder Lastenzuschussnach de 
m Wohngeldgesetz 1996" 

39 DISPLAY AT(16,1) : ". 

0..T. Ehlert" 

40 DISPLAY AT < 18,1) : ". 

.dip1.-vwwt" 

41 DISPLAY AT(20,1):".Te 

1.I0228/215991" 

42 DISPLAY AT<23,10):"Bitte 
Taste druecken" 

43 CALL KEY(0,K,S):: IF S=0 
THEN 43 

44 CALL CLEAR 

45 DISPLAY AT (1, 1) : " Im -folge 
nden wird Ihr Fami- lieneink 
ommen und die -fuer..Ihre Woh 
nung hoechstzuschuss-faehige 
Miete/Belastung er- mittelt" 

46 DISPLAY AT(6,1):"Nachdem 
Sie die Anzahl der..zu Ihrer 

Familie gehoerendenPersonen 
eingegeben haben,..muessen 
Sie noch das Jahr...der Bezu 
gs-fertigkeit Ihrer" 

47 DISPLAY AT<11,1):“Wohnung 
angeben (4-stellig)" 

48 DISPLAY AT(12,1):"Danach 


muessen Sie angeben, ob Sie 
Mieter oder Eigentue-mer Ihr 
er jetzigen Wohnung sind." 

49 DISPLAY AT(17,1):"Im Anse 
hluss daran muessen..Sie die 

Komponenten Ihrer... Miete b 
zw. Belastung angebenWelche 
Bestandteile dazu ge-hoeren, 
zeigt das Programm." 

50 DISPLAY AT(23,10) : "Bitte 
Taste druecken" 

51 CALL KEY(0,K,S):: IF S=0 
THEN 51 

52 CALL CLEAR 

53 DISPLAY AT(1, 1) : "Au-f glei 
che Weise -fuehrt Siedas Prog 
ramm durch die ein- zelnen S 
chritte der Einkorn- mensermi 
111 u n g . " 

54 DISPLAY AT <5, 1) : "Zum Schl 
uss wird angezeigt, ob Sie e 
inen Anspruch au-f. . . Gewaehru 
ng von Wohngeld ha- ben. Ist 

dies der Fall, so" 

55 DISPLAY AT(9,1):"sollten 
Sie schnellstens beilhrer Ge 
meinde- oder Kreis- verwaltu 
ng einen entspre-...chenden 
Antrag stellen, denn" 

56 DISPLAY AT ( 13,1 ): "Wohngel 
d wird nicht rueck-..wirkend 
, sondern erst ab An-tragsei 
ngang gewaehrt." 

57 DISPLAY AT(16,1):"Neben d 
#m grundsaetz1ichen Anspruc 
h wird noch Ihr Fami-lienein 
kommen und Ihre anre-chenbar 
e Miete/Beiastung an-" 

58 DISPLAY AT(20,1):"gezeigt 
. Damit und mit-einerWohngel 
dtabelle laesst sich Ihr Ans 
pruch in DM ablesen." ii DIS 
PLAY AT<23,10):"Bitte Taste 
dreucken" 

59 CALL KEY(0,K,S>:: IF S=0 
THEN 59 

60 ! 

61 ! 

62 ! Berechnung hoechstzusch 
uss-faehige Miete 

63 ! 

64 ! 

65 CALL SCREEN(12) 

66 CALL CLEAR 

67 DISPLAY AT(3,1):"Zahl der 
Farn.Angehoerigen? " 

68 ACCEPT AT(3,28) VAL IDATE <" 
12345")SIZE(1)BEEP:F 

69 DISPLAY AT(5,1):"Jahr d.B 
ezugs-fertigkeit?" 

70 ACCEPT AT ( 5 , 25 )VALIDATE(N 
UMERIC )SIZE < 4iBEEP:J 

71 IF J < 1966 AND F=i THEN MM #9 


69 










AX-320 

72 IF J<1966 AND F-2 THEN MM 
AX-415 

73 IF J<1966 AND F-3 THEN MM 
AX-493 

74 IF J < 1966 AND F-4 THEN MM 
AX-573 

73 IF J < 1966 AND F-5 THEN MM 
AX-660 

76 IF J >1965 AND J<1972 AND 
F-l THEN MMAX-360 

77 IF J >1965 AND J<1972 AND 
F-2 THEN MMAX-463 

70 IF J > 1965 AND J<1972 AND 

F-3 THEN MMAX-53S 

79 IF J > 1965 AND JC1972 AND 

F-4 THEN MMAX-643 

00 IF J > 1965 AND J<1972 AND 

F-3 THEN MMAX-733 

01 IF J > 1971 AND J<1978 AND 

F-l. THEN MMAX-380 

02 IF J >1971 AND J<1978 AND 

F=2 THEN MMAX=490 

83 IF J >1971 AND J<1978 AND 
F-3 THEN MMAX-385 

84 IF J >1971 AND J<1978 AND 
F-4 THEN MMAX-680 

85 IF J >1971 AND J<1978 AND 
F-5 THEN MMAX-775 

86 IF J > = 1978 AND F-l THEN M 
MAX-405 

87 IF J > = 1978 AND F=2 THEN M 
MAX-523 

88 IF J > = 1978 AND F-3 THEN M 
MAX-625 

89 IF J > = 1978 AND F-4 THEN M 
MAX-730 

90 IF J > = 1978 AND F-5 THEN M 
MAX-830 

91 CALL CLEAR 

92 DISPLAY AT(2,1): "Es ist j 
etzt der Hoechstbe- trag der 

zuschuss-f aeh igen Miete od 
er Belastung zu er- mittein. 
h 

93 DISPLAY AT(7,1):"Zur Miet 
e gehoeren auch die Kosten d 
es Wasserverbrauchs,der Abwa 
sser- und Muellbe- seitigun 
g, aber nicht Gara- gen- Str 
om- und Heizkosten." 

94 DISPLAY AT<13,1):"Unter B 
elastung versteht-mandie Auf 
Wendungen -fuer den. . . Kapi tal 
dienst und die Bewi rtscha-f tu 
ng eines Eigenheims oder ei 
ner Eigentumswohnung" 

93 DISPLAY AT(19,1) : "Sind Si 
e..Mieter...■..< M)...oder... 

...Eigentuemer <E)?......... 

....Bitte B 

uchstaben eingeben" 

96 ACCEPT AT<22,28)VALIDATE < 



"ME")SIZE(1)BEEP:S* 

97 IF S$="M" THEN 104 

98 IF S$="E" THEN 130 

99 ! 

Berechnung -fuer Mieter 


104 CALL CLEAR 

103 DISPLAY AT<2,7):"MIETBES 
TANDTEILE" 

106 DISPLAY AT<5,2):"Bruttom 
iete:" 

107 ACCEPT AT<5,17)VALIDATE< 
NUMERIC)SIZE <-4)BEEP: BRM 

108 DISPLAY AT(7,2):"In dies 
er Bruttomiete sind -folgend 
e Nebenkosten bereitsenthalt 
en: " 

109 DISPLAY AT<12,5):"Garage 

f II 

f 

110 ACCEPT AT<12,18)VALIDATE 
<NUMERIC)SIZE(2)BEEP:GA 

111 DISPLAY AT<14,5):"Heizko 
s t e n : " 

112 ACCEPT AT(14,18)VALIDATE 
(NUMERIC)SIZE(3)BEEP:HK 

113 DISPLAY AT(16,5):"Stromk 
osten:" 

114 ACCEPT AT(16,18)VALIDATE 
(NUMERIC)SIZE(3)BEEP:SK 

115 DISPLAY AT(18,2):"Zusaet 
zlich zur Bruttomiete -fallen 

an: " 

116 DISPLAY AT(22,5):"Wasser 
ge 1d:" 

117 ACCEPT AT(22,18)VALIDATE 
(NUMERIC)SIZE(3)BEEP:WG 

118 DISPLAY AT(24,5):"Muella 
b-f uhr: " 

119 ACCEPT AT(24,18)VALIDATE 
(NUMERIC)SIZE(3)BEEP:MA 

120 KM-BRM-GA-HK-SK+WG+MA 

121 IF KM-MMAX THEN M-KM 

122 IF KM>MMAX THEN M-MMAX 

123 IF KM<MMAX THEN M-KM 

124 GOTO 155 
123 ! 

126 ! 

127 ! Berechnung -fuer Eigent 
uemer 

128 ! 

129 ! 

130 CALL CLEAR 

131 DISPLAY AT(2,1):"BESTAND 
TEILE DER BELASTUNG:" 

132 DISPLAY AT(3,10):"(monat 
lieh) " 

133 DISPLAY AT(5,5):"Zinsen: 

n 

134 ACCEPT AT(5,18)VALIDATE( 
NUMERIC)SIZE(-7)BEEP:ZI 

133 DISPLAY AT(7,5):"Tilgung 


100 

101 

102 

103 


70 









136 ACCEPT AT(7,18)VALIDATE( 
NUMERIC)SIZE(-7)BEEP:TI 
13? DISPLAY AT<10,2):"BEWIRT 
SCHAFTUNGSKOSTEN" 

138 DISPLAY AT (13,5) : "Wohnt 1 
aeche in qm: “ 

139 ACCEPT AT(13,26)VALIDATE 
(NUMERIC)SIZE(-3)BEEP:WFL 

140 BWK=(WFL*20)/12 

141 DISPLAY AT(15,5):"Garage 
? < J-N) " 

142 ACCEPT AT(15,26)VALIDATE 

("jn m )size<1)beep:g* 

143 IF G$="J" THEN GG=40 

144 DISPLAY AT<17,5) : "Au-fwen 
dungsdar1ehen: " 

143 ACCEPT AT<17,26)VALIDATE 
(NUMERIC)SIZE(-3)BEEP:AWD 

146 BEL=ZI+TI+BWK-GG-AWD 

147 IF BEL=MMAX THEN M=BEL 

148 IF BEL<MMAX THEN M = BEL 

149 IF BEL>MMAX THEN M=MMAX 

150 ! 

131 ! 

152 ! Einkommensermittlung 

153 ! 

134 ! 

133 CALL CLEAR 

156 DISPLAY AT(2,1):"Nachdem 
nun die hoechstzu- schuss-f 

aehige Miete bzw. Be-lastung 
errechnet ist, muss das anr 
echenbare Familien-" 

157 DISPLAY AT(6,1):"einkomm 
en aller zum Haushaitgehoere 
nden Personen ermit- telt we 
rden. Hierzu geben...Sie bit 
te nun das Bruttojah-" 

158 DISPLAY AT<10,1):"resein 
kommen jeder einzelnenPerson 

hintereinander ein,..so wie 
aut dem Bi 1 dschi rm. . . angeze 
igt. " 

159 DISPLAY AT(16,1):"Zum Br 
uttojahreseinkommen...zaeh1e 
n Loehne, Gehae1ter,..Arbeit 
slosengeld, Kranken-.,ge 1 d, 
Renten, Unterhaltszah-1ungen 
, aber KEIN Kindergeld" 

160 DISPLAY AT(22,1):"Wievie 
le Fami1ienangehoerigehaben 
Einkommen" 

161 ACCEPT AT(23,28)VALIDATE 
(NUMERIC)SIZE <1)BEEP:AN 

162 CALL KEY(0,K,S):: IF S=0 
THEN 162 

163 FOR 1=1 TO AN 

164 CALL CLEAR 

163 DISPLAY AT(1,3):"EINKOMM 
EN VON PERSON"fI| 

166 DISPLAY AT(3,1):"Bruttoj 
ahreseinkommen:" 


L 

I 

S 

T 

I 

N 

G 

S 


167 ACCEPT AT(3,24)VALIDATE( 
NUMERIC)SIZE(-5)BEEP:BJ (I)' 

168 DISPLAY AT(5,1):"Werbung 
skosten: " 

169 ACCEPT AT(5,24)VALIDATE( 
NUMERIC)SIZE <-3)BEEP:WBK(I) 

170 IF WBK <1X564 THEN WBK < I 
) =564 

171 DISPLAY AT(7,1):"80% sch 
werbehindert (J/N)?" :: ACCE 
PT AT(7,28)VALIDATE("JN")SIZ 
E (1)BEEP:SW* 

172 IF SW$="J" THEN SBF(I)=2 
400 

173 DISPLAY AT(9,1):"Kind vo 
n 16-23 Jahren(J/N)?" :: ACC 
EPT AT <9,28)VALIDATE("JN")SI 

ze(1)beep:ki* 

174 IF KI$="J" THEN KFB(I)=1 
200 

173 JEK(I)=BJ(I)-WBK(I)-SBF( 
I)-KFB(I) 

176 ! 

177 ! 

178 ! Pauschal-f reibetraege 

179 ! 

180 ! 

181 X=6 

182 DISPLAY AT(12,1):"ZAHLEN 
SIE" 

183 DISPLAY AT(14,1):"Steuer 

..? ( J = 1 /N=2) " :: ACC 

EPT AT(14,28)VALIDATE("12")S 
IZE(1)BEEP:ST 

184 DISPLAY AT(16,1):"Kranke 
nversich.? (J«i/N=2)" :: ACC 
EPT AT(16,28)VALIDATE("12")S 

ize(1)beep:kv 

105 DISPLAY AT(18,1)I"Renten 
versieh. ? (J-l/N-2)" :: ACC 
EPT AT(18,28)VALIDATE <"12")S 
ize(1)beep:rv 

106 IF ST=1 AND KV=1 AND RV= 
1 THEN X-30 :: GOTO 189 

187 IF ST=1 AND KV=1 OR ST=1 
AND RV«1 OR KV-1 AND RV-1 T 

HEN X-20 :: GOTO 189 

188 IF ST=1 OR KV=1 OR RV=1 
THEN X=12.3 :: GOTO 189 

189 PFB(I)=<(JEK(I)/100)*X) 

190 PEK(I)=JEK(I)-PFB(I) 

191 NEXT I 

192 FEK=PEK <1)+PEK(2)+PEK < 3) 
+PEK(4)+PEK(5) 

193 E=FEK/12 

194 ON F GOTO 200,229,264,30 
3,346 

193 ! 

196 ! 

197 ‘Einpersonenhaushalt 

198 ! 

199 ! 

200 IF E<240 AND M>29.99 THE 






N 369 ELSE 201 

201 IF E<320 AND M>40 THEN 3 
6f ELSE 202 

202 IF E<360 AND M>50 THEN 3 
69 ELSE 203 

203 IF E<420 AND M>60 THEN 3 
69 ELSE 204 

204 IF E<460 AND M>70 THEN 3 
69 ELSE 203 

203 IF E<300 AND M>80 THEN 3 
69 ELSE 206 

206 IF E<360 AND M>90 THEN 3 
69 ELSE 207 

207 IF E<620 AND M>100 THEN 
369 ELSE 206 

200 IF E<700 AND M>120 THEN 
369 ELSE 209 ’ 

209 IF E<760 AND M>140 THEN 
389 ELSE 210 

210 IF E< 820 AND M>160 THEN 
389 ELSE 211 

211 IF E< 860 AND M>180 THEN 

389 ELSE 212 

212 IF E< 920 AND M>200 THEN 

389 ELSE 213 

213 IF E< 960 AND N>220 THEN 
389 ELSE 214 

214 IF E<1000 AND M>240 THEN 
389 ELSE 213 

213 IF E<1020 AND M>260 THEN 
389 ELSE 216 

216 IF E<1060 AND M>280 THEN 
389 ELSE 217 

217 IF E<1080 AND M>300 THEN 
389 ELSE 218 

216 IF E<1120 AND M>320 THEN 
389 ELSE 219 

219 IF E<1140 AND M>340 THEN 

389 ELSE 220 

220 IF E<1160 AND M>360 THEN 

369 ELSE 221 

221 IF E<1180 AND M>380 THEN 
369 ELSE 222 

222 IF E<1200 AND M>400 THEN 
369 ELSE 396 

223 STOP 

224 ! 

225 ! 

226 ! Zweipersonenhaushalt 

227 ! 

226 ! 

229 IF E<340 AND M>29.99 THE 
N 369 ELSE 230 

230 IF E<400 AND M>40 THEN 3 
69 ELSE 231 

231 IF E<460 AND f*1>50 THEN 3 
69 ELSE 232 

232 IF E<520 AND M>60 THEN 3 
89 ELSE 233 

233 IF E<360 AND M>70 THEN 3 
89 ELSE 234 

234 IF E<600 AND M>80 THEN 3 
89 ELSE 233 



235 IF E<640 AND M>90 THEN 3 
89 ELSE 236 

236 IF E<720 AND M>100 THEN 
389 ELSE 237 

237 IF E<820 AND M>120 THEN 
389 ELSE 238 

238 IF E<900 AND M>140 THEN 
369 ELSE 239 

239 IF E<980 AND M>160 THEN 
389 ELSE 240 

240 IF E<1040 AND M>180 THEN 
389 ELSE 241 

241 IF E<1100 AND N>200 THEN 
389 ELSE 242 

242 IF E<1160 AND M>220 THEN 
389 ELSE 243 

243 IF E<1220 AND M>240 THEN 

389 ELSE 244 

244 IF EC1280 AND M>260 THEN 
389 ELSE 243 

243 IF E<1320 AND M>280 THEN 
389 ELSE 246 

246 IF E<1360 AND M>300 THEN 

389 ELSE 247 

247 IF E<1400 AND M>320 THEN 
389 ELSE 248 

248 IF E<1440 AND N>340 THEN 
389 ELSE 249 

249 IF E<1480 AND M>360 THEN 
389 ELSE 250 

250 IF E<1500 AND M>380 THEN 
389 ELSE 251 

251 IF E<1540 AND N>400 THEN 
389 ELSE 232 

232 IF E<1580 AND M>420 THEN 
389 ELSE 253 

233 IF E<1600 AND M>440 THEN 
389 ELSE 254 

254 IF E<1 620 AND N>460 THEN 
389 ELSE 235 

255 IF E<1660 AND M>480 THEN 
369 ELSE 256 

256 IF E<1680 AND M>500 THEN 

389 ELSE 237 

257 IF E<1700 AND M>520 THEN 
389 ELSE 398 

250 STOP 

259 ! 

260 ! 

261 ! Dreipersonenhaushalt 

262 ! 

263 ! 

264 IF E<420 AND M>39.99 THE 
N 389 ELSE 265 

265 IF E<480 AND M>50 THEN 3 

69 ELSE 266 

266 IF E<540 AND M>60 THEN 3 
69 ELSE 267 

267 IF E<580 AND M>70 THEN 3 

89 ELSE 268 

266 IF E<640 AND M>80 THEN 3 

89 ELSE 269 

269 IF E<700 AND M>90 THEN 3 


72 




89 ELSE 270 

270 IF E< 800 AND M>100 THEN 
389 ELSE 271 

271 IF E<900 AND M>120 THEN 
389 ELSE 272 

272 IF E<1000 AND M>140 THEN 
389 ELSE 273 

273 IF E<1100 AND M>160 THEN 
389 ELSE 274 

274 IF E<1200 AND M>180 THEN 
389 ELSE 275 

275 IF E<1280 AND M>200 THEN 
389 ELSE 276 

276 IF E<1340 AND M>220 THEN 
389 ELSE 277 

277 IF E<1420 AND M>240 THEN 
389 ELSE 278 

278 IF E<1480 AND M>260 THEN 
389 ELSE 279 

279 IF E<1540 AND M>280 THEN 
389 ELSE 280 

280 IF E<1580 AND M>300 THEN 
389 ELSE 281 

281 IF EC1640 AND M>320 THEN 
389 ELSE 282 

282 IF E<1680 AND M>340 THEN 
389 ELSE 283 

283 IF E<1720 AND M>360 THEN 
389 ELSE 284 

284 IF E<1760 AND M>380 THEN 
389 ELSE 285 

285 IF E<1800 AND M>400 THEN 
389 ELSE 286 

286 IF E<1840 AND M>420 THEN 
389 ELSE 287 

287 IF EC1880 AND M>440 THEN 
389 ELSE 288 

288 IF E<1900 AND M>460 THEN 
389 ELSE 289 

289 IF E<1940 AND M>480 THEN 
389 ELSE 290 

290 IF E<1960 AND M>500 THEN 

389 ELSE 291 

291 IF E<2000 AND M>520 THEN 
389 ELSE 292 

292 IF E<2020 AND M>540 THEN 
389 ELSE 293 

293 IF E<2040 AND M>560. THEN 
389 ELSE 294 

294 IF E<2080 AND N>580 THEN 
389 ELSE 295 

295 IF E<2100 AND M>600 THEN 
389 ELSE 296 

296 IF E<2120 AND M>620 THEN 
389 ELSE 398 

297 STOP 

298 ! 

299 ! 

300 ! Vierpersonenhaushalt 

301 ! 

302 ! 

303 IF E<540 AND M>49.99 THE 
N 389 ELSE 304 



304 IF E<600 AND M>60 THEN 3 
89 ELSE 305 

305 IF E<680 AND M>70 THEN 3 

89 ELSE 306 

306 IF E<760 AND M>80 THEN 3 

89 ELSE 307 

307 IF E<860 AND M>90 THEN 3 
89 ELSE 308 

308 IF E<960 AND M>100 THEN 
389 ELSE 309 

309 IF E<1100 AND M>120 THEN 
389 ELSE 310 

310 IF EC1240 AND M>140 THEN 
389 ELSE 311 

311 IF E<1340 AND M>160 THEN 
389 ELSE 312 

312 IF EC1460 AND M>180 THEN 
389 ELSE 313 

313 IF E<1560 AND M>200 THEN 
389 ELSE 314 

314 IF E<1660 AND M>220 THEN 

389 ELSE 315 

315 IF E<1740 AND N>240 THEN 

389 ELSE 316 

316 IF E<1820 AND M>260 THEN 

389 ELSE 317 

317 IF E<1880 AND M>280 THEN 

389 ELSE 318 

318 IF E<1960 AND M>300 THEN 

389 ELSE 319 

319 IF E< 2020 AND M>320 THEN 
389 ELSE 320 

320 IF E<2080 AND M>340 THEN 
389 ELSE 321 

321 IF E<2120 AND M>360 THEN 
389 ELSE 322 

322 IF E<2180 AND M>380 THEN 
389 ELSE 323 

323 IF E<2240 AND M>400 THEN 

389 ELSE 324 

324 IF E<2280 AND M>420 THEN 

389 ELSE 325 

325 IF E<2320 AND M>440 THEN 
389 ELSE 326 

326 IF E<2360 AND M>460 THEN 
389 ELSE 327 

327 IF E<2400 AND M>480 THEN 
389 ELSE 328 

328 IF E<2440 AND M>500 THEN 
389 ELSE 329 

329 IF E<2480 AND M>520 THEN 

OftQ pi CC OO0f 

330 IF E<2520 AND M>540 THEN 
389 ELSE 331 

331 IF E<2540 AND M>560 THEN 
389 ELSE 332 

332 IF E<2580 AND M>580 THEN 
389 ELSE 333 

333 IF E< 2620 AND M>600 THEN 
389 ELSE 334 

334 IF E< 2640 AND N>620 THEN 
389 ELSE 335 

335 IF E<2660 AND M>640 THEN W 


70 




389 ELSE 336 
336 IF E<2700 

AND 

M >660 

THEN 

389 ELSE 337 
337 IF E<2720 

AND 

M>680 

THEN 

389 ELSE 338 

338 IF E<2740 

AND 

M>700 

THEN 

389 ELSE 339 
339 IF E<2780 

AND 

M >720 

THEN 

389 ELSE 398 
340 STOP 





341 ! 

342 ! 

343 ! Fuen-f personenhaushal t 

344 ! 

345 ! 

346 IF E< 560 AND M>49.99 THE 
N 389 ELSE 347 

347 IF E<640 AND M>60 THEN 3 
89 ELSE 348 

348 IF E<720 AND M>70 THEN 3 
89 ELSE 349 

349 IF E<820 AND M>80 THEN 3 

89 ELSE 350 

350 IF E< 920 AND M>90 THEN 3 

89 ELSE 351 

351 IF E<1040 AND M>100 THEN 
389 ELSE 352 

352 IF E<1200 AND M>120 THEN 
389 ELSE 353 

353 IF E<1340 AND M>140 THEN 

389 ELSE 354 

354 IF E<1460 AND M>160 THEN 
389 ELSE 355 

355 IF E<1580 AND N>180 THEN 
389 ELSE 356 

356 IF EC1680 AND M>200 THEN 

389 ELSE 357 

357 IF EC1780 AND M>220 THEN 

389 ELSE 358 

358 IF E<1860 AND M>240 THEN 

369 ELSE 359 

359 IF E<1960 AND M>260 THEN 
369 ELSE 360 

360 IF E<2020 AND M>280 THEN 
339 ELSE 361 

361 IF E<2100 AND M>300 THEN 
339 ELSE 362 

362 IF E<2180 AND M>320 THEN 
309 ELSE 363 

363 IF E<2240 AND M>340 THEN 
309 ELSE 364 

364 IF E<2300 AND M>360 THEN 
3S9 ELSE 365 

365 IF E<2360 AND M>380 THEN 
389 ELSE 366 

366 IF E<2420 AND M>400 THEN 
389 ELSE 367 

367 IF E<2460 AND M>420 THEN 
389 ELSE 368 

368 IF E<2520 AND M>440 THEN 
389 ELSE 369 

369 IF E<2560 AND M>460 THEN 
389 ELSE 370 


L 

I 

S 

T 

I 

N 

G 

S 


370 IF E<2620 
389 ELSE 371 

AND 

M >480 

THEN 

371 IF E<2660 

389 ELSE 372 

AND 

M > 500 

THEN 

372 IF E<2700 
389 ELSE 373 

AND 

M >520 

THEN 

373 IF E<2740 
389 ELSE 374 

AND 

M >540 

THEN 

374 IF E<2780 
389 ELSE 375 

AND 

M >560 

THEN 

375 IF E<2800 
389 ELSE 376 

AND 

M >580 

THEN 

376 IF E<2840 
389 ELSE 377 

AND 

M >600 

THEN 

377 IF E<2880 
389 ELSE 378 

AND 

M >620 

THEN 

378 IF E<2920 
389 ELSE 379 

AND 

M >640 

THEN 

379 IF E<2940 
389 ELSE 380 

AND 

M >660 

THEN 

380 IF E< 2980 
389 ELSE 381 

AND 

M >680 

THEN 

381 IF E< 3000 
389 ELSE 382 

AND 

M >700 

THEN 

382 IF E<3040 
389 ELSE 383 

AND 

M >720 

THEN 

383 IF E<3060 

389 ELSE 384 

AND 

M >740 

THEN 

384 IF E<3080 

389 ELSE 385 

AND 

M >760 

THEN 

385 IF E< 3120 
389 ELSE 386 

AND 

M >780 

THEN 

386 IF E<3140 
389 ELSE 387 

AND 

M >800 

THEN 

387 IF E< 3160 
389 ELSE 398 

388 STOP 

AND 

M >820 

THEN 

389 CALL CLEAR :: 
N (10) 

CALL SCREE 


390 DISPLAY AT(3,1):"Sie H A 
BEN Anspruch au-f die Gew 

aehrung von Wohngeld." 

391 DISPLAY AT(10,1):"Fam.-E 
inkommen: " \ INT <E> f "DM" 

392 DISPLAY AT<12,1):"anrech 
enb. Miete: -1 INT<M>f"DM" 

393 FOR 0=1 TO 28 :: DISPLAY 
AT<6,0):"*" :: CALL SOUND(7 

5,0*110,0):: NEXT 0 

394 DISPLAY AT(20,1):"Falls 
Sie eine neue Berech- nung w 
uenschen, bitte eine belieb 
ige Taste druecken...." 

395 CALL KEY(0,K,S):: IF S=0 
THEN 395 

396 IF K THEN 65 

397 END 

398 CALL CLEAR :: CALL SCREE 
N (10) 

399 DISPLAY AT(3,1):"K EIN 

Wohngeldanspruch - 

ii 

400 DISPLAY AT(10,1):"Fam.-E 


74 






LISTING 

inkommen: "1INT(E)f"DM" 

402 FOR Q=1 TO 28 :: DISPLAY 

401 DISPLAY AT<12,1):"anrech 

AT(6,Q);"*" :: CALL SOUND<7 

enb. Miete: " J INT <M)|"DM" 

5,0*110,0):: NEXT Q 


403 GOTO 394 


KREUZ¬ 

WORT¬ 

RÄTSEL. 


Ziel dieses Spiels ist es, quadratische Kreuzworträt¬ 
sel zu erstellen. Dazu werden 8 Worte mit einer 
Länge von jeweils 4 Buchstaben in ein quadrati¬ 
sches Feld geschrieben. Jeder der diese Aufgabe zu 
lösen versucht, wird feststellen, daß dies nicht ganz 
einfach ist. Dabei sollte jeder auf seinen eigenen 
Wortschatz zurückgreifen. Da es oft genug vor¬ 
kommt, daß einem selber kein passendes Wort ein¬ 
fällt, kann man den Computer befragen. Dieser ver¬ 
fügt über 1200 Worte, die absichtlich programm- 
intern abgespeichert sind, damit ein umständliches 
Einlesen vom Cassettenrecorder entfällt. 

Zum Suchen wird ein Suchausdruck von 2 Buch¬ 
staben eingegeben, woraufhin der Computer alle 
ihm bekannten Worte, welche die zwei Buchstaben 
an entsprechender Position enthalten, anzeigt. 

Aus diesem Wortvorrat können Sie nun, durch ge¬ 
schickte Auswahl, Ihr Kreuzworträtsel vervollstän¬ 
digen, bis Sie ein komplettes Wort-Quadrat be¬ 
sitzen. 

Bedienungsanleitung 

Da im Programm auf jede Kommentierung aus Platz¬ 
gründen verzichtet werden mußte, hier nun die 
Anleitung. 


Bildschirm: 


KREUZWORT 
5 6 7 8 



SU SWORT P 


mn rrrn □ 


STAB 

KADI 

STAR 

KAFF 

STAU 

KAHL 

STEP 

KAHN 


KAKI 

SODA 

KALB 

SOFA 

KALI 

SOHN 

KALK 

SOJA 

KALT 

SOLD 

KAMM 

SOLE 

KAMP 

SOLL 

KANU 

SOLO 

KARL 

SONG 

KARO 

SOZI 

KAUB 


KAUF 

CLAN 

KAUZ 

CLIP 


CLOU 



Beispiel: 

Mit Auswahl der Worte STAR, SONG, KARG 
CLAN ist man am Ziel. 

WORT PLATZ 

1) Eingabe Wort: WERT ENT 1 ENT 

(4B) (1-8) 

Wort wird in das Kreuzwortschema eingetragen. 

WORT STELLE 

2) Eingabe Suchausdruck: KA ENT 1 ENT 

(2B) (1—3) 

Gesuchte Wörter werden auf dem Bildschirm 
angezeigt. 


WORT 

3) Zeile löschen: L 

Angegebene Zeile wird gelöscht. 

WORT 

4) Feld löschen: L 

Alle Wörter werden gelöscht. 


PLATZ 

ENT 3 ENT 
PLATZ 

ENTA ENT 


Beispiele: 


HEFE 

UFER 

PELZ 

EULE 


OFEN 

VERA 

ATOM 

LESE 


EDER 

LIDO 

LEIS 

ESTE 


LESE 
IGEL 
REAL 
A L T JE 


Bedienungshinweise: 

Die Taste Alpha-Lock muß eingerastet sein, da das 
Programm nur Großbuchstaben erkennt. Bei Einga¬ 
be eines Suchausdrucks wird für Stelle eine Ziffer 
zwischen 1 und 3 eingegeben. Dies entspricht den 
Positionen vorne, Mitte, hinten. Die Zeiten,die der 
Computer zum Suchen benötigt, sind, wenn man 
den Anfangsbuchstaben mit eingibt, recht kurz. 
Ohne Anfangsbuchstaben ist er gezwungen alle . 
Worte abzusuchen, so daß es schon eine Weile 
dauert. Bedenkt man, daß,wenn man selber suchen 
wollte, man z.B. den gesamten Duden nach Worten 
durchforsten müßte, so nimmt man diese Warte¬ 
zeit gerne in Kauf. 

Die Zeiten betragen für Suchen mit Anfangsbuch¬ 
staben ca. 15 s und ohne ca. 2 min. Im Normalfall 
kommt man mit der schnellen Suchfunktion aus. 
Dennoch ist für spezielle Fälle die lange Suchfunk¬ 
tion von großem Vorteil. 

Es sei noch daraufhingewiesen, daß das Programm 
die Speicherkapazität bis auf 185 Byte voll in An¬ 
spruch nimmt. Eine Verwendung dieses Restes, sei 
es für Kommentare oder Ergänzungen, ist nicht zu 
empfehlen, da dies die Suchgeschwindigkeit erheb¬ 
lich reduzieren würde. 


75 





10 

i 

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

11 

; 

* 


* 

12 

1 

* 

MAGISCHES 

* 

13 

j 

* 

KREUZWORTRAETSEL 

* 

14 

< 

* 

Copyright by 

* 

15 

i 

* 


* 

16 

i 

* 

Harald Bertsch 

* 

17 

! 

* 


* 

18 

i 

* 


* 

19 

i 

* 

Benoetigte Geraete 

* 

20 

i 

* 

TI99/4A Konsole 

* 

21 

i 

* 

Ext. Basic 

* 

22 

; 

* 


* 

26 

i 

* 

Speicherbe 1egunq 

* 

27 

i 

* 

11670 Bytes 

* 

28 

i 

* 


* 

29 

30 

i 

i 

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


180 CALL CLEAR 
190 DIN F$(4,4) 

200 ON WARNING NEXT 

m L im G wv 2) 

230 CALL COLOR(1,8,8) 

240 CALL COLOR<1+6,8,8) 

250 NEXT I 

260 CALL CHAR(96,"1010101010 
101010000000FFFF000000101010 
FFFF101010101010FFFF") 

270 CALL CHAR(100,"1010101F1 
F101010000000FFFF10101010101 
0F0F01010100000001F1F10101") 
280 CALL CHAR(104,"000000F0F 
0101010101010F0F000000010101 
01F1F000000000000000000000#" 

) 

290 CALL CHAR(128,"FFFFFFFFF 

FFFFFFF3F3F3F3F3F3F3F3FFCFCF 
CFCFCFCFCFC00FF") 

300 DISPLAY AT(1,6)SIZE(17): 
"KREUZWORT" 

310 FOR K=6 TO 18 :: CALL HC 
•HAR(K,9,107,7)I: NEXT K 
320 FOR K=6 TO 18 STEP 3 :: 
CALL HCHAR <K,9,97,7)I: NEXT 
K 

•330 FOR K=8 TO 16 STEP 2 :: 
CALL VCHAR <7,K, 96, 11)I! NEXT 
K 

340 CALL HCHAR(6,8,103) 

350 CALL HCHAR(6,16,104) 

360 CALL HCHAR(18,8,106) 

370 CALL HCHAR(18,16,105) 

380 FOR K=0 TO 2 
390 CALL HCHAR(6,10+2*K,101) 
400 CALL HCHAR(9,10+2*K,98) 
410 CALL HCHAR <12,10+2*K,98) 
420 CALL HCHAR<15,10+2*K,98) 
430 CALL HCHAR(18,10+2*K,99) 
440 NEXT K 

450 FOR K=9 TO 15 STEP 3 
460 CALL VCHAR(K,8,100) 

470 CALL VCHAR(K,16,102) 

480 NEXT K 


L 

I 

S 

T 

I 

N 

G 

S 


490 CALL HCHAR(5,7,128,11) 

500 CALL HCHAR(19,7,128,11) 
510 CALL VCHAR<5,7,129,15) 

520 CALL VCHAR<5,17,130,15) 
530 FOR K=0 TO 3 
540 CALL HCHAR(3,K*2 + 9,53+K) 
550 CALL VCHAR(7+K*3,5,49+K) 
560 NEXT K 

570 DISPLAY AT(21,5)SIZE<18) 
:"SU S WORT P 

580 CALL HCHAR<24,7,131,2) 

590 CALL HCHAR(24,10,131) 

600 CALL HCHAR(24,12,131,4) 
610 CALL HCHAR(24,17,131) 

620 FOR 1=3 TO 4 
630 CALL COLOR(1,2,8) 

640 CALL COLOR(1+6,2,16) 

650 NEXT I 
660 FOR Z=1 TO 4 
670 FOR S=i TO 4 
680 F$(Z,S)=" " 

690 NEXT S :: NEXT Z 

700 CALL ANZ<NW$,PL,F$<,)) 

710 CALL EIN <NW$,PL,S$,L,PO) 

720 IF L=0 THEN 710 

730 IF L=2 THEN 770 

740 IF PL=0 THEN 660 

750 CALL ANZ<NW$,PL,F$(,)) 

760 IF L=4 OR L=1 THEN 710 

770 CALL SUCH<S$,PO) 

780 GOTO 710 
790 END 

800 DATA ABBA,ABEL,ABER,ACHT 
,ACRE,ADAM,ADEN,ADEL,AEON,AE 
RA,AFFE,AGIL,AHLE,AHNE,AIDA, 
AIDS,AJAX,AKKU,AKNE,AKTE 
810 DATA AKUT,ALEX,ALFA,ALGE 
,ALMA,ALPE,ALSO,ALTE,AMEN,AM 
ME,AMOK,AMOR,AMUR,ANAL,ANIS, 
ANNA,ANNI,ANNO,ANTI,ANUS 
820 DATA APER,APEX,AQUA,ARAL 
,ARES,ARGE,ARME,ARNO,ASTI, AS 
YL, ATEM,ATOM,AUCH,AULA,AURA, 
AUTO,AVIS,AVUS,AXEL,AZID 
830 DATA BAAL,BAAR,BAAS,BABY 
,BACH,BACK,BAER,BAFF,BAHN,BA 
KE,BAKU,BALD,BALG,BALI,BALL, 
BALZ,BAND,BANI,BANK,BANN 
840 DATA BARI,BARK,BART,BASE 
,BAST r BAUM,BAUZ,BEAT,BEET,BE 
IL,BEIM,BEIN,BENE,BENN,BERG, 
BERN,BETA,BETT,BIER,BILD 
850 DATA BILL,BISS,BLAU,BLEI 
,BLUT,BOCK,BODO,BOJE,BOLZ,BO 
ND,BONN,BOOM,BOOT,BORA,BORD, 
BOES,BOSS,BOTE,BRAV,BREI 
860 DATA BROM,BROT,BRUT,BUCH 
,BUDE,BUND,BUNT,BURE,BURG,BU 
TT 

870 DATA CAFE,CAMP,CAPE,CENT 
,CHEF,CHIC,CHUR,CHOC,CHOR,CI 
TY,CLAN,CLIP,CLOU,CODE,COLA, 
COLT,COOL,CORD,COUR,COUP 


76 





880 DATA CREW,CRUX,CUBA,CURE 
, CYAN 

890 DATA DACH,DANK,DANN,DAME 
,DARK,DARM,DASS,DATO,DAZU,DE 
CK,DEIN,DEKA,DEPP,DERB,DEUT, 
DEZI,DIAS,DICK,DIEB,DIES 
900 DATA DILL,DING,DIRK,DITO 
,DIVA,DOCH,DOCK,DOGE,DOLE,DO 
LL,DOOF,DORA,DORF,DORN,DORT, 
DOWN,DREH,DREI,DRUM,DUAL 
910 DATA DUFT,DUMM,DUNE,DUNG 
, DUST 

920 DATA EARL,EBBE,EBEN,EBER 
,EBRO,ECHO,ECHT,ECKE,EDAM,ED 
DA,EDEL,EDEN,EDLE,EGAL,EGEL, 
EGER,EGGE,EGON,EHER,EIBE 
930 DATA EINE,EIRE,EISS,EKEL 
,ELAN,ELBA,ELBE,ELKE,ELCH,EL 
FE,ELFT,ELLE,ELLI,ELSE,EMIL, 
EMIR,ENDE,ENTE,EPIK,ERBE 
940 DATA ERGO,ERIS,ERLE,ERNA 
,EROS,ESEL,ESPE,ESRA,ESSE,ES 
SO,ESTE,ETAT,ETUI,ETWA,EUCH, 
EUER,EULE,EURE,EXIL,EXOT 
950 DATA FACE,FACH,FADE,FAHL 
,FAIR,FAIT,FAKT,FALL,FALZ,FA 
NG,FARM,FARN,FARO,FASE,FASS, 
FAST,FATA,FAUL,FAUN,FAXE,FEG 
E 

960 DATA FEHL,FEIG,FEIN,FEIL 
,FELD,FELL,FELS,FEME,FENN,FE 
RN,FEST,FETE,FETT,FEWA,FIAT, 
FIFA,FILM,FILZ,FINA,FINK,FIP 

S, FIRN 

970 DATA FLAK,FLIP,FLIT,FLOH 
,FLOR,FLUG,FLUR,FLUT,FOEN,FO 
ND,FORM,FORT,FOTO,FOUL,FRAU, 
FREI,FROH,FRON,FUGE,FUND,FUN 
K,FURZ 

980 DATA GAEA,GABE,GABI,GAGE 
,GALA,GANG,GANS,GANZ,GARE,GA 
RN,GAST,GATE,GATT,GAUL,GAZE, 
GEHE,GEHL,GEIL,GEIZ,GELB,GEL 
D 

990 DATA GELL,GEMA,GEMS,GENE 
,GENF,GENT,GERD,GERN, GEST, GI 
ER,GIFT,GIGA,GIPS,GIRL,GIRO, 
GLAS,GOAL,GOBI,GODE,GOER,GOL 

D, GOLF 

1000 DATA GONG,GOSE,GOTE,GOT 

T, GOYA,GRAB,GRAD,GRAF,GRAL,G 
RAM,GRAN,GRAS,GRAU,GRAZ,GRIT 
,GROB,GROG,GUPF,GURT,GURU,GU 
SS,GUTE 

1010 DATA HAAR,HABE,HACK,HAF 
F,HAFT,HAHN,HAIN,HALB,HALL,H 
ALO,HALS,HALT,HAND,HANF,HANG 
,HANS,HARM,HARN,HART,HARZ,HA 
SE 

1020 DATA HASS,HAST,HATZ,HAU 

E, HAUS,HAUT,HAXE,HECK,HEER,H 
EFE,HEFT,HEGE,HEHL,HEIL,HEIM 
,HEIN,HELD,HELL,HELM,HEMD 


L 

I 

S 

T 

I 

N 

G 

S 


1030 DATA HERA,HERB,HERD,HER 

O, HERR,HERZ,HEXA,HIEB,HIER,H 
INZ,HIOB,HIRN,HIRT,HOCH,HODE 
,HOFE,HOHE,HOHL,HOHN,HOLD 
1040 DATA HOLM,HOLZ,HOMO,HOP 

P, HORA,HORN,HUCH,HUFE,HUGO, H 
UHN,HULD,HUND,HUNT,HUPE,HUPF 
, HURE 

1050 DATA IBIS,IDOL,IDUN,IGE 
L,IGLU,ILEX,ILSE,IMAN,IMME,I 
MUN,INCH,INGO,INKA,IOTA,IOWA 
,IRAK,IRAN,IRIS,ISAR,ISER,IT 
EM,IWAN 

1060 DATA JACK,JADE,JAGD,JAH 
N,JAHR,JANE,JAVA,JAZZ,JEAN,J 
EEP,JEFF,JENS,JOCH,JOGA,JOGI 
,JOHN,JUDE,JUDO,JULI,JUNG 
1070 DATA JUNI,JUNO,JURA,JUR 
Y,JUST,JUTE 

1080 DATA KADI,KAFF,KAHL,KAH 
N,KAKI,KALB,KALI,KALK,KALT,K 
AMM,KAMP,KANU,KARL,KARO,KAUB 
,KAUF,KAUZ,KECK,KEES,KEHL 
1090 DATA KEIF,KEIL,KEIM,KEI 
N,KEKS,KERL,KERN,KESS,KICK,K 
IDS,KIEL,KI EN,KIES,KIEW,KILO 
,KIND,KINN,KINO,KITT,KITZ 
1100 DATA KIWI,KLAN,KLAR,KLE 
E,KLUB,KLUG,KNIE,KOCH,KODE,K 
OHL,KOKS,KOLA,KOMA,KORB,KORD 
,KORK,KORN,KOST,KRAD,KRAM 
1110 DATA KRAN,KRIM,KRUG,KUB 
A,KUFE,KULE,KULI,KULT,KURS,K 
URT,KURZ,KUSS 

1120 DATA LACK,LADY,LAGE,LAH 
N, LAHR,LAIB,LAIE,LAKE,LAMA,L 
AMM,LAND,LANG,LAOS,LAST,LATZ 
,LAUB,LAUF,LAUS,LAUT,LAVA 
1130 DATA LEER,LECK,LEIB,LEI 

D, LEIM,LENA,LENZ,LESE,LIAS,L 
IDO,LIEB,LIED,LIES,LIFT,LIGA 
,LILA,LIMA,LINK,LINZ,LIRA 
1140 DATA LIRE,LIST,LOCH,LOG 

E, LOHN,LOLA,LORD,LORE,LOSE,L 
OVE,LUFT,LULU,LUMP,LUNA,LUPE 
,LUST,LUTZ,LYRA 

1150 DATA MAAR,MAAS,MAAT,MAE 
H,MADE,MAGD,MAHL,MAHR,MAID,M 
AIN,MAIS,MALZ,MAMA,MANN,MARK 
,MARS,MARX,MARY,MASS,MAST 
1160 DATA MATT,MAUL,MAUS,MAU 
T,MAYA,MEER,MEGA,MEHL,MEHR,M 

EIN,METT,MIAU,MICH,MIEF,MIES 
,MILD,MILZ,MIME,MINE,MISS 
1170 DATA MODE,MOFA,MOHN,MOH 
R, MOLE,MOLL,MOND,MONO,MOOR,M 
OOS,MOPS,MORD,MOST,MUEH,MUFF 
,MULL,MUMM,MUND,MUSE,MUSS 
1180 DATA NABE,NACH,NAHE,NAI 
V,NAME,NANO,NANU,NAPF,NARR,N 
ASE,NASS,NATO,NAZI,NEID,NEIN 
,NERV,NERZ,NEST,NETT,NETZ 
1190 DATA NEUE,NEUN,NIET,NIN MP 


77 




A,NOAH,NOCH,NONE,NORD,NORM,N 
OTE,NOVA,NULL,NUSS,NUTZ 
1200 DATA OBEN,OBER,0BI6,0B0 
E,OBST,OCHS,ODAL,ODEM,ODER,0 
ERE,OESE,OHIO,OHNE,OKAY,OKER 
,OLAF,OLGA,OLIM,OLIV,OMAR 
1210 DATA OMEN,ONAN,ONYX,OPA 
K,OPAL,OPEL,OPER,OPUS,ORAL,0 
RFE,OSLO,OVAL,OXER,OXYD,OXID 
, OZON 

1220 DATA PAAR,PACK,PAFF,PAG 
E,PAIR,PAKT,PAPA,PARA,PARD,P 
ARK,PART,PASS,PATE,PAUL,PECH 
,PEIN,PELZ,PEPI,PERI,PERL 
1230 DATA PERM,PERU,PESO,PES 
T,PFAD,PFAU,PHON,PIEP,PIKE,P 
INK,PIPE,PISS,PLAN,PNEU,POCH 
,POEM,POET,POLE,POLO,POMP 
1240 DATA POND,PONY,POOL,POP 
E,POPO,PORE,PORT,POSE,POST,P 
OTT,PRAG,PUCK,PUFF,PULK,PULT 
,PUMA,PUMP,PUTZ 
1250 DATA QUAI,QUAK,QUAL,QUA 

S, QUJE,QUER,QUIT,QUIZ 

1260 DATA RAAB,RADE,RADI,RAF 

T, RAGE,RAHE,RAHM,RAIN,RALF,R 
AND,RANG,RANK,RAPS,RATE,RATZ 
,RAUB,RAUH,RAUM,RAUS,REAL, RE 
BE,RECK 

1270 DATA REDE,REGE,REIF,REI 
M,REIN,REIS,REIZ,RENE,REUE,R 

IAL, RIAS,RIED,RIFF,RI GA,RIGl 
,RIND,RING,RISS,RITA,RITE 
1280 DATA RITZ,ROBE,ROCK,ROH 
R,ROOF,ROSL,ROSS,ROST,ROTZ,R 
OUT, RUCH, RUCK,RUDI,RUFE,RUHM 
, RUHR, RUIN,RUND,RUNE,RUSS,RU 
TE,RUTH 

1290 DATA SAAL,SAAR,SAAT,SAB 
A,SACK,SAFE,SAFT,SAGA,SALZ,S 
AME,SAMT,SAND,SANG,SARA,SASS 
,SATT,SATZ,SAUF,SAUM,SCHI 
1300 DATA SEIL,SEIN,SEIT, SEK 
T,SEMI,SENF,SENN,SHAG,SHOW, S 

IAM, SICH,SIEB,SIEG,SIEH,SIEL 
• ,SIKH,SILK,SILO,SIMS,SING 

1310 DATA SINN,SIRE,SITZ,SKA 
T,SLIP,SLUM,SMOG,SNOB,SODA,S 
OFA,SOHN,SOJA,SOLD,SOLE,SOLL 
,SOLO,SONG,SOZI,SPAN,SPAR 
1320, DATA SPAT,SPOR,SPUK,SPU 
R, STAB,STAR,STAU,STEP,STIL,S 
TOP,STUR,SUED,SUEZ,SUFF,SUND 
, SYLT 

1330 DATA TABU,TAKT,TALG,TAN 
D,TANG,TANK,TANZ,TARA,TAUB,T 
AXE,TAXI,TEAM,TEEN,TEER,TEIG 
,TEIL,TEIN,TELE,TERM,TERZ 
1340 DATA TEST,TETE,TEXT,THE 
A,THEO,TICK,TIEF,TIER,TILL,T 
ODE,TOGO,TOLL,TONI,TOPF,TOPP 
,TORF,TORR,TOTE,TOTO,TOUR 
1350 DATA TRAB,TRAM,TRAN,TRI 


L 

I 

S 

T 

I 

N 

G 

S 


P,TRUG,TUBA,TUBE,TUCH,TUFF,T 
UPF,TUER,TURN,TWEN,TYPE 
1360 DATA UFER,UKAS,ULAN,ULL 
A,ULME,UNKE,UNZE,URAL,URAN,U 
RAT,URBE,URFT,URIG,URIN,URNE 
, UTAH 

1370 DATA VALE, VAMP, VASjE,VAT 
I,VELO,VENE,VENN,VERA,VERB,V 
ERS,VETO,VIEL,VIER,VISA,VIZE 
,VOGT,VOLK,VOLL,VOLT,VOTA 
1380 DATA WAAL,WABE,WACH,WAD 
E, WADI, WAHL,WAHN,WAHR,WALD,W 
ALL,WAMS,WAND,WARE,WARM,WART 
,WASA,WATT,WECK,WEGA,WEHE 
1390 DATA WEHR,WEIB,WEIL,WEI 
N,WEIT,WELK,WELS,WELT,WENN,W 
ERK,WERT,WEST,WIEN,WILD,WIND 
,WINK,WIRR,WIRT,WITZ 
1400 DATA WOHL,WOLF,WORT,WUN 
D,WUNE,WURF,WURM,WURZ,WUST 
1410 DATA XERO,XMAL,XRAY,YBB 
S,YSOP,YARD,YAWL,YEAR,YETI ,Y 
UAN 

1420 DATA ZACK,ZAEH,ZAHL,ZAH 
M,ZAHN,ZANK,ZAPF,ZART,ZAUM,Z 
AUN,ZECK,ZEHN,ZEIT,ZELT,ZERO 
,ZETA,ZEUG,ZEUS,ZIEL,ZIER 
1430 DATA ZIMT,ZINK,ZINN,ZIN 
S,ZION,ZIPF,ZOLA,ZOLL,ZOPF,Z 
ORN,ZOTE,ZUCK,ZULU,ZWAR,ZWEI 
, ZYAN 

1440 SUB ANZ(NW$,PL,F$(,)) 
1450 IF NW$="L" THEN NW$=" 

ii 

1460 IF PL >0 AND PL<5 THEN 1 
480 

1470 IF PL>4 AND PL<9 THEN 1 
490 ELSE 1500 

1480 z=PL :: for s-i TO 4 :: 

F*(Z,S)«SEG*(NW*,S,1):: NEX 
T S :! GOTO 1500 
1490 S=PL-4 :: FOR Z=1 TO 4 

:: f*<z,S)«seg*<nw$,z, l):: N 
EXT Z 

1500 FOR Z=0 TO 3 :: FOR S=i 

TO 4 

1510 CALL SPRITE<#S+Z#4,ASC< 
F*(Z+1,S)),2,48+24*Z,45+16*S 
) 

1520 NEXT S :: NEXT Z 
1530 SUBEND 

1540 SUB EIN <NW$,PL,S$,L,PO) 
1550 ACCEPT AT(23,10)SIZE <4) 
VALIDATE<UALPHA,"L"):NW$ 

1560 L=LEN(NW*> 

1570 IF NW$= " L" THEN 1610 
1580 IF L=0 THEN 1700 
1590 IF L=2 THEN 1650 
1600 IF L< >4 THEN 1550 
1610 ACCEPT AT(23,15)SIZE(1) 
VALIDATE(DIGIT,"A" ):PL$ 

1620 IF PL$="A" THEN PL=0 :: 
GOTO 1700 


78 








1630 PL=VAL(PL$) 

1640 IF PL=0 OR PL=9 THEN 16 
10 ELSE 1700 
1650 S*=NW$ 

1660 DISPLAY AT(23,5)SIZE(3) 

:s* 

1670 DISPLAY AT(23,10)SIZE(3 
):" M 

1680 ACCEPT AT(23,8)SIZE(1)V 

ALIDATE(DIGIT):PO 

1690 IF PO=0 OR PO>3 THEN 16 

80 

1700 SUBEND 

1710 SUB SUCH <S$,PO) 

1720 DIM W$<130> 

1730 IF P0>1 THEN 1770. 

1740 Y=ASC(S$)-64 . 

1750 IF Y>20 THEN 1870 
1760 ON Y GOTO 1790,1790,180 
0,1800,1800,1810,1810,1820, 1 
820,1820,1830,1830,1840,1840 
,1840,1850,1850,1850,1860,18 
60 

1770 FOR K=1 TO 9 

1780 ON K GOTO 1790,1800,181 

0,1820,1830,1840,1850,1860,1 

870 

1790 RESTORE 800 :: GOTO 188 
0 

1800 RESTORE 870 :: GOTO 188 
0 

1810 RESTORE 950 :: GOTO 188 
0 

1820 RESTORE 1010 :: GOTO 18 
80 ♦ 

1830 RESTORE 1080 :: GOTO 18 

80 

1840 RESTORE 1150 :: GOTO 18 
80 

1850 RESTORE 1220 :: GOTO 18 
80 

1860 RESTORE 1290 :: GOTO 18 
80 

1870 RESTORE 1360 :: GOTO 18 
80 

1880 FOR 1=1 TO 130 :: READ 
W$ < I) 

1890 IF S$=SEG$<W$<I),P0,2)T 
HEN Jl-Jl+1 :: IF J1<25 THEN 
DISPLAY AT(J1,20)SIZE(5):W$ 
<I)ELSE DISPLAY AT<Jl-24,25) 
SIZE(5):W*(I) 

1900 IF J1=48 THEN J1=0 
1910 NEXT I 

1920 IF PO=l THEN 1940 
1930 NEXT K 
1940 J1=J1+1 

1950 IF J1<25 THEN CALL HCHA 
R(J1,21,31,5)ELSE CALL HCHAR 
< J1-24,26,31,5) 

1960 SUBEND 


COMPUTER-TITEL 
AUS DEM VERLAG 


Schneider, 


^chjgw^gfik 

nach dem CPC 6128 kommt der! 
Schneider J0YCEPCW825d 

Ba sic Erweiterung ] 

I Super Utilities j 
13-P Voice Chess j 
j CPC -Speichererweiterung | 














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

11 REM* * 

12 REM* FUENFZEHNERSPIEL * 

13 REM* Copyright by * 

14 REM* Burkhardt Knedel * 

13 REM* * 

17 REM*Benoetigte Geraete* 

10 REM* TI99/4A Konsole * 

19 REM* Joystick (1) * 

20 REM* * 

23 REM* Speicherbelegung * 

24 REM* 2778 Bytes * 

23 REM******************** 

26 REM 

100 CALL CLEAR 
110 CALL SCREEN(12) 

120 CALL COLOR(13,5,5) 

130 RANDOMIZE 
140 CALL CHAR(128,"FFFFFFFFF 
FFFFFFF" > 

130 V$="VERSUCH:" 

160 S$="FUENFZEHNERSPIEL" 

170 PRINT s$: : : : : "SIE mu 
ESSEN 15 ZAHLEN ORDNEN": I : 

180 PRINT "BEWEGEN SIE DAS L 
EERFELD"! S"ENTSPRECHEND DER 
ZAHLEN MIT": I"DER FERNBEDI 
ENUNG!"::::: 

190 PRINT "DRUECKEN SIE DEN 
ROTEN KNOPF" 

200 CALL KEY(1,X,S) 

210 IF X< >18 THEN 200 
220 CALL VCHAR(1,1,32,768) 

230 FOR 1 = 1 TO LEN < S$) 

240 CALL SOUND<-30,110,1) 

250 CALL HCHAR <1,8 + 1,ASC(SEG 
*(S«,X,1))) 

260 NEXT I 

270 FOR 1=3 TO 19 STEP 4 
280 CALL SOUND(-30,-6,1) 

290 CALL HCHAR<1,9,128,17) 
300 NEXT I 

310 FOR 1=9 TO 25 STEP 4 
320 CALL SOUND<-30,-6,1) 

■330 CALL VCHAR<3,I,128,17) 
340 NEXT I 
330 DIM R(19,25) . 

360 FOR Z=5 TO 17 STEP 4 
370 FOR S=il TO 23 STEP 4 
300 CALL SOUND<-30,-3,1) 

390 A=A+1 

400 IF A<16 THEN 420 
410 A=0 
420 R < Z,S)=A 
430 A$=STR*<A) 

440 FOR J = i TO LEN < A$) 

430 CALL HCHAR < Z,S-1+J,ASC < S 
EG*<A*,J,1))) 

460 NEXT J 
470 NEXT S 
480 NEXT Z 

490 0$="S0 SOLL ES AUSSEHEN! 


500 FOR 1 = 1 TO LEN < 0$) 

510 CALL HCHAR < 24,7 +1,ASC < SE 
G*<0*,I,1))) 

520 NEXT I 

530 FOR 1=1 TO 1500 

540 NEXT I 

550 CALL HCHAR<24,1,32,32) 

560 FOR J=1 TO 20 
570 Z=INT < < RND*4) +1)*4 + 1 
580 S=INT < < RND*4)+1)*4 + 7 
590 T=R < Z,S) 

600 X=INT<<RND*4)+1)*4+1 
610 Y=INT < < RND*4)+1)*4 + 7 
620 R < Z,S)=R< X,Y) 

630 R < X,Y)=T 

640 CALL HCHAR < Z,S,32,2) 

650 CALL SOUND(-30,777,1) 

660 A$=STR$(R(Z,S)) 

670 FOR 1=1 TO LEN(A$) 

680 CALL HCHAR <Z,S-l + I,ASC <S 
EG$(A*,1,1))) 

690 NEXT I 

700 CALL HCHAR <X,Y,32,2) 

710 CALL SOUND<-30,777,1) 

720 A$=STR$(R(X,Y)) 

730 FOR 1=1 TO LEN(A$) 

740 CALL HCHAR <X,Y-1 + I,ASC(S 
EG* < A*,1,1))) 

750 NEXT I 
760 NEXT J 

770 FOR Z=5 TO 17 STEP 4 
780 FOR S=ll TO 23 STEP 4 
790 IF R < Z,S)=0 THEN 820 
800 NEXT S 
810 NEXT Z 

820 CALL HCHAR(Z,S,32,2) 

830 ZZ=Z 

850 FOR 1 = 1 TO LEN < V*) 

860 CALL SOUND(-50,440,1,660 
,1> 

870 CALL HCHAR(22,10+1,ASC<S 
EG*<V$,I,1))) 

880 NEXT I 

890 CALL JOYST <1,XX,YY) 

900 IF (XX< >0) + (YY< >0)=-2 TH 
EN 890 

910 IF <XX=0) + (YY=0)=-2 THEN 
890 

920 CALL SOUND(300,110,11,44 

0,11,880,11) 

930 P=P+1 

940 IF XX=4 THEN 1050 
950 IF XX=-4 THEN 1090 
960 IF YY=-4 THEN 1010 
970 Z=Z+4 

980‘IF Z< = 17 THEN 1130 
990 Z=Z-4 
1000 GOTO 890 
1010 Z=Z-4 

1020 IF Z > = 5 THEN 1130 
1030 Z=Z+4 
1040 GOTO 890 



80 






1050 S=S-4 

1060 IF S> = 11 THEN 1130 
1070 S=S + 4 
1060 GOTO 890 
1090 S=S + 4 

1100 IF S< =23 THEN 1130 
1110 S=S-4 
1120 GOTO 890 
1130 P$=STR$(P) 

1140 FÜR 1=1 TO LEN(P$) 

1150 CALL HCHAR (22,18+1, ASC ( 
SEG*(P*,I,1))) 

1160 NEXT I 

1170 CALL HCHAR(Z,S,32,2) 
1160 A$=STR$(R <2,S) ) 

1190 FOR 1=1 TO LEN(A$) 

1200 CALL HCHAR(ZZ,SS-l+I,AS 
C(SEG$(A$,1,1))) 

1210 NEXT I 
1220 T = R(Z , S) 

1230 R(2,S)=R(22,SS) 

1240 R(22,SS)=T 
1250 FOR U=5 TO 17 STEP 4 
1260 FOR V=11 TO 23 STEP 4 
1270 W=W +1 

1260 IF W< = 15 THEN 1300 

1290 W=0 

1300 IF R(U,V)< >W THEN 1340 

1310 NEXT V 

1320 NEXT U 

1330 GOTO 1380 

1340 22=2 

1350 SS=S 

1360 W=0 

1370 GOTO 890 

1380 CALL CLEAR 

1390 PRINT "HER2LICHEN GLUEC 

kwunsch !": : : :"SiE haben e 
s mit'Mpj: : : :"versuchen g 
ESCHAFFT!": : : : : : 

1400 PRINT “AUF WIEDERSEHEN. 

II • « a 

ata 



Wer kennt sie nicht, die kleinen Geduldsspiele für 
längere Pausen oder Wartezeiten. 

Ein kleines Viereck mit Zahlen oder Bildern, die 
etwas durcheinandergeraten sind. 

Genauso durcheinandergeraten sind dem Autor die¬ 
ses Programmes seine 15 Zahlen auf dem Bildschirm. 
Mit Hilfe des Joysticks und eines Leerfeldes sollten 
Sie die fortlaufende Numerierung von oben links 
nach unten rechts eigentlich schnell wieder hinbe¬ 
kommen. 

Obwohl das Programm auch in TI-Basic läuft, rea¬ 
gieren die einzelnen Zahlenfelder sofort auf jede 
Joystickbewegung. Lange Wartezeiten, bis der Com¬ 
puter die neue Stellung berechnet hat, fallen damit 
flach. 

Sie werden hundertprozentig länger zum Überlegen 
benötigen, als der TI zum Darstellen der neuen 
Positionen. 

Unter dem Quadrat wird gleichzeitig die Anzahl der 
Versuche angezeigt. 

Einem Wettbewerb unter Freunden steht demnach 
nichts mehr im Wege. 



OMJ«30 

ösm fd 

SfBU^Ö 


VC 3 


sra«,s8 

























LISTING 



Bei Flashdance handelt es sich um ein Gedächtnis¬ 
spiel, welches an den Spieler eine ganz besondere 
Herausforderung stellt. Das Spiel zeichnet sich vor 
allem durch seine^hervorragende Grafik aus. 

Dabei werden ‘Multicolorsprites 4 und andere 
Tricks benutzt. - 

Du befindest Dich in einer Großstadt. Breakdance 
ist wieder in. Da kommt auch schon ein Herausfor¬ 
derer und will sich mit Dir messen. Du bist der 
Champ! Zeig’s ihm. 

Zunächst sieht man ein kleines Demo. Das Spiel 
wird über den Joystick gesteuert. Bei Knopfdruck 
startet dann das eigentliche Spiel. Der Herausforde¬ 
rer (links im Bild) macht Dir eine Bewegung vor, 
diese sollst Du nachmachen. Aber laß Dir nicht zu 
lange Zeit, sonst wirst Du ausgezählt. Machst Du 
die Bewegung richtig nach, geht es weiter. Jetzt 
kommt eine neue Bewegung hinzu und wieder 
bist Du an der Reihe. Maximal werden 50 Bewe¬ 
gungen vorgemacht, dann ist das Spiel zu Ende. 

Bei Überschreiten des Zeitlimits oder 
einer falschen Bewegung ist ebenfalls Schluß. 

Der Highscore wird unter dem linken Männchen 
angezeigt. 

Die Punkte errechnen sich aus verwendeter Zeit 
und Anzahl der Bewegungen. 

Steuerung: 

Knopf: Sprung nach oben 
oben: Arme hoch 

unten: Rolle 

links: Schrittstellung 

rechts: Hut ab 


Bei dem Spiel “Cyclons“ handelt es sich um ein 
Action-Spiel für zwei Personen. Benötigt werden 
das Extended-Basic-Modul und zwei Joysticks. 

Nach dem Verschwinden des Titelbildes kann man 
sich für einen von 4 Schwierigkeitsgraden entschei¬ 
den. Daraufhin wird um die Eingabe der gewünscht 
ten Anzahl von Raumschiffen gebeten (Eingabe mit 
ENTER abschließen). 

Nun beginnt das Spiel. Es erscheinen vor einem 
Sternenhintergrund zwei Raumschiffe, von denen 
das linke dem Spieler mit Joystick 1 und das rechte 
dem Spieler mit Joystick 2 gehört. Ziel des Spieles 
ist es, durch geschickte Lenkmanöver das eigene 
Raumschiff zu bewahren und das andere 'Raumschiff . 
durch einen geschickten Schuß zu zerstören. 

Geschossen werden kann durch Halten des Joysticks 
in die gewünschte Richtung und gleichzeitiges Drük- 
ken des Feuerknopfes. Hat ein Raumschiff einen 
Schuß abgegeben, wird es transparent und kann 
weder getroffen noch gerammt werden, solange 
der Schuß sichtbar ist. 

Interessant und auch erst amüsant wird das Spiel 
durch die seltsame Steuerung und die Möglichkeit, 
aus dem Bildschirm an einer Seite herauszufliegen, 
um sich hinter dem Bildrand zu verstecken oder an 
der gegenüberliegenden Seite wieder hervorzukom- 
men. ' 

Alles in allem wünsche ich viel Spaß bei diesem 

Soiel Matthias Renken 


82 




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


11 ! * * 

12 ! * FLASHDANCE * 

13 ! * * 

14 ! * Copyright by * 

15 I # Dirk Biehl # 

17 ! * * 

19 ! * Benoetigte Geraete * 

20 ! * TI99/4A Konsole * 

21 ! * Ext. Basic * 

22 ! * Joystick (1) * 

23 ! * * 

26 ! * Speicherbelegung * 

27 ! * 12014 Bytes * 

28 ! * * 


29 ! ********************** 

30 ! 

100 ! (c) 1983 by G*B*S 

110 CALL SCREEN(l):: CALL ST 
ADT :: CALL SCREEN<8):: CALL 
MAGNIFY ( 4 ) : .* DIM X(50),Y<30 
)I: CALL GRUND 
120 CALL MANN1 :: CALL DEMO 
:: FOR 1=1 TO 3 :: call färb 
130 CALL SPRITE(# 1,128,14,11 

3.30, #3,132,3,147,30,#2,136, 

12.163.30, #4,140,2,83,30):: 
FOR Q-l TO 100 :: NEXT Q 
140 ON I GOSUB 450,470,490,5 

10.560 
130 NEXT I 

160 CALL SPRITE(#1,128,14,11 

3.50, #3,132,3,147,50,#2,136, 

12.163.50, #4,140,2,83,30):: 
FOR Q»i TO 100 :: NEXT Q 
170 MERK=i :: ZAHL=10 :: CAL 
L CLEAN :: CALL DELSPRITE(AL 
L):S RANDOMIZE :: CALL HCHAR 
(19,15,32,3) 

180 FOR 1 = 1 TO 50 :: X <I)=IN 
T(RND*5)+1 :: NEXT I :: CALL 
PUNKTE(0,0) 

190 CALL SPRITE(#1,128,14,11 

5.50, #3,132,5,147,50,#2,136, 

12.163.50, #4|140,2,83,50) 

200 CALL SPRITE(#11,128,9,11 
5,150,#13,132,13,147,150,#12 
,136,10,163,150,#14,140,5,83 
, 150) 

210 CALL KEY <1,K,S):: IF S=0 
THEN 210 

220 CALL HCHAR(24,19,32,6) 
230 CALL DELSPRITE(#11,#12,# 
13,#14):! CALL MANN1 
240 DISPLAY AT(16,9)SIZE(2): 
"XY" :: for i-i to 300 :: ne 
XT I :: DISPLAY AT(16,9)SIZE 
( 2 ): “ 

230 FOR GBS=1 TO MERK :: CAL 
L FÄRB 

260 ON X(GBS)GOSUB 450,470,4 

90.510.560 

270 CALL SPRITE(#1,128,14,11 


L 

I 

S 

T 

I 

N 

G 

S 


5.50, #3,132,5,147,30,#2,136, 

12.163.50, #4,140,2,83,50):: 
FOR Q=i TO 23 :: NEXT Q 

280 NEXT GBS :: CALL CLEAN : 
: CALL DELSPRITE(#1,#2,#3,#4 
) :: CALL MANN2 

,136,10,163,130,#14,140,5,83 
, 150) 

300 DISPLAY AT<16,16): M ZC" : 
: FOR i-i to 300 :: next I : 
J DISPLAY AT(16,16) : “ " 

310 FOR DB= 1 TO MERK .*: CALL 
FÄRB :: FOR Q-l TO 25 :: NE 
XT Q 

320 FOR Q=1 TO 10 :: CALL KE 
Y <1,K,S):: CALL JOYST <1,W,S) 
:: IF ABS(W)=4 OR ABS < S)=4 0 
R K=18 THEN 330 ELSE 330 
330 NEXT Q 

340 CALL ZAEHL(ZAHL):: IF ZA 
HL<1 THEN 790 ELSE GOTO 320 
350 CALL SOUND(50,110,0):: I 
F K® 18 THEN Y(DB)-4 
360 IF W=-4 THEN Y(DB)=3 
370 IF W=4 THEN Y(DB)=2 
380 IF S=-4 THEN Y(DB)=5 
390 IF S=4 THEN Y(DB)=1 
400 ON Y(DB)GOSUB 620,640,66 
0,680,730 

410 CALL SPRITE<#11,128,9,11 

5,150,#13,132,13,147,130,#12 
,136,10,163,150,#14,140,3,83 
,150):: IF X(DB)< >Y(DB)THEN 
800 

420 NEXT DB 

430 CALL HCHAR(24,29.32):: C 
ALL GOOD :: CALL PUNKTE(MERK 
,ZAHL):: MERK-MERK+1 :: ZAHL 
=10 :: IF MERK-51 THEN 810 
440 CALL CLEAN :: CALL SPRIT 
E(#l,128,14,113,50,#3,132,5, 

147.50, #2,136,12,163,50,#4,1 
40,2,83,50):: GOTO 230 

450 CALL ARME 

460 CALL PATTERN(#1,124,#3,1 
20):: CALL SPRITE(#4,116,2,1 
09,50):: FOR Q-l TO 100 :: N 
EXT Q :: RETURN 
470 CALL HUT 

480 CALL PATTERN(#1,124,#3,1 

16):: CALL SPRITE<#4,120,2,1 

13,82):: FOR Q-l to 100 :: N 

EXT Q !: RETURN 

490 CALL HAMPEL 

500 CALL SPRITE(#4,120,2,109 

,50):.* CALL PATTERN (#1, 124,# 

3,116,#2,112):: FOR Q-l TO 1 

00 :: NEXT q :: return 

510 CALL SPRUNG 

520 CALL SPRITE(#i,128,14,95 

,50,#3,132,5,127,50,#2, 136, 1 

2.143.50, #4,140,2,63,50):: F 


» 


83 



OR Q=1 TO 25 :: NEXT Q 
530 CALL PATTERN (#1,124,#3,1 
20):: CALL SPRITE(#5,116,5,1 
11,18,#6,112,5,111,82,#2,108 
,12,127,50):: FOR Q-l TO 40 
:: NEXT Q 

540 CALL DELSPRITE(#5,#6) 

550 CALL SPRITE<#1,128,14,95 

,50,#3,132,5,127,50,#2,136,1 

2.143.50, #4,140,2,63,50):: F 
OR Q-l TO 25 :: NEXT Q :: RE 
TURN 

560 CALL ROLLE 

570 CALL DELSPRITE(#1,#2,#3, 

#4) 

580 CALL SPRITE<#1,124,14,14 

7.50, #2,120,5,163,50,#4,140, 

2.115.50) :: for Q-l TO 30 :: 
NEXT Q 

590 CALL SPRITE<#1,116,14,14 

7.50, #4,112,2,147,50,#2,108, 

12.147.50) :: FOR Q=i TO 30 : 

: NEXT Q 

600 CALL PATTERN(#1,104,#4,1 
00,#2,96):: for Q-l to 30 :: 
NEXT Q 

610 CALL SPRITE<#1, 124,14,14. 

7.50, «2,120,5,163,50,«4,140, 

2.115.50) :: for Q-l to 30 :: 
NEXT Q :: RETURN 

620 CALL ARME 

630 CALL PATTERN(#11,124,#13 
,120):: CALL SPRITE(#14,116, 

5.109.150) :: FOR Q=1 TO 100 
:: NEXT Q :: RETURN 

640 CALL HUT 

650 CALL PATTERN(#11,124,#13 

,116):: CALL SPRITE<#14,120, 

5,113,162):: FOR Q=i TO 100 

:: NEXT Q :: RETURN 

660 CALL HAMPEL 

670 CALL SPRITE<#14,120,5,10 

9.150) :: CALL PATTERN(#11,12 
4,#13,116,#12,112):: FOR Q-l 

to 100 :: next Q :: Return 

680 CALL SPRUNG 
690 CALL SPRITE<#11,128,9,95 
,150,#13,132,13,127,150,#12, 

136,10,143,150,#14,140,5,63, 

150):» for Q-l to 25 :: next 
Q 

700 CALL PATTERN(#11,124,#13 
,120):: CALL SPRITE<#15,116, 
13,111,118,#16,112,13,111,18 
2,#12,108,10,127,150):: FOR 
Q=i TO 40 :: NEXT Q 
710 CALL DELSPRITE(#15,#16) 
720 CALL SPRITE(#11,128,9,95 
,150,#13,132,13,127,150,#12, 

136,10,143,150,#14,140,5,63, 
150):: FOR Q-l TO 25 :: NEXT 
Q :: RETURN 
730 CALL ROLLE 


L 

i 

S 

T 

I 

N 

G 

S 


740 CALL DELSPRITE(#11,#12,# 
13,#14) 

750 CALL SPRITE(#11,124,9,14 

7,150,#12,120,13,163,150,#14 
,140,5,115,150):: FOR Q-l TO 
30 :: NEXT Q 

760 CALL SPRITE<#11,116,9,14 
7, 150, #14,112,5, 147, 150,4*12, 

108,10,147,150):: FOR Q-l TO 
30 :: NEXT Q 

770 CALL PATTERN(#11,104,#14 
,100,#12,96):: FOR Q-l TO 30 
:: NEXT Q 

780 CALL SPRITE(#11,124,9,14 

7,150,#12,120,13,163,150,#14 
,140,5,115,150):: FOR Q-l TO 
30 :: NEXT Q :: RETURN 
790 CALL TIME GOTO 170 
800 CALL HCHAR(24,29,32):: C 
ALL WRONG II GOTO 170 
810 CALL CLEAN :: CALL DELSP 
RITE(ALL):: CALL GOOD :: GOT 
0 120 

820 DATA EE00EEAAEE00EEAA,00 
00003F20202E2A,1F0A0AFF0000E 
EAA,000000FF0000EEAA,2E202E2 
A2E202E2A,2E202E2A2E20AEAA 
830 DATA AEA0AEAAAEA0AEAA,AE 
A0AEAAAEA0A0BF,EE001B2424242 
4FF,EE000E8A8E8080FF,000000B 
FA0A0AEAA,0000008080808080 
840 DATA 8080808080808080,80 
8080BFA0A0AEAA,EE00EEAAEE000 
0FF 

850 DATA 7E7E666666667E7E,18 

18181818181818,7E7E061E78607 
E7E.7E7E061E1E067E7E,6666667 
E7E060606,7E7E60781E067E7E 
860 DATA 7E7E607E7E667E7E,7E 
7E060606060606,7E7E667E7E667 
E7E,7E7E667E7E067E7E 
870 DATA 003F202020202720,00 
FF000078971010,00FF000040801 
828,00FF000000000000,00FF000 
0000060A0,00FC040404040404 
880 DATA 2020202020222221,10 
F22C2023354880,50B0C38D12B34 
C00,0102122B2A4E9200,2040888 
780502000,0404040484040404 
890 DATA 2020202020202020,00 
00000000010100,04080853B5297 
9C6,0000008A35498Al1,0000112 
A43426598,0404848424448404 
900 DATA 20203F000000FF00,00 
00FF182442FF00,0000FF000000F 
F00,0404FC000000FF00 
910 DATA 003C243C00003C24,3C 
00003C 24 3C00FF,0018180000181 
800,00182424242424FF,FF81819 
9998181 FF,2E202EAAAEA0AEAA,E 
E00EEAAAEA0A0FF,2E202E2A2E20 
203F 

920 DATA 008E8A8A8AEE0000,00 


84 



E9AAACAAE90000,0087828282820 

000,0075557262520000 

930 DATA 32,32, 32,32,34,36,4 

4.32.32.32.32.32.32.32.32.32 
,32,32,32,32,32,32,32,32,32, 

32.32.32 

940 DATA 32,32,32,32,37,33,4 

5.32.32.32.32.32.32.32.32.32 
,32,32,34,35,36,43,35,36,44, 

32.32.32 

950 DATA 32,32,32,32,37,33,4 

5.32.32.64.32.32.32.32.32.32 
,32,32,37,33,33,39,33,33,45, 

32.32.32 

960 DATA 32,32,32,32,37,33,4 
5,32,84,82,64,32,58,59,60,61 
,62,63,37,33,33,39,33,33,45, 

32.32.32 

970 DATA 32,32,32,32,37,33,4 
5,84,82,82,82,84,64,65,66,67 
,68,69,37,33,33,39,33,33,46, 
35,35,36 

980 DATA 34,35,36,35,85,33,4 
5,84,80,80,80,84,70,71,72,73 
,74,75,37,33,33,39,33,33,39, 

33.33.33 

990 DATA 37,33,33,33,39,33,4 
5,84,81,81,81,84,76,77,78,78 
,77,79,38,33,33,39,33,33,39, 

33,33,33 

1000 DATA 37,33,33,33,39,33, 

45.84.80.80.80.84.80.80.82.8 
0,80,80,39,33,33,39,33,33,39 
,33,33,33 

1010 DATA 87,86,86,86,40,47, 

84.84.81.81.81.84.81.81.83.8 
1,81,81,40,41,42,40,41,42,40 
,47,41,42 

1020 SUB STADT 

1030 CALL CLEAR :: RESTORE 8 
20 :: for 1=33'TO 91 :: read 
A$ :: CALL CHAR(I,A*> : NEX 
T I 

1040 FOR 1=2 TO 10 :: FOR J= 
2 TO 29 :: READ B :: CALL HC 
HARd, J,B):: NEXT J :: next 
I 

1050 CALL VCHAR(6,30,44)I: C 
ALL VCHAR(7,30,45,4):I SUBEN 
D 

1060 SUB GRUND 

1070 CALL CHAR <128,"0305070D 
060301011F3F7C6764676467C0A0 
E0B060C08080F8FC3EE626E626E6 
"> 

1080 CALL CHAR(132,-76776707 
07060606060C0C0C0C1C3C006EEE 
E6E0E06060606030303030383C00 

" > 

1090 CALL CHAR(136,"0C0C0C0C 
0000000000000000000000003030 
3030000000000000000000000000 
" ) 


L 

I 

S 

T 

I 

N 

G 

S 


1100 CALL CHAR(140,"00000000 
00000000000000000003030F0000 
0000000000000000000000C0C0F0 
" ):: SUBEND 
1110 SUB ARME 

1120 CALL CHAR(124, "0305076E 
656361713F3F1C0704070407C0A0 
E076A6C6868EFCFC38E020E020E0 

") 

1130 CALL CHAR(120,"06070707 
07060606060C0C0C0C1C3C0060E0 
E0E0E06060606030303030383C00 

" ) 

1140 CALL CHAR(116,"03030F40 
606000000000000000000000C0C0 
F002060600000000000000000000 
"):: SUBEND 
1150 SUB HUT 

1160 CALL CHAR(124,"0305070D 
060301011F3F7C6764676467C0A0 
E1B363C3878EFCFC38E020E020E0 

" ) 

1170 CALL CHAR(120,"8070F8DC 
0C04020000000000000000000000 
0000000000000000000000000000 

") 

1180 CALL CHAR(116,"76776707 
07060606060C0C0C0C1C3C0060E0 
E0E0E06060606030303030383C00 
")!: SUBEND 
1190 SUB HAMPEL 
1200 CALL CHAR(124,"030507CE 
C6C3E1713F3F1C0704070407C0A0 
E07060C08080F8FC3EE626E626E6 
" ) 

1210 CALL CHAR(120,"03030F00 
C0E000000000000000000000C0C0 
F000000000000000000000000000 

") 

1220 CALL CHAR <11 6,"06070707 
07060606060E0C0C0C1C3C006EEE 
E6E0E0606070783C1E0E060E1E00 
H > 

1230 CALL CHAR (112, "000C0C0C 
0C0000000000000000000000183C 
1E0E000000000000000000000000 
"):: SUBEND 
1240 SUB SPRUNG 
1250 CALL CHAR(124,"0305070C 
070301011FFFFC0704070407C0A0 
E030E0C08080F8FF3FE020E020E0 
") 

1260 CALL CHAR<120,"06070707 
8EFEFC78000000000000000060E0 
E0E0717F3F1E0000000000000000 

") 

1270 CALL CHAR<116,"00000000 
0000000000000000000000000203 
0300000000000000000003030302 
" ) 

1280 CALL CHAR(112,"40C0C000 
0000000000000000C0C0C0400000 
0000000000000000000000000000 


85 



") 

1290 CALL CHAR(108, " 00000000 
80F0F87800000000000000000000 
0000010F1F1E0000000000000000 
M ):: SUBEND ' 

1300 SUB ROLLE 

1310 CALL CHAR< 124,"0305070E 
0603011F3C7F66270F0C0000C0A0 
E07060C080F83CFE66E4F0300000 
") 

1320 CALL CHAR <120,"000000C0 
C0001C3C00000000000000000000 
00030300383C0000000000000000 

H > 

1330 CALL CHAR(116,“00000010 
3C7C7E3C303E77EDFBF61D070000 
000000000000000000 20E0E0C0C0 
" ) 

1340 CALL CHAR(112,"403C1E0F 
03010000000000000000C 0E00000 
0000000081030303000002060606 
" ) 

1350 CALL CHAR(108,"00000000 
0000000000000000000000000000 
000000000000041C381800003838 
" ) 

1360 CALL CHAR(104,"00000000 
0000000000000004070303030000 
00083C3E7E3C0C7CEEB7DF6FB8E0 
" ) 

1370 CALL CHAR(100,"00000000 
000081C0C0C0000040606060023C 
78F0C08000000000000000000307 
11 ) 

1380 CALL CHAR(96,"000000000 
000000020381C1800001C1C00000 
000000000000000000000000000" 

>:i SUBEND 
1390 SUB MANNi 

1400 CALL HCHAR(12,21,141):: 

CALL HCHAR<12,22,143):: CAL 
L HCHAR(13,21,128):: CALL HC 
HAR<13,22,130) : : CALL HCHAR< 
14,21,129) 

1410 CALL HCHAR(14,22,131):: 

CALL HCHAR<15,21,132)!: CAL 
L HCHAR(15,22,134 ):\ CALL HC 
HAR<16,21,133)S! CALL HCHAR < 
16,22,135):: SUBEND 
1420 SUB 2AEHL(ZAHL) 

1430 ZAHL=ZAHL-i :: DISPLAY 

at(24,26)beep:zahl :: subend 

1440 SUB MANN2 
1450 CALL HCHAR(12,8,141):: 
CALL HCHAR(12,9,143):: CALL 
HCHAR(13,8,128):: CALL HCHAR 
(13,9,130):: CALL HCHAR(14,8 
, 129) 

1460 CALL HCHAR(14,9,131):: 
CALL HCHAR(15,8,132):: CALL 
HCHAR(15,9,134):: CALL HCHAR 
(16,8,133):: CALL HCHAR(16,9 
,135):: subend 


L 

\ 

S 

T 

I 

N 

G 

S 


1470 SUB CLEAN 

1480 CALL VCHAR(12,8,32,5) : : 

CALL VCHAR(12,9,32,5):: CAL 
L VCHAR(12,21,32,5):: CALL V 
CHAR(12,22,32,5):: SUBEND 
1490 SUB TIME 

1500 RESTORE 1510 :: FOJR 1=9 

2 TO 95 :: READ A* :: CALL C 

HAR <I,A*):: NEXT I 

1510 DATA 00EA4B4A4A4A0000,0 

02E68AEA82E0000,001D1515151D 

0000,005C484848C80000 

1520 DISPLAY AT(24,24)BEEP:" 

\ 3 A _" :: FOR Q*l TO 700 :: N 
EXT Q :: CALL HCHAR(24,26,32 
,4):: SUBEND 
1530 SUB DEMO 

1540 RESTORE 1550 :: FOR 1=9 

2 TO 94 :: READ A$ :: CALL C 

HAR(I,A$):: NEXT I 

1550 DATA 00C7A4949794A4C7,0 

0A236362A2A22A2,00F090909090 

90F0 

1560 DISPLAY AT(19,13)BEEP:" 
\3 A " :: SUBEND 
1570 SUB WRONG 

1580 RESTORE 1590 :: FOR 1=9 

2 TO 94 :I READ A$ :: CALL C 

HAR(I,A$):: NEXT I 

1590 DATA 00E1928AF38A92E2,0 

0CE2928E828292E,000C0C8C8C80 

0C0C 

1600 DISPLAY AT (20,11 )BEEP: " 
\3 A " :: for Q=l TO 500 :: ne 
XT Q :: CALL HCHAR(20,13,32, 
3):: SUBEND 
1610 SUB GOOD 

1620 RESTORE 1630 :: FOR 1=9 

2 TO 94 :I READ A$ :I CALL C 
HAR <I,A$):: NEXT I 
1630 DATA 00F784B49494F700,0 
0BDA5A5A5A5BD00,008343232340 
8300 

1640 DISPLAY AT <20,11):"\3 A " 
:: FOR 0=1 TO 300 :: NEXT 6 
:: CALL HCHAR(20,13,32,3):: 
SUBEND 

1650 SUB PUNKTE(MERK,ZAHL) 
1660 IF MERK=0 THEN PU=0 :: 
SUBEXIT 

1670 PU=PU+ <MERK*ZAHL*5 ):U D 
ISPLAY AT<24,16)IPU 
1680 IF HI<PU THEN CALL HISC 
:: HI-PU :: DISPLAY AT<24,4 
)SIZE(7):HI 
1690 SUBEND 
1700 SUB HISC 

1710 RESTORE 1720 :: FOR 1=9 
2 TO 95 :: READ A$ :: CALL C 
HAR(I,A$):: NEXT I 
1720 DATA 00ABAAEBA8AB0000,0 
0BB22A2A2BB0000,00BBAABBB2AB 
0000,0084029F02S40000 


86 



1730 DISPLAY AT(24,12)SIZE(4 
)BEEP:“\3 A _ B FOR 1-1 TO 5 

00 :: next I :: call hchar<2 

4,14,32,4):: SUBEND 

1740 SUB FÄRB 

1730 IF FA-0 THEN 1770 

1760 FA-0 :: CALL CGL0R<3,2, 

1.4.2.1.3.2.1.6.2.1) :: SUBEX 
IT 

1770 FA-1 :: CALL C0L0R<3,3, 

1.4.3.1.3.3.1.6.3.1) :: 8ÜBEN 
D 


BÖRSE 

TI 99/4A, Ext. Basic, Sie¬ 
mens-Rekorder mit Kabel, Vi- 
deo-Chess, ca. 30 Zeitschr. 

5 Bücher, 2 Joysticks, Progr., 
Superpr. Kompl. i. 450,— DM 
Tel: 09261/20790, nachmitt. 

TI 99/4A: 2 Konsolen, Ex- 
Basic, P-Box (defekt), RS 
232-Karte, Disk-Drive, 32 K- 
Kartc, Editor-Assembler, 

TI-Writer, Joystick Brother 
CE-60 m. Interface, Multi¬ 
plan u. 7 Spielmod. auch 
einzeln zu verkaufen. Tel: 
069/504575 

Zu verk. TI 99/4A m. J jy- 
sticks. Module: Datei^rrw. 
u. Analyse, Statistik, Perso¬ 
nal-Generator, Kass: 
Haushaltsprogr. Div. Litera¬ 
tur, VB: 400,- DM. Tel: 
0461/51509 

Suche ext. 90 K-Laufw. f. 
orig. Tl-Contr. (mögl. m. 
eig. Stromvers.) sowie Sprach- 
synt. Angebote an: Hauke 
Hölterling, Carl-Schutz-Str. 

15, 6070 Langen. Tel:'' 
06103/72518 

Verk. TI-Module: Soccer 

25,—, Tl-Invader 30,—, 

Alpiner 30,—, Mash 40,—, 
Speech Editor 50,—. Su¬ 
che: Editor/Assembler. 

Peter Glöde, Dorfstr. 43, 

2362 Wahlstedt 

Tips & Tricks für TI 99/4A, 
Teile I + II, jeweils 1-3, 

5 KB (Ex-Basic). Progr. auf 
Kass. geg. Einsendung von 

10,— DM. Peter Hielscher, 

Am Wall 22, 4401 Saerbeck 

Suche dringend einen Sprach- 
Synthes. f. TI 99/4A. Mögl. 
m. Anleit.! Bezahle für das 
Gerät in 1 A-Zustand + Ver¬ 
sand u. NN max. 90,— DM. 
Bitte melden bei: Andreas 
Scholz, Londoner Ring 6, 

6700 Ludwigshafen, Tel: 
0621/666424 

TI 99/4A Konsole m. eingeb. 
32 K-CMOS Erw. zu verk. 
Rechner ist z.B. in Assembl. 

2 x so schnell wie mit nor¬ 
malen 32 K, da alle 16 Daten¬ 
leitungen direkt am TMS 

9900 angcschl. sind. Nähere 
Info: Tel: 06257/83247 

***KABOOMMM*** 

Verk. Module! Z.B. Pole- 
Position, Congo-Bongo, 

Fathom 40,—! Car Wars, 
Wumpus u.s.w. 20,—! TE-2 
Modul 60,—u.s.w.ü! Mehr 

Info über weitere Module 
(24 insges.) gibt es bei: 

Manfred Lipowski, In der 
Wanne 165, 462 Castrop- 
Rauxel 4, Tel: 02305/72237. 
Auch Tausch geg. gleichwert. 
Module! 

TI 99/4A Box Floppy m. 

Karte Ex-Modul RS 232 + 
Karte. 32 K Multiplan TE II 
Diskmanager, Drucker GP- 
100 Zenith-Monit. Joystick, 
Dateiverwaltung, 3 D Welt. 
Alle Handbücher. Div. Kabel. 
Preis VB. Alles auch einzeln. 
Hoffmann, Tel: 07022/ 
46542, ab 12 Uhr 

Verk. TI 99/4A mit eingeb. 
32K-Byte Erw. + Ex-Basic 
Modul f. 400,- DM, Tel: 
06201/75170, Kohout 

Bernstein-Monitor m. 

Kabel f. TI 99/4A f. 300,- 
DM zu verk. Johann Schmitz, 
Pf. 900 771,5000 Köln 90 

Verk. TI 99/4A Konsole, 

3 J. alt + Software + Rec. 
Kabel + Bücher, VB 200,- 
DM. Tel: 02761/61749 

Verk.: TI99/4A + Kass.- 
Kabel + orig. X-Basic + TI- 
Joysticks + Spiele + Bücher + 

3 Spielmodule zu TI (Parsec + 
Schach + Munch Man) + 9 TI- 
Revue + 1 Tl-Special. Nur 
zusammen, Preis: 520,— DM. 
Tel: 05064/6177 

Suche: ROM + GROM d. 
RS232 a. Cass. gespeich.! 

H.P. Thelen, Sebastianstr. 

165, 5300 Bonn l.Tel: 
0228/628907 


L 

I 

S 

T 

I 

N 

G 

S 


10 
11 
12 

13 

14 
13 
16 

19 

20 
21 
24 
23 
26 
27 
26 

29 

30 

100 RANDOMIZE :: RESTORE 
110 CALL CLEAR :: CALL SCREE 
N(2):: CALL C0L0R<9,4,2,5,4, 

2,6,4,2,7,4,2,3,4,2) 

120 CALL COLOR(4,4,2,8,4,2) 

130 ! SONDERZEICHEN 
140 CALL CHAR(63,"EA4E4A0000 
000000",64,"3C4299A1A199423C 
,! ) 

150 CALL CHAR(49,"0004040404 
040404",50,"003C04043C20203C 
" ) 

160 CALL CHAR(51,"0038040438 

0404 38", 32, "002020241E040404 

" ) 

170 CALL CHAR(53,"003C20203C 
04043C") 

180 CALL CHAR(56,"003C242418 
24243C", 37,"003C24243C04043C 
" ) 

190 CALL CHAR ( 104,"00000000F 

FFF0000",103,"FFFFFFFFFFFF00 

00 " ) 

200 !UFO 

210 CALL CHAR(124,"000000000 
0000003070F3F7FF67F1F0000000 
00000000080C0E0F8FCDEFCF000" 

) 

220 !GESCHOSS 

230 CALL CHAR(120,"000000000 
0000001010000000000000000000 
000000000808000000000000000" 

) 

240 1 UFO BEI SCHUSS 
230 CALL CHAR(116,"000000000 
00000030408304089601F0000000 
0000000008040201804220CF000" 

) 

260 ! EXPLOSION 

270 CALL CHAR ( 112,"000280200 

4000753030105240004420001000 

94000C6C0C082B040400C400000" 

) 

280 ' HINTERGRUNDSTERNE 

290 CALL CHAR(98,"0000000010 

000000",99,"0000001038100000 W 


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


* * 

* CYCLONS * 

* * 

* Copyright by * 

* Matthias Renken * 

* * 

* Benoetigte Geraete * 

* TI99/4A Konsole * 

* Ext. Basic * 

* Joystick' 1 ü. 2 * 

* * 

* Speicherbelegung * 

* 5319 Bytes * 

* * 


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


87 


















") 

300 CALL MAGNIFY < 3 ) 

3*0 GOSUB 1180 

320 FOR F=1 TO 5 :: READ ZE, 

SP,TE* 

330 FOR E-l TO LEN(TE$):: CA 
LL HCHAR <ZE,SP+E,ASC (SEG6(TE 
4,E,1))) 

340 CALL SOUND(-10,INT(RND*5 

000)+200,0) 

350 NEXT E 
360 NEXT F 

370 FOR W*1 TO 25 :: S=INT(R 
ND#13)+3 :: CALL C0L0R(3,S,2 
,4,8,2,5,8,2,6,6,2,7,8,2,G,S 
,2):: NEXT W 

380 CALL KEY ( 1,KEY,ST):: IF 
STO0 THEN 400 
390 CALL KEY(2,KEY,ST): : IF 
ST=0 THEN 380 
400 CALL CLEAR 
410 CALL COLOR(10,10,2,3,2,1 
0) 

420 GOSUB 1210 
430 GOSUB 1180 
440 CALL HCHAR (20, 5, 104,3) :: 

CALL HCHAR(20,23,104,3):: C 
ALL HCHAR<21,5,105,3):: CALL 
HCHAR(21,23,105,3) 

450 CALL HCHAR(21,6,ZAHLE+48 
):: CALL HCHAR(21,24,ZAHLZ+4 
8) 

460 RX,RY,RX2,RY2,DELX,DELY, 
DELX2,DELY2-0 

470 CALL SPRITE(#1,124,12,14 
1,37) 

480 CALL SPRITE(#2,124,5,141 
,181) 

490 CALL JOYST(l,X,Y):: IF X 
-0 AND Y-0 THEN DELY,DELX-0 
S: GOTO 610 

500 IF Y-4 THEN DELX—3 :: G 
OTO 550 

510 IF Y—4 THEN DELX-3 : : G 
OTO 550 

520 IF X-4 THEN DELY-3 :: GO 
TO 550 

530 IF X—4 THEN DELY—3 :: 

GOTO 550 

540 DELX,DELY-0 

550 RX-RX+DELX :: IF RX>-MA 

THEN RX-MA ELSE IF RX<—MA T 

HEN RX—MA 

560 RY-RY+DELY :: IF RY>»MA 
THEN RY-MA ELSE IF RY<—MA T 
HEN RY—MA 

570 CALL KEY(1,KEY,ST):: IF 
KEY-IS THEN GOSUB 740 
580 CALL MOTION(#1,RX,RY) 

590 CALL COINC(#1,#2,COIC,I) 
:: IF 1-0 THEN 610 
600 GOTO 940 

610 CALL J0YST(2,X2,Y2):: IF 



X2-0 AND Y2=0 THEN DELX2,DE 
LY2-0 :: GOTO 710 
620 IF Y2=4 THEN DELX2=-3 I: 
GOTO 670 

630 IF Y2=-4 THEN DELX2-3 :: 
GOTO 670 

640 IF X2=4 THEN DELY2=3*:: 
GOTO 670 

650 IF X2=-4 THEN DELY2=-3 : 

: GOTO 670 

660 DELX2,DELY2=0 

670 RX2=RX2+DELX2 :: IF RX2> 

-MA THEN RX2-MA ELSE IF RX2< 

«-MA THEN RX2--MA 

680 RY2-RY2+DELY2 :: IF RY2> 

-MA THEN RY2-MA ELSE IF RY2< 

— MA THEN RY2—MA 

690 CALL KEY(2,KEY,ST) : : IF 

KEY-18 THEN GOSUB 840 

700 CALL MOTION(«2,RX2,RY2) 

710 CALL COINC(#1,#2,COIC,I) 

:: IF 1-0 THEN 730 
720 GOTO 940 
730 GOTO 490 
740 REM ***SCHUSS*** 

750 CALL POSITION(# 1 ,Q,W)I: 
CALL PATTERN(#1,116) 

760 CALL SPRITE(#3,120,16,Q, 
W,SDG*DELX+RX,SDG*DELY+RY) 
770 FOR F=900 TO 1000 STEP 2 
0 

780 CALL SOUND ( -10,F,0) :: CA 
LL COINC (#3,#2, COIS, A):: IF 
A< >0 THEN 800 

790 NEXT F :: CALL PATTERN (# 

1.124) :: CALL DELSPRITE(#3): 

: RETURN 

800 CALL DELSPRITE(#3) : : CAL 
L MOTION(#2,0,0):: CALL PATT 
ERN(#2,112):: CALL SOUND(100 
0, -7,0) 

810 FOR T-l TO 700 ;: NEXT T 
:: CALL DELSPRITE(ALL) 

820 ZAHLZ-ZAHLZ-1 :: IF ZAHL 

Z<-0 THEN 1020 

830 CALL HCHAR(21,24,ZAHLZ+4 

8):: GOTO 460 

840 REM **#schuss 2*** 

850 CALL POSITION(#2,Q,W):: 
CALL PATTERN(#2,116) 

860 CALL SPRITE(#4,120,16,Q, 
W,SDG*DELX2+RX2,SDG#DELY2+RY 
2) 

870 FOR F-900 TO 1000 STEP 2 
0 

880 CALL SOUND(-10,F,0):: CA 
LL C0INC(#4,#1,C0IS,A):: IF 
A< >0 THEN 900 

890 NEXT F :: CALL PATTERN(# 

2.124) :: CALL DELSPRITE(#4): 
; RETURN 

900 CALL DELSPRITE(#4):: CAL 
L MOTION(#l,0,0):: CALL PATT 


88 




ERN(#1,112):: CALL SOUND<100 
0,-7,0) 

910 FOR T=1 TO 700 :: NEXT T 
:: CALL DELSPRITE(ALL) 

920 ZAHLE=ZAHLE-1 :: IF ZAHL 

E< *0 THEN 1020 

930 CALL HCHAR(21,6,ZAHLE+48 

):: GOTO 460 

940 REM kol1ision 

950 CALL MOTION (#1,0,0, #2,0, 

0 ) 

960 CALL PATTERN(#1,112):: C 
ALL PATTERN(#2,112):: CALL S 
OUND(1000,“7,0) 

970 FOR T =1 TO 700 :: NEXT T 
:: CALL DELSPRITE(ALL) 

980 ZAHLE=ZAHLE-i :: ZAHLZ=Z 
AHLZ-1 

990 IF ZAHLE=0 OR ZAHLZ=0 TH 
EN 1020 

1000 CALL HCHAR(21,6,ZAHLE + 4 
8):: CALL HCHAR<21,24,ZAHLZ+ 
48) 

1010 GOTO 460 

1020 CALL CLEAR 

1030 FOR S =1 TO 3 :: READ TE 


L 

I 

S 

T 

I 

N 

G 

S 


* 

1040 FOR Y=1 TO LEN(TE$):: C 
ALL HCHAR(6+S*2,Y + 9,ASC(SEG* 
(TE*,Y,1))):: NEXT Y 
1050 NEXT S 

1060 IF ZAHLE=0 AND ZAHLZO0 
THEN DISPLAY AT (14,8) I " PLAY 
ER 2"- GOTO 1090 
1070 IF ZAHLEO0 AND ZAHLZ=0 
THEN DISPLAY AT(14,8): H PLAY 
ER 1" :: GOTO 1090 
1080 DISPLAY AT(14,8):"NOBOD 
Y ! ! ! " 

1090 CALL KEY(1,KEY,ST):: IF 
ST< >0 THEN 1110 
1100 CALL KEY <2,KEY,3T):: IF 
ST=0 THEN 1090 
1110 CALL CLEAR :: ZAHLE,ZAH 
LZ C 3 :: RESTORE 1170 
1120 GOTO 400 
1130 CALL CLEAR :: END 
1140 DATA 5,11,"MARE-SOFT?", 
7,11,"PROUDLY" 

1150 DATA 9,11,"PRESENTS",12 
,9,">> CYCLONS << “ 

1160 DATA 20,3,“@1985 BY MAT 
THIAS RENKEN“ 

1170 DATA “THIS GAME“,"IS 
OVER“,"WINNER IS“ 

1180 FOR E=1 TO 20 :: CALL H 

CHAR(INT <RND*20)+1,INT(RND*3 

0)+1,98):: NEXT E 

1190 FOR E=1 TO 10 :: CALL H 

CHAR<INT<RND#20> +1,INT<RND#2 

9)+1,99)I: NEXT E 

1200 RETURN 

1210 REM MENUE 


1220 DISPLAY AT(2,2):"PLEASE 
CHOOSE DIFFICULTY“ :: DISPL 
AY AT(4,2):“LEVEL :“ 

1230 DISPLAY AT(7,2):"1 = IN 
NOCENT" 

1240 DISPLAY AT(9,2):“2 * AD 
VANCED" 

1250 DISPLAY AT(11,2) l "3 * E 
XPERT" 

1260 DISPLAY AT(13,2):“4 = C 
RAZY" 

1270 DISPLAY AT(18,2)I"PRESS 
CHOOSEN KEY“ 

1280 CALL KEY(0,L,J):: IF J= 
0 THEN 1280 

1290 IF L< 49 OR L>52 THEN CA 
LL SOUND(200,500,2):: GOTO 1 
280 

1300 ON L-48 GOTO 1310,1330, 
1350,1370 

1310 sdg=8 :: ma= l2 :: cois= 
10 :: COIC=10 

1320 CALL CLEAR :: GOTO 1390 
1330 sdg= l0 :: ma~ l5 :: cois 
=7 :: C0IC=13 

1340 CALL CLEAR :: GOTO 1390 
1350 sdg= l2 :: ma=25 :: cois 
=5 :: coIc=l4 

1360 CALL CLEAR :: GOTO 1390 
1370 SDG=14 :: MA=32 :: COIS 
=3 :: C 01C =* 15 

1380 CALL CLEAR :: GOTO 1390 
1390 CALL CLEAR 
1400 DISPLAY AT(10,2) l "HOW M 
ANY SHIPS <1-5>: “ 

1410 ACCEPT AT(12,2)I HIL :: 
IF HIL<1 OR HIL >5 THEN 1410 
1420 ZAHLE,ZAHLZ=HIL :: CALL 
CLEAR :: RETURN 



89 



LISTING 


HAUSHALTS¬ 

RECHNUNG 


Nach dem Start bekommt man nach kurzer Zeit 
eine Hauptwahlliste zu sehen. 

Begibt man sich über “3“ in die Datenein- und 
-ausgabe, kommt als nächstes die Frage nach dem 
Datum des Datenstandes. Danach erfolgt die Ein¬ 
gabe des Etats, den man für den Abrechnungszeit¬ 
raum zur Verfügung hat, z.B. 1200 DM. Sollte wäh¬ 
rend diesem Zeitraum das Geld knapp werden, so 
besteht die Möglichkeit, den Etat aufzustocken, 
z.B. um 200 DM, was den Gesamtetat auf 1400 
DM anhebt. 

Sodann erfolgt die Eingabe der eigentlichen Daten: 
Z.B.: 

Datum Firma Betrag OP 

01.01 Müller 10.20 + 

(oder bei Operation 

Sachbezogen bei Aus- 

Brot etc.) gaben + 

Es besteht die Möglichkeit, 108 Datenreihen unter¬ 
einander einzugeben. Danach wird darauf hingewie¬ 
sen, daß keine Eingabe mehr möglich ist. 

Alle Eingaben im Programm werden auf ihre Plau¬ 
sibilität und Größe überprüft. 

Bei der Daten-Eingabe muß bei einstelligen Tages¬ 
und Monatszahlen jeweils zweistellig eingegeben 
werden z.B. 01.01. 

Der Firmenname ist auf seine Länge begrenzt. 

Beim Betrag werden nur Werte, die kleiner oder 
gleich 999.99 sind, zugelassen. Es können auch 
keine 2 Punkte z.B. 10.. oder mehr eingesetzt wer¬ 
den. Möglich ist es allerdings, z.B. 10.1 zu schrei¬ 
ben, da später bei der formatierten Ausgabe dann 
10.10 erscheint. Möglich ist es auch, z.B.0.009 ein¬ 
zugeben, welches der Computer später als 0.01 
herausbringt. 

In der Spalte “OP Zeichen“ erfolgt die Eingabe 
von “+“ oder 

Bei “+“ wird die Zahl addiert und vom Etat sub¬ 
trahiert, bei wird die Zahl von den Ausgaben 
subtrahiert und zum Etat addiert. Ist die Eingabe 
abgeschlossen, wird bei dem Datum “stop“ einge¬ 
tragen und die Haupt Wahlliste erscheint. 

Wird nun “4“ gewählt, erhält man ein Untermenü, 
in welchem zwischen 5 Möglichkeiten gewählt 
werden kann. 

Über “1“ bekommt man die Gesamtkosten des je¬ 
weiligen Abrechnungsmonats sowie den noch ver¬ 
bleibenden Etat. Fällt der Etat unter 100 DM, wird 
dies durch ein optisches Signal angezeigt. 

Über “2“ wird die Teilkosten-Ausgabe angezeigt, 
bei der zuerst gefragt wird, von welchem Vorgang 
man die Teilkosten sehen möchte. Nach der Ein¬ 
gabe des gewünschten Namens, z.B. Brot, werden 
die Ausgaben für Brot bis zum momentanen Datum 
angezeigt. 

Über “3“ bekommt man die Jahreskosten aut den 
Pfennig genau ausgegeben. Nach dem Drücken einer 


x-beliebigen Taste gelangt man wieder ins Unter¬ 
menü. 

Wird nun “4“ gewählt, erscheint die Jahresgrafik. 

Die Genauigkeit ist hier allerdings nicht mehr so 
hoch wie bei der Jahreskosten-Ausgabe, aber zur 
Tendenzanzeige genügt dies vollauf. So werden 
Werte, die unter 50 DM liegen, nicht angezeigt und 
solche die über 1950 DM liegen, mit 2000 DM ange¬ 
zeigt. Um die Grafik wieder zu verlassen, wird eine 
x-beliebige Taste gedrückt. Danach ist man im Un¬ 
termenü und nach der Eingabe von “5“ im Haupt¬ 
menü. 

Drücken wir nun “2“, werden die Eingaben und 
Berechnungen abgespeichert. 

Werden am nächsten Tag erneut Eintragungen vor¬ 
genommen, liest man über “1“ erst einmal die al¬ 
ten Daten ein. 

Man muß nun entscheiden, ob die Monats- oder 
Jahres-Daten gelöscht werden sollen. Dieses Lö¬ 
schen ist an sich kein richtiges Löschen, denn die 
Daten, die man bei der Frage nach dem Löschen 
mit “ja“ beantwortet hat, werden nur nicht einge¬ 
lesen und somit beim späteren Speichern über¬ 
schrieben. 

Die Jahresdaten werden sowieso nur am Ende des 
Jahres und die Monatsdaten am Ende des Abrech¬ 
nungszeitraums gelöscht. 

Nachdem nun die gewünschten Daten eingelesen 
sind, geht über “3“ der ganze Ablauf wieder von 
Anfang los. 

Die schon eingegebenen Daten werden, wie bereits 
erwähnt, formatiert ausgegeben. Am Ende dieser 
Ausgabe erscheint der Cursor und nun kann weiter 
eingegeben werden. Ist eine Seite vollständig ausge¬ 
geben, drückt man eine x-beliebige Taste und die 
zweite Seite wird ausgegeben. 

Bei der Eingabe wird nach jeder vollen Seite der 
Bildschirm gelöscht und der Cursor steht wieder 
links oben und wartet auf neue Eingaben. 

Die schon erwähnten 108 Datenzeilen, entspre¬ 
chen 4 1/2 Seiten. 

Diese Programmbeschreibung liest sich bestimmt 
sehr trocken, und man begreift soviel wie bei man¬ 
cher Betriebsanleitung. Vielleicht liegt es auch am 
Verfasser der Erklärung. Es ist deswegen am besten, 
man probiert alles selbst aus, dann bereitet es 
auch (hoffentlich) mehr Freude. 

Ansonsten bleibt dem Anwender jede Möglichkeit 
offen, mit dem Programm zu experimentieren und 
vielleicht hat so mancher noch eine gute Idee, 
die er anbringen kann. 

Weiterhin dürfte es keine Schwierigkeiten bereiten, 
das Programm für die Anwendung ohne 32 K-Er- 
weiterung und Cassettenrecorder umzuschreiben 
oder die Kosten und Übersichten über einen Druk- 
ker auszugeben. Die vorhandene Datei zu erwei¬ 
tern, wird wohl auch keine Probleme aufwerfen. 

90 




10 

j 

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

11 

i 

X. 

fS 


* 

12 

j 

* 

Hsusha! ts-fuehrurcg 

* 

13 

i 

* 


* 

14 

i 

* 

Copyright by 

* 

15 

i 

* 

Reiner Kurtz 

* 

16 

i 

* 


* 

17 

| 

* 


* 

19 

i 

* 

Benoetigte Geraete 

* 

20 

i 

* 

TI99/4A Konsole 

* 

21 

i 

* 

Ext. Basic 

* 

22 

i 

* 

32K - E rweit er ung 

* 

23 

j 

* 

Diskettenstation 

* 

24 

i 

* 


* 

26 

i 

* 

Speieher be1egung 

* 

27 

; 

* 

13431 Bytes 

* 

28 

i 

* 


* 

29 

30 

i 

| 

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

170 

RE‘ 

1 * DIMENS. FELDER 



180 REM ******************** 
190 ! GP + 

200 CALL CLEAR 
210 OPTION BASE i 
220 DIM FIR$<108),DA$(108),B 
ET$ <103) , OP$ (108), MON ( 1 2 ) , MO 
( 12 ) 

230 GOTO 26.0 : : CALL CLEAR : 

: CALL SCREEN :: CALL CHAR : 


L 

I 

S 

T 

I 

N 

G 

S 


360 REM ******************** 
370 REM * HAUPTMENUE * 
330 REM ******************** 
390 CALL DELSPRITE(ALL) 

400 DISPLAY AT(2,7)ERASE ALL 
: 11 HAUSHALTSFUEHRUNG " 

410 DISPLAY AT<3,3):"1=> DAT 
EN EINLESEN" 

420 DISPLAY AT(11,3):" 2= > DA 
TEN SPEICHERN" 

430 DISPLAY AT(14,3): n 3=> DA 
TEN EIN-UND AUSGABE" 

440 DISPLAY AT(17,3):"4=> KO 
STENAUSGABE/GRAPHIK" 

450 DISPLAY AT(20,3):"5=> EN 
DE" 

460 DISPLAY AT(23,3):"BITTE 

waehLen SIE" 

470 SS=SI+SIC 
480 CALL KEY(0, K, 8) 

490 IR S=0 THEN 480 

500 IF K< 49 THEN 4 80 

510 IF K>53 THEN 480 

520 ON K-48 GOTO 2230,1960,5 

70,2600,530 

530 END 

540 REM ******************** 
550 REM * DATUMS EINGABE * 
560 REM ******************** 


; CALL MAGNIFY CALL SPRIT 
E :: CALL GCHAR :: CALL DELS 
PRITE :: CALL KEY CALL HC 
HAR :: CALL VCHAR :: CALL CO 
LOR :: 2 :: L6 
240 ss :: si :: sic :: s :: 


K :: I :: DS 

: : F : 

: P :: DA 

T$ :: Dis :: 

DAT 1$ 

:: :: 

B$ :: B :: Cs 

: : ba* ; : BA : 

: L :: LI ;: 

L 2 : : 

L3 :; L4 

:: L5 ;: L* : 

: Li$ 

:: L2« :: 

L3$ :: i-4$ : 

: U5* 

:: L6* :: 

ml$ :: JL$ : 

: G :: 

gk :: bk 

:: FR$ :? tk 

:: T 

;: D$ :: 


250 !GP- 

260 CALL SCREEN(3) 

270 DISPLAY AT(12,7):"HAUSHA 
LTSFUEHRUNG" 

280 CALL CHAR(104,"3F24243F2 
A202A202A202AFF808330FFFC949 
4FCA414A414A404A4FF01C101FF" 
) 

290 CALL MAGNIFY(4) 

300 CALL SPRITE(#2,104,11,12 
0,116) 

310 CALL CHAR(64,"3C4299A1A1 
99423C") 

320 DISPLAY AT(24,1):"0 RK S 
OFTWARE" 

330 CALL GCHAR(24,5,SI) 

340 CALL GCHAR(24,6,SIC) 

350 FOR BILD=1 TO 1000 :: NE 
XT BILD 


570 DISPLAY AT(4,3)ERASE ALL 
:"DATENSTAND VOM" 

580 DISPLAY AT(6,3) :DAT $ 

590 DISPLAY AT (9,3) .* "MOECHTE 
N SIE EIN NEUES" 

600 DISPLAY AT(11,3):"DATUM 
EINSETZEN ?<J/N)" 

610 ACCEPT AT(11,26)SIZE(8)B 
EEP VALIDATE("J","N")iD1$ 

620 IF Dl$="" THEN 610 
630 IF Di$="N" THEN 870 
640 DISPLAY AT(14,3):"DATUM" 
650 ACCEPT AT(14,10)SIZE(8)B 
EEP VALIDATE(DIGIT,")I DAT1 
$ 

660 L2$=SEG$(DAT1$,1,2) 

670 L3$=SEG$ <DAT1$,4,2) 

680 IF L2$ >"31" OR L2$<="00" 
OR 1.3$>"12" OR L3$< = "00” TH 
EN 650 

690 L4=LEN(DAT1$) 

700 IF L4<8 THEN 650 
710 L2=P0S(DAT1$, M .",1) 

720 IF L2=3 THEN 730 ELSE 65 
0 

730 L3=P0S(DAT1$,",4) 

740 IF L3=6 THEN 750 ELSE 65 
0 

750 L4$=SEG$(DAT1$,7,1) 

760 IF L4$= u ." THEN 650 ELSE 
770 

770 L5$=SEG$(DAT1$,8,1) 

780 IF L5$="." THEN 650 ELSE 
790 




91 






790 IF DAT1*=”” THEN DAT*=DA 
T* ELSE DAT*=DAT1* 

800 DISPLAY AT<21,3):"BITTE 
DRUECKEN SIE EINE” 

810 DISPLAY AT(23,3):"TASTE" 
820 CALL KEY <0,K,S) 

830 IF S=0 THEN 820 
840 REM ******************** 
830 REM * ETAT EINGABE * 
860 REM ******************** 
870 DISPLAY AT<4,3)ERASE ALL 
;"NOECHTEN SIE EINEN NEUEN" 
880 DISPLAY AT<6,3)I"ETAT EI 
NSETZEN ?< J/N) " 

890 ACCEPT AT <6, 25)SIZE(1)VA 
LI DATE(" J " ,"N" )BEEP:A* 

900 IF A$="" THEN 890 
910 IF A*="N" THEN 1060 
920 DISPLAY AT(8.3):"HOEHE D 
ES BETRAGES ?" 

930 DISPLAY AT<10,8):"DM" 

940 ACCEPT AT( 10 , 3)SIZE<4)VA 
LIDATE(DIGIT,">BEEP:B* 

950 IF E*=" ” THEN B=P :: GOT 


L 

I 

S 

T 

I 

N 

G 

S 


0 1060 

960 L5=0 

970 FOR Z=1 TO 4 

980 L6*=SEG*(B*,Z,1) 

990 IF L6*="." THEN L5=L5+1 
1000 NEXT Z 
1010 IF L5 > 1 THEN 940 
1020 B=VAL < B* ) 

1030 REM ******^************ 
1040 REM * ETAT AUFSTOCKEN * 
1050 REM ******************* 
1060 DISPLAY AT( 13,3):"MOECH 
TEN SIE DEN ETAT" 

1070 DISPLAY AT<15,3):"AUFST 
OCKEN ?(J,N)" 

1080 ACCEPT AT <15,21)SIZE <1) 
VALIDATE*”J”,"N")BEEP: C* 

1090 IF C*="" THEN 1080 
1100 IF C*="N" THEN 1220 
1110 DISPLAY AT<17,3):"HOEHE 
DES BETRAGES ?” 

1120 DISPLAY AT(19,3)1"DM" 
1130 ACCEPT AT(19,3)SIZE(4)V 
ALIDATE(DIGIT,",”)BEEP:BA* 
1140 IF BA*="" THEN BA=0 :: 
GOTO 1220 
1150 L5=0 
1160 FOR Z=1 TO 4 
1170 L6*=SEG*<BA*,Z,1) 

1180 IF L6*="." THEN L5=L5+1 
1190 NEXT Z 

1200 IF L5>1 THEN 1130 
1210 BA-VAL < BA*) 

1220 B=B + BA ^ 

1230 IF SS=157 THEN 1240 ELw 

E 1250 
1240 BA=0 

1250 DISPLAY AT<22,3):"BiTTE 
DRUECKEN SIE EINE" 


1260 DISPLAY AT<24,3):"TASin 

t! 

1270 CALL KEY(0,K,S) 

1280 IF S=0 THEN 1270 
1290 REM ******************* 
1300 REM * DATEN AUSGABE * 
1310 REM ******************* 
1320 DISPLAY AT<1,2)ERASE AL 
L:"DATUM” 

1330 DISPLAY AT<1,10):"FIRMA 

ii 

1340 DISPLAY AT<1,18) : "BETRA 
G" 

1350 DISPLAY AT(1,27):"OP" 
1360 FÜR 1 = 1 TO. DS 
1370 F=I+2 

1380 IF 1=23 OR 1=47 OR 1=71 
OR 1-95 DR 1*100 THEN GOSUB 
2530 

1390 IF 1=108 THEN 1830 
1400 DISPLAY AT(F,2):DA*(I) 
1410 DISPLAY AT<F,10):FIR$<I 
) 

1420 IF BET*< I)-"" THEN 1460 
1430 BET"VAL< BET* <I) ) 

1440 DISPLAY AT < F,18):USING 
. ♦; tl " : BET 

1450 DISPLAY AT(F,27):OP*<I) 
1460 NEXT I 

1470 REM ******************* 
1480 REX * DATEN EINGABE * 
1490 REM ******************* 
1500 FÜR DS=DS TO 107 
1510 IF DS=0 THEN DS=1 
1520 ~=PS+? 

1530 ACCEPT AT<F,2)SIZE(5)BE 
EP vALIDATE(DIGIT, " . 11 , "STOP" 

);DA*<DS) 

1540 IF DA*(DS)="" THEN 1530 
1550 IF DA* < DS)="ST OP" THEN 
1560 ELSE 1610 
1560 BET* < DS) = "" 

1570 DA* <DS) = "" 

1580 FIR* < DS)="" 

1590 OP* <DS) = "" 

1600 GOTO 400 
1610 L=POS(DA*(DS),”.", 1) 
1620 IF L<>3 THEN 1530 
1630 L1=LEN(DA* <DS)) 

1640 IF LI<5 THEN 1530 
1650 L*=SEG* < DA* < DS) ,1,2) 
1660 IF L* >”31" OR L* < ="00" 
THEN 1530 

1670 L1*=SEG*(DA*<DS),4,2) 
1680 IF L1*>"12” OR L1*< = "00 
" OR Ll*="l." THEN 1530 
1690 ACCEPT AT(F,10)SIZE(6)B 
EEP VALIDATE(UALPHA):FIR*<DS 

1700 IF FIR*<DS)="" THEN 169 
0 

1710 ACCEPT AT(F,18)SIZE(6)B 
rp VAl I DATE (DIGIT, ".*•): BET* 


92 







i DS) 

1720 IF BET* <DS) = " " THEN 171 
0 

1730 L5=0 

1740 FOR Z=1 TO 6 

1750 L6$=SEGS<BET*<DS>,Z,1) 

1760 IF L6*=".." THEN L5=L5+1 

1770 NEXT Z 

1780 IF L5 >1 THEN 1710 
1790 L6=VAL(BET$(DS)) 

1800 IF Lo>999.99 THEN 1710 
1810 ACCEPT AT <F,27)3IZE(1)B 
EEP VALIDATE("+","-");OP$(DS 
) 

1820 IF OP*(DS)="" THEN 1810 
1830 IF OP$(DS) = " + " THEN GOS 
ÜB 2740 ELSE IF OP$(BS)="- " 
THEN GOSUB 2820 
1840 GOSUB 3460 
1850 IF DS=22 OR DS = 46 ÜR DS 
'-70 OR DS~9m THEN CALL CLEAR 
i960 NEXT DS 

1870 IF DS=107 THEN FIR*(DS) 

= "" :: da*(ds)* M " :: bet*<ds 
)"" gp*(DS>:: goto 1330 

1880 DISPLAY AT<5,4)ERASE AL 
L:"SIE HABEN BEREITS 108" 
1890 DISPLAY ATi7,4):"ZEILEN 
EINGEGEBEN" 

1900 DISPLAY AT(9,4) : "ES IST 
KEINE EINGABE MEHR" 

1910 DISPLAY AT ( 11,4 ) .* "MGEGL 
ICH" 

1920 DISPLAY AT(19,4):"BITTE 
DRUECKEN SIE EINE" 

1930 DISPLAY AT(2i,4):"TASTE 


L 

I 

S 

T 

I 

N 

G 

S 


1940 CALL KEY(0, K,S) 

1950 IF 9=0 THEN 1940 ELSE 4 
00 1 
1960 IF DS=0 THEN 1970 ELSE 
2060 

1970 DISPLAY AT(4,4)ERASE AL 
L:"KEIN SPEICHERN MOEGLICH" 
1980 DISPLAY AT(6,4):"KEINE 
DATEN VORHANDEN'* 

1990 DISPLAY AT (19,4 ) .* "BITTE 
DRUECKEN SIE EINE" 

2000 DISPLAY AT(21,4):"TASTE 


2010 CALL KEY(0,K,S) 

2020 IF S=0 THEN 2010 ELSE 4 
00 

2030 REM ******************* 
2040 REM * DATEN SPEICHERN * 
2050 REM ******************* 
2060 DISPLAY AT<10,9)ERASE A 
LL:"BITTE WARTEN" 

2070 DISPLAY AT<16,3):"DATEN 
WERDEN GESPEICHERT" 

2080 OPEN #i:"DSKl.MONAT”,IN 
TERNAL,RELATIVE,FIXED 
2090 PRINT #l:DS,GK,B,DAT$ 


2100 FOR 1=1 TO DS 

2110 PRINT tfi:FIR$ <I),DA*(I) 

,BET*iI> ,OP*(I) 

2120 NEXT I 
2130 CLOSE #1 

2140 OPEN #2:“DSK1.JAHR",INT 
ERNAL,RELATIVE,FIXED 
2150 FOR 1=1 TO 12 
2160 PRINT #2:M0N(I),MO(I) 

2170 NEXT I 
2180 CLOSE #2 
2190 GOTO 400 

2200 REM ******************* 

2210 REM * DATEN LOESCHEN * 

2220 REM ******************* 

2230 DISPLAY AT (4,3)ERASE AL 
L:"MONATSDATEN LOESCHEN ?" : 

: DISPLAY AT(6,3) :"(J/N)" 

2240 ACCEPT AT(6,9)SIZE(1)VA 
LI DATE ( " J" , "N" ) BEEP.* ML* 

2250 IF ML*="" THEN 2240 
2260 DISPLAY AT(10,3):"JAHRE 
SDATEN LOESCHEN ?" :: DISPLA 
Y AT(12,3):"<J/N)" 

2270 ACCEPT AT(12,9)SIZE(1)V 
ALI DATE("J", "N")BEEP:JL* 

2260 IF Jl_*=”" THEN 2270 
2290 IF ML*="J" AND JL*="J" 

THEN 400 

2300 REM ******************* 

2310 REM * DATEN EINLESEN * 

2320 REM ******************* 

2330 DISPLAY AT<10,9)ERASE A 
LL:"BITTE WARTEN" 

2340 DISPLAY AT (16 , 4):" DATEN 
WERDEN EINGELESEN" 

2350 IF ML*=" J " THEN 2420 
2360 OPEN #1:"DSK1.MONAT",IN 
TERNAL, RELATIVE,FIXED 
2370 INPUT #1:DS,GK,B,DAT* 

2380 FOR 1=1 TO DS 

2390 INPUT #1:FIR*(I),DA*(I) 

,BET*(I),OP*(I) 

2400 NEXT I 

2410 CLOSE #1 

2420 IF JL*="J" THEN 2490 

2430 IF SS0157 THEN 2490 

2440 OPEN #2:"DSK1.JAHR",INT 

ERNAL, RELATIVE,FIXED 

2450 FOR 1=1 TO 12 

2460 INPUT #2:MON(I),MO(I) 

2470 NEXT I 
2480 CLOSE #2 
2490 GOTO 400 

2500 REM ******************* 

2510 REM * UNTERPRG.TASTE * 

2520 REM ******************* 

2530 CALL KEY(0,K,S) 

2540 IF S=0 THEN 2530 
2550. CALL CLEAR 
2560 RETURN 

2570 REM ******************* 

2580 REM * UNTERMENUE * W 


93 




2600 DISPLAY AT(8,3)ERASE AL 
L:"l-> GESAMTK08TEN" 

2610 DISPLAY AT <11,3):"2=> E 
INZELK08TEN" 

2620 DISPLAY AT<14,3):"3»> J 
AHRESK08TEN" 

2630 DISPLAY AT(17,3):"4-> J 
AHRESGRAPHIK" 

2640 DISPLAY AT<20,3):"5-> R 
UECKSPRUNG" 

2630 DISPLAY AT (23,3) :"BITTE 
WAEHLEN SIE" 

2660 CALL KEY(0,K,S) 

2670 IF S-0 THEN 2660 
2680 IF K<49 THEN 2660 
2690 IF K>33 THEN 2660 
2700 ON K-48 GOTO 2890,3130, 
4410,4100,400 

2710 REM ******************* 
2720 REM * ADDITION * 

2730 REM ******************* 
2740 IF BET* <DS) = " " THEN G=0 
:: GOTO 2770 
2730 G-VAL(BET*(DS)) 

2760 IF SS=157 THEN 2770 ELS 
E 2760 

2770 GK=G+GK 
2780 RETURN 

2790 REM ******************* 
2800 REM * SUBTRAKTION * 

2810 REM ******************* 
2820 IF BET*(DS)="" THEN G=0 
!: GOTO 2840 
2830 G-VAL(BET*(DS) ) 

2840 GK-GK-G 
2850 RETURN 

2860 REM ******************* 
2870 REM * GESAMTKOSTEN * 
2880 REM ******************* 
_ 2890 DISPLAY AT(3,4)ERASE AL 
L:"STAND "|DAT* 

2900 CALL HCHAR(3,2,88,31) 
2910 CALL HCHAR(18,2,88,31) 
2920 DISPLAY AT(7,3):"ETAT" 
2930 DISPLAY AT(7,18):"GES.K 
08TEN" 

2940 BK-B-GK 

2930 DISPLAY AT<9,4) : USING " 
####.#♦♦ DM": BK 
2960 DISPLAY AT<9,17)IUSING 
"####.## DM":GK 
2970 IF BK<-100 THEN DISPLAY 
AT<16,3):"ETAT MIN" :: GOTO 
2990 

2980 CALL VCHAR<6,17,88,12): 
: GOTO 3080 

2990 CALL VCHAR<6,17,88,12) 
3000 FOR BLINK-1 TO 10 
3010 CALL CHAR<128,"FFFFFFFF 
FFFFFFFF") 

3020 CALL SPRITE(#1,128,9,89 
,34) 


L 

I 

S 

T 

I 

N 

G 

S 


3030 CALL MAGNIFY(2) 

3040 FOR VERZ=1 TO 100 :: NE 
XT VERZ 

3030 CALL DELSPRITE(41) 

3060 FOR VERZ=i TO 100 :: NE 
XT VERZ 

3070 NEXT BLINK 
3080 DISPLAY AT(21,4):"BITTE 
DRUECKEN SIE EINE" 

*3090 DISPLAY AT(23,4):"TASTE 

N 

3100 CALL KEY(0,K,S) 

3110 IF S-0 THEN 3100 ELSE 2 
600 

3120 REM ******************* 
3130 REM * TEILKOSTEN * 
3140 REM ******************* 
3150 DISPLAY AT<4,4)ERASE AL 
L:"VON WAS BENOETIGEN SIE" 
3160 DISPLAY AT(6,4):"DIE EI 
NZELKOSTEN ?" 

3170 ACCEPT AT(8,4)BEEP SIZE 
(6)VALIDATE(UALPHA):FR* 

3180 IF FR*="" THEN 3170 

3190 TK=0 

3200 FOR 1=1 TO DS 

3210 IF FR*=FIR*(I)THEN 3330 

3220 NEXT I 

3230 DISPLAY AT(4,4)ERASE AL 
L:"DIE KOSTEN FUER "fFR* 

3240 DISPLAY AT(6,4):"BETRAG 
EN BIS ZUM "f DAT* 

3250 DISPLAY AT(8,3):USING " 

####.## dm h :tk 

3260 DISPLAY AT(19,4):"BITTE 
DRUECKEN SIE EINE" 

3270 DISPLAY AT(21,4):"TASTE 


3280 CALL KEY(0,K,S) 

3290 IF S=0 THEN 3280 ELSE 2 
600 

3300 REM ******************* 
3310 REM * TEILKOST.ERMIT * 

w w ia tO Ktrl TTT ATTTTTTTTnTTTTAn 

3330 IF OP*(I)="+" THEN GOTO 
3340 ELSE 3380 
3340 IF BET*(I)="" THEN T=0 
:: GOTO 3360 
3350 T-VAL(BET*(I)) 

3360 TK-T+TK 

3370 GOTO 3220 

3380 IF BET*(I)-"" THEN T-0 

;: GOTO 3400 

3390 T-VAL(BET*(I)) 

3400 TK-TK-T 

3410 IF 880157 THEN- TK-0 
3420 GOTO 3220 

3430 REM ******************* 
3440 REM * JAHRESKOSTEN * 
3430 REM ******************* 
3460 D*=SEG* < DA* < DS),3,3) 
3470 IF D*=".01" THEN 3480 E 
LSE 3520 


94 



3460 IF BET*(DS)=°" THEN BET 

-0 :: GOTO 3300 

3490 BET=VAL(BET*(DS)) 

3300 IF OP* <DS)=" + “ THEN MON 
<i)=MON <1)+BET ELSE MON<1)-M 
ON < 1)-BET 
3510 GOTO 4060 

3520 IF D*=" . 02" THEN 3530 E 
LSE 3570 

3530 IF BET*(DS)="“ THEN BET 

-0 :; GOTO 3530 

3540 BET=VAL(BET*(DS)) 

3550 IF OP*(DS)= M +" THEN MON 

(2) “MON<2)+BET ELSE M0N(2)=M 
0N(2)-BET 

3560 GOTO 4060 

3570 IF DS» 18 " . 03" THEN 3580 E 
LSE 3620 

3580 IF BET*(DS)=" H THEN BET 

«0 :: GOTO 3600 

3590 BET=VAL<BET*(DS)) 

3600 IF OP*(DS)= M + H THEN MON 

(3) =MON(3)+BET ELSE M0N(3)=M 
ONO) -BET 

3610 GOTO 4060 

3620 IF D*=".04“ THEN 3630 E 
LSE 3670 

3630 IF BET *(DS)=““ THEN BET 

-0 .* : GOTO 3650 

3640 BET=VAL(BET$(DS)) 

3650 IF OP*<DS)="+" THEN MON 

(4) "MON(4)+BET ELSE M0N(4)-M 
ON(4)-BET 

3660 GOTO 4060 

3670 IF D*=".05 M THEN 3680 E 
LSE 3720 

3680 IF BET« <DS>*=* “ THEN BET 

-0 :: GOTO 3700 

3690 BET=VAL(BET*(DS)) 

3700 IF OP« (DS)="+" THEN MON 
<3)*MON(5)+BET ELSE M0N(5)=M 
ONO) -BET 
3710 GOTO 4060 

3720 IF D*=" . 06“ THEN 3730 E 
LSE 3770 

3730 IF BET«(DS) =" " THEN BET 

-0 :: GOTO 3750 

3740 BET=VAL(BET*(DS)) 

3750 IF OP«(DS) - " + " THEN MON 
<6)=M0N(6)+BET ELSE M0N(6)«M 
ON(6)-BET 
3760 GOTO 4060 

3770 IF D*=". 07" THEN 3780 E 
LSE 3820 

3780 IF BET«(DS)= " " THEN BET 

-0 :: GOTO 3800 

3790 BET=VAL(BET*(DS)) 

3800 IF OP« <DS) - " + " THEN MON 

(7)=MON(7)+BET ELSE M0N(7)=M 
ON(7)-BET 
3810 GOTO 4060 

3820 IF D*=".08" THEN 3830 E 
LSE 3870 


L 

I 

S 

T 

I 

N 

G 

S 


3830 IF BET«(DS)= " “ THEN BET 

-0 :: GOTO 3850 

3840 BET=VAL(BET«(DS)) 

3850 IF OP*(DS)THEN MON 

(8) “MON(8)+BET ELSE M0N(8)-M 
ON(8)-BET 

3860 GOTO 4060 

3870 IF D*=".09" THEN 3880 E 
LSE 3920 

3880 IF BET* (DS)="" THEN BET 

-0 :: GOTO 3900 

3890 BET=VAL(BET*(DS)) 

3900 IF OP* (DS) «=" + " THEN MON 

(9) *MQN(9)+BET ELSE M0N(9)«M 
ON(9)-BET 

3910 GOTO 4060 

3920 IF D«=".10" THEN 3930 E 
LSE 3970 

3930 IF BET* (DS) = " " THEN BET 

*0 :: GOTO 3950 

3940 BET“VAL(BET*(DS)) 

3950 IF OP* (DS) = “ -f " THEN MON 

(10) “MON(10)+BET ELSE MON(10 
)«MON(10)-BET 

3960 GOTO 4060 

3970 IF D*“".11" THEN 3980 E 
LSE 4020 

3980 IF BET* <DS)= M " THEN BET 

-0 :: goto 4000 

3990 BET=VAL(BET*(DS)) 

4000 IF OP«(DS)=" + * THEN MON 

(11) "MON(11)+BET ELSE MON(11 
)«MON(11)-BET 

4010 GOTO 4060 

4020 IF D*°".12" THEN 4030 E 
LSE 4060 

4030 IF BET* (DS) “ THEN BET 

-0 :: GOTO 4050 

4040 BET«VAL(BET*(DS)) 

4050 IF OP*<DS)*" + " THEN MON 

(12) "MON(12)«BET ELSE MON<12 
)-MON(12)-BET 

4060 RETURN 

4080 REM * JAHRESGRAPHIK # 

4090 REM ^*^HHf***#****^HHHHf 
4100 FOR 1 = 1 TO 12 :: MO <I) = 

MON <I):: NEXT I 

4110 FOR 1 = 1 TO 12 :: MO <I)“ 

INT(MO(I)):: NEXT I 

4120 FOR 1=1 TO 12 

4130 IF MO<I)<=50 THEN MO(I) 

-0 

4140 IF MO(I)>50 AND MO(I)<= 

130 THEN MO(I)=100/100 ELSE 
IF MO(I)>150 AND MO <I)<=250 
THEN MO <I)=200/100 ELSE IF M 
0(1)>230 AND MO(I)<=350 THEN 
MO(I)=300/100 :: GOTO 4210 
4150 IF MO(I)>350 AND MO(I)< 

-450 THEN MO(I)=400/100 ELSE 
IF MO<I)>450 AND MO<I)<=550 
THEN MO(I)=500/100 ELSE IF MW 


95 



MO (I) >330 AND MO .<I) <=650 THE 
N MO(I)=600/100 :: GOTO 4210 
4160 IF MO <I)>650 AND MO(I)< 
=730 THEN MO<I)=700/100 ELSE 
IF MO(I)>750 AND MO(I)<=830 
THEN MO(I)=800/100 ELSE IF 
MO <I)>850 AND MO <I)<=950 THE 
N MO(I)-900/100 :: GOTO 4210 
4170 IF MO(I)>950 AND MO(I)< 
=1050 THEN MO(I)=1000/100 EL 
SE IF MO(I)>1050 AND MO(I)<= 
1150 THEN MO(I)»1100/100 ELS 
E IF MO (I) >1130 AND M0(IX = 1 
250 THEN MO(I)=1200/100 :: G 
OTO 4210 

4180 IF MO(I) >1230 AND MO(I) 
<=1350 THEN MO(I) =1300/100 E 
LSE IF MO(I) >1330 AND MO(I)< 
=1450 THEN MO(I)= 1400 / 100 EL 
SE IF MO(I) >1450 AND MO(I)<= 
1530 THEN MO ( I )=1500/100 :: 
GOTO 4210 

4190 IF MO(I)>1550 AND MO < I) 
<=1650 THEN MO(I)»1600/100 E 
LSE IF MO <I)>1650 AND MO(I)< 
»1750 THEN MO(I)=1700/100 EL 
SE IF MO(I)>1750 AND MO(I)<= 
1850 THEN MO<I)=1800/100 :: 
GOTO 4210 

4200 IF MO(I) >1850 AND MO < I) 
<=1950 THEN MO<I)-1900/100 E 
LSE IF MO(I)>1950 THEN MO(I) 
=2000/100 
4210 NEXT I 

4220 CALL CLEAR :: CALL SCRE 
EN (2) 

4230 A1*="FFFFFFFFFFFFFFFF" 

:: B1*»*0103070F1F3F7FFF , ‘ 
4240 CALL CHAR<104,Al*,112,A 
1*,120,Bl*,128,Bl*,136,Bl*): 

! CALL COLOR(10,6,2,11,12,2, 
12,2,12,13,16,2,14,12,16) 
4250 FOR 1=20 TO 1 STEP -1 : 
i DISPLAY AT(23-1,1)!I H NE 
XT I 

4260 DISPLAY AT(1,4):"KOSTEN 
IN 100 DM" S! CALL COLOR(3, 
16,2,4,16,2,5,16,2,6,16,2,7, 
16,2,8,16,2) 

4270 DISPLAY AT<24,4):"JAFEM 
AAPMAJUJLAUSEOKNODE” 

4280 IF SS»157 THEN 4290 ELS 
E 4300 
4290 M-0 

4300 FOR P-6 TO 29 STEP 2 
4310 M-M+l 

4320 IF MO <M)=0 THEN 4350 
4330 CALL VCHAR (23-MO(M),P,1 
04,MO<M)):: CALL VCHAR(23-MO 
<M),P+1,112,MQ<M)-1):: CALL 
HCHAR(22,P+l,120) 

4340 CALL HCHAR(23-MO<M),P+1 
,136):: CALL HCHAR(23-MO(M), 


L 

I 

S 

T 

I 

N 

G 

S 


P,128) 

4350 NEXT P 

4360 CALL KEY(0,K,S):: IF S= 
0 THEN 4360 ELSE 4370 
4370 CALL CLEAR :: CALL SCRE 
EN<3):: CALL COLOR <3,2,1^4,2 
,1,5,2,1,6,2,1,7,2,1,8,2,1) : 

: GOTO 2600 

4380 REM ******************* 
4390 REM * AUSGABE JAHRESK.* 
4400 REM ******************* 
4410 DISPLAY AT(1,3)ERASE AL 

L:USING "JANUAR-= > 4444. 

44 DM H : MON (1) 

4420 DISPLAY AT<3,3):USING " 
FEBRUAR...«> 4444.44 DM " : M 

ON < 2) 

4430 DISPLAY AT(5,3):USING " 
MAERZ.= > 4444.44 DM" : MO 

N (3) 

4440 DISPLAY AT(7,3):USING " 

APRIL.= > 4444.44 DM " : M 

ON < 4) 

4450 DISPLAY AT(9,3):USING " 

MAI.»> 4444.44 DM":MO 

N (5) 

4460 DISPLAY AT(11,3):USING 

“JUNI.-> 4444.44 DM" : M 

ON < 6) 

4470 DISPLAY AT<13,3):USING 

"JULI......=> fl###.## DM":M 

ON (7) 

4480 DISPLAY AT(15,3):USING 

"AUGUST _= > 4444.44 DM"!M 

ON (8) 

4490 DISPLAY AT(17,3):USING 
"SEPTEMBER »> ##44.44 DM":M 

ON (9) 

4500 DISPLAY AT(19,3):USING 
■OKTOBER... = > 4444.44 DM" : M 

ON(10) 

4510 DISPLAY AT <21,3):USING 
■NOVEMBER.. = > 4444.44 DM" : M 

ON(11) 

4520 DISPLAY AT<23,3):USING 

■DEZEMBER..-> 4444.44 DM"S M 

ON(12) 

4530 CALL KEY(0,K,S):: IF S= 
0 THEN 4530 EL8E 2600 


UNSER 

S TELEFONSERVICE S 

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

Wie immer steht unseren Lesern unser Telefon- 
Service zur Verfügung! jeden Diensta g von 15 bis 
19 Uhr . Für technische Fragen: 0731/33 220 und 
für Listings /P rogram m e: 089/129 80 13 


96 









LISTING 




Mit diesem Programm werden Rechtsanwaltskosten 
berechnet, die üblicherweise im Rahmen eines Zivil¬ 
prozesses entstehen. 

Anwender können sein: Rechtsanwälte bzw. Büro¬ 
vorsteher sowie mit Kostenfestsetzung betraute 
Rechtspfleger bei Gerichten. 

Neben Zeit- und Rechenersparnis bietet das Pro¬ 
gramm folgende Vorteile: 

— im Dialog werden zunächst die einzelnen Gebüh¬ 
rentatbestände bejaht oder verneint. Die Gefahr 
des “Vergessens“ einer Gebühr ist damit prak¬ 
tisch gebannt; 

— mit den üblichen Gebührentabellen lassen sich 
nur Gebühren aus einem Streitwert bis maximal 
5 Mio. DM ablesen, für höhere Werte ist eine 
mehr oder weniger aufwendige Berechnung erfor¬ 
derlich. Das Computerprogramm berücksichtigt 
dagegen auch Werte über 5 Mio. DM; 

— das Programm enthält sowohl die Tabelle für Re¬ 
gelgebühren als auch die Prozeßkostenhilfe- 
Tabelle, die ab einem Streitwert von über 5600,— 
DM niedrigere Gebührensätze festlegt; 

— in der Praxis wird häufig übersehen, daß bei der 


Programmablauf: _ 

a) Eingabe: 

Zunächst wird festgelegt, ob die Gebühren nach der 
BRAGO- oder der PKH-Tabelle zu errechnen sind, 
und ob es sich um Kosten der 12., oder 3. In¬ 
stanz handelt. 

Es folgt die Aufzählung der einzelnen Gebühren, 
die durch Eingaben der “1“ bejaht oder durch “0“ 
verneint werden, wobei - wenn die einzelne Ge¬ 
bühr bejaht wird - jeweils der Streitwert einzuge¬ 
ben ist. 

Das gleiche geschieht mit den Auslagen: Schreibaus¬ 
lagen werden direkt eingegeben (pro Seite 1DM 
bzw. “0“, wenn keine entstanden sind). Zur Fahrt¬ 
kostenberechnung brauchen nur die gefahrenen Ki¬ 
lometer eingegeben werden, die Berechnung über¬ 
nimmt der Computer. Werden keine Fahrtkosten 
geltend gemacht, ist wieder “0“ einzugeben. Die 
Höhe des Abwesenheitsgeldes berechnet der 
Computer selbständig aufgrund der einzugebenden 
Stunden (oder “0“, wenn nichts geltend gemacht 
wird). 



Addition von Prozeß- und Differenzgebühr insge¬ 
samt nur höchstens eine volle Gebühr aus dem 
höheren Streitwert angesetzt werden darf. Das 
Programm berücksichtigt dies dagegen automa¬ 
tisch; 

— Auf- bzw. Abrunden der Endsumme erledigt der 
Computer ebenso automatisch, wie er die Vor¬ 
schrift des §26 Satz 3 BRAGO berücksichtigt, 
nach der bei den Postauslagen Pfennigbeträge 
stets auf volle 10 Pfennig aufzurunden sind. 


Mit wenigen einfachen Zusatzstatements kann das 
Programm ergänzt werden, so daß über einen Druk- 
ker die fertigen Kostenrechnung oder der fertige 
Kostenfestsetzungsbeschluß erstellt wird. 


b) Ausdruck auf dem Bildschirm: 

Zunächst erscheint die Zeile: “Kosten berechnet 
nach“ und danach entweder “BRAGO-Tabelle“ 
oder “PKH-Tabelle“ mit den einschlägigen Geset¬ 
zesvorschriften (“BRAGO Par.“ = BRAGO- 
Paragraphen). 

Sodann werden die Gebührentatbestände mit den 
jeweils zugehörenden Streitwerten und Gebühren 
ausgedruckt. 

Danach erscheint die Zeile “Taste ENTER drük- 
ken“: hier stoppt der Ausdruck (wegen der nicht 
ausreichenden Zeilenkapazität des Bildschirmes), 
bis die Taste “ENTER“ gedrückt wird. 
Abschließend werden die Auslagen, soweit sie 
entstanden sind, Summe, Mehrwertsteuer und 
der Gesamtbetrag ausgedruckt. 


97 



10 REM *MXXXKMXXMMM ******** 

11 REM*RECHTSANWALTSKOST.* 

12 REM# * 

13 REM# Copyright by # 

14 REM#Dipl.-Rechtsp-fleg.* 

15 REM# Walter Platt # 

16 REM# # 

17 REM#Benoetigte Geraete* 

. 18 REM# TI99/4A Konsole # 

19 REM# * 

23 REM# Speicherbelegung * 

24 REM# 7789 Bytes * 

26 REM . 

150 CALL CLEAR 

160 PRINT TAB(3)|"berechnung 
von":TAB(5)I" rechtsanwaltsk 
oaten":TAB(5)f"(zivi1prozess 
)": : : : 

170 PRINT Tabelle waehlenl" 
:TAB(10)|"brago-1":TAB(10)I" 
pkh -2" 

180 INPUT TABELLE 

190 INPUT "Instanz (1,2,3)?" 

:INSTANZ 

200 PRINT 

210 PRINT "GEBUEHREN:“:TAB<4 
) \ "JA-1,NEIN-0 M 
220 PRINT 

230 INPUT "prozessgeb.?":PG 
240 IF PGOl THEN 320 
230 GOSUB 920 

260 IF INSTANZOi THEN 300 
270 PG*=G (I) 

280 SPG-S 
290 GOTO 320 
300 PG-G(I)/10#13 
310 SPG-S 

320 INPUT "volle verh./eroer 

t.geb.?":VG 

330 IF VGOl THEN 410 

340 GOSUB 920 

350 IF INSTANZOI THEN 390 

360 VG-G(I) 

370 SVG-S 
380 GOTO 410 
390 VG-G <I)/10*13 
400 SVG-S 

410 INPUT "halb- verh.geb.?" 
1 HVG 

420 IF HVGOl THEN 300 

430 GOSUB 920 

440 IF INSTANZOI THEN 480 

450 HVG-G <I)/2 

460 SHVG-S 

470 GOTO 500 

480 HVG-G(I)/20#13 

490 SHVG-S 

500 INPUT "beweisgeb. ?":BG 
510 IF BGOl THEN 390 
320 GOSUB 920 

330 IF INSTANZOI THEN 570 
340 BG-G(I) 


550 SBG-S 

560 GOTO 390 

570 BG«G(I)/10*13 

580 SBG-S 

590 INPUT "vergleichsgeb.?": 
VGG 

600 IF VGGOl THEN 680 " 

610 GOSUB 920 

620 IF INSTANZOi THEN 660 

630 VGG=G(I) 

640 SVGG-S 
650 GOTO 680 
660 VGG=G(I)/10*13 
670 SVGG-S 

680 INPUT "di-f-ferenzgeb. ?" : D 
G 

690 IF DGOi THEN 770 
700 S-SVGG-SPG 
710 SDG=S 
720 GOSUB 940 
730 IF INSTANZOI THEN 760 
740 DG=G(I)/2 
750 GOTO 770 
760 DG-G(I)/20*13 
770 INPUT "schreibaus1agen= 
SCHREIB 

780 INPUT "-fahrtkosten: km= " 
: KM 

790 FAHRT=KM*0.4 

800 INPUT "abwesenh.in stund 

en- "ISTUN 

810 IF STUN>0 THEN 840 

820 ABW=0 

830 GOTO 3510 

840 IF STUN>4 THEN 870 

850 ABW=20 

860 GOTO 3510 

870 IF STUN>8 THEN 900 

880 ABW=40 

890 GOTO 3510 ’ 

900 ABW-75 

910 GOTO 3510 

920 INPUT "streitwert?":S 

930 IF TABELLE-2 THEN 4040 

940 IF SO0 THEN 970 

950 G(I)=0 

960 GOTO 3500 

970 IF S>200 THEN 1000 

980 G(I)=30 

990 GOTO 3500 

1000 IF S>300 THEN 1030 

1010 G(I)-40 

1020 GOTO 3500 

1030 IF S>500 THEN 1060 

1040 G(I)=50 

1050 GOTO 3500 

1060 IF S>700 THEN 1090 

1070 G(I)-60 

1080 GOTO 3500 

1090 IF S>900 THEN 1120 

1100 G(I)-70 

1110 GOTO 3500 

1120 IF S>1200 THEN 1150 


L 

I 

S 

T 

I 

N 

G 

S 


98 



1130 

1140 

1150 

1160 

1170 

1160 

1190 

1200 

1210 

1220 

1230 

1240 

1250 

1260 

1270 

1260 

1290 

1300 

1310 

1320 

1330 

1340 

1350 

1360 

1370 

1380 

1390 

1400 

1410 

1420 

1430 

1440 

1450 

1460 

1470 

1460 

1490 

1500 

1510 

1520 

1530 

1540 

1550 

1560 

1570 

1560 

1590 

1600 

1610 

1620 

1630 

1640 

1650 

1660 

1670 

1680 

1690 

1700 

1710 

1720 

1730 

1740 

1750 


G (I)*85 
GOTO 3500 

IF S>1600 THEN 1180 
G(I)=103 
GOTO 3500 

IF S>2000 THEN 1210 
G (I)*121 
GOTO 3500 

IF S>2400 THEN 1240 
G (I)*139 
GOTO 3500 

IF S>2800 THEN 1270 
G (I)*157 
GOTO 3500 

IF S>3200 THEN 1300 
G(I)=175 
GOTO 3500 

IF S>3600 THEN 1330 
G(I)=193 
GOTO 3500 

IF S >4000 THEN 1360 
G(I)=211 
GOTO 3500 

IF S>4400 THEN 1390 
G(I)=229 
GOTO 3500 

IF S>4800 THEN 1420 
G(I)=247 
GOTO 3500 

IF S>5200 THEN 1450 
G(I)=265 
GOTO 3500 

IF S>5600 THEN 1480 
G(I)=283 
GOTO 3500 

IF S>6400 THEN 1510 
G(I)=321 
GOTO 3500 

IF S>7200 THEN 1540 
G(I)=358 
GOTO 3500 

IF S>8000 THEN 1570 
G(I)=395 
GOTO 3500 

IF S>9000 THEN 1600 
G(I)*442 
GOTO 3500 

IF S>10000 THEN 1630 
G(I)*489 
GOTO 3500 

IF S>12000 THEN 1660 
G(I)*552 
GOTO 3500 

IF S>14000 THEN 1690 
G(I)=615 
GOTO 3500 

IF S>16000 THEN 1720 
G <I)*677 
GOTO 3500 

IF S>18000 THEN 1750 
G(I)*739 
GOTO 3500 

IF S>20000 THEN 1780 


L 

I 

S 

T 

I 

N 

G 

S 


1760 

G(I)-800 



1770 

GOTO 3500 



1780 

IF S>25000 

THEN 

1810 

1790 

G (I)-860 



1600 

GOTO 3500 



1810 

IF S>30000 

THEN 

1840 

1820 

G <I)-960 



1630 

GOTO 3500 



1640 

IF S>35000 

THEN 

1870 

1650 

G(I)-1040 



1860 

GOTO 3500 



1670 

IF S>40000 

THEN 

1900 

1660 

G(I)-1120 



1690 

GOTO 3500 



1900 

IF S>45000 

THEN 

1930 

1910 

G(I)*1200 



1920 

GOTO 3500 



1930 

IF S>50000 

THEN 

1960 

1940 

G (I)-1235 



1950 

GOTO 3500 



1960 

IF S>55000 

THEN 

1990 

1970 

G (I)-1270 



1980 

GOTO 3500 



1990 

IF S>60000 

THEN 

2020 

2000 

G(I)-1305 



2010 

GOTO 3500 



2020 

IF S>65000 

THEN 

2050 

2030 

G (I)-1340 



2040 

GOTO 3500 



2050 

IF S>70000 

THEN 

2080 

2060 

G (I)-1375 



2070 

GOTO 3500 



2080 

IF S>75000 

THEN 

2110 

2090 

G < I)-1410 



2100 

GOTO 3500 



2110 

IF S>80000 

THEN 

2140 

2120 

G (I)-1445 



2130 

GOTO 3500 



2140 

IF S>85000 

THEN 

2170 

2150 

G(I)-1480 



2160 

GOTO 3500 



2170 

IF S>90000 

THEN 

2200 

2180 

G (I)-1515 



2190 

GOTO 3500 



2200 

IF S>95000 

THEN 

2230 

2210 

G (I)-1550 



2220 

GOTO 3500 




2230 IF S>100000 THEN 2260 


2240 G(I)-1585 

2250 GOTO 3500 

2260 IF S>110000 THEN 2290 

2270 G(I)-1605 

2260 GOTO 3500 

2290 IF S>120000 THEN 2320 

2300 G <I)-1625 

2310 GOTO 3500 

.2320 IF S> 130000 THEN 2350 

2330 G(I)-1640 

2340 GOTO 3500 

2350 IF S>140000 THEN 2380 

2360 G <I)-1710 

2370 GOTO 3500 

2360 IF S>150000 THEN 2410 




2390 G(I)=1780 
2400 GOTO 3500 
2410 IF S> 160000 THEN 2440 
2420 G<I) =1850 
2430 GOTO 3500 
2440 IF S> 170000 THEN 2470 
2450 G(I)=1920 
2460 GOTO 2460 
2470 IF S> 180000 THEN 2500 
2480 G(I) =1990 
2490 GOTO 3500 
2500 IF S> 190000 THEN 2530 
2510 G(I)=2060 
2520 GOTO 3500 
2530 IF S >200000 THEN 2560 
2540 G(I)=2130 
2550 GOTO 3500 
2560 IF S >220000 THEN 2590 
2570 G(I)=2250 
2580 GOTO 3500 
2590 IF S >240000 THEN 2620 
2600 G(I)=2370 
2610 GOTO 3500 
2620 IF S >260000 THEN 2650 
2630 G(I)=2490 
2640 GOTO 3500 
2650 IF S >280000 THEN 2680 
2660 G(I)=2610 
2670 GOTO 3500 
2680 IF S >300000 THEN 2710 
2690 G(I)=2730 
2700 GOTO 3500 
2710 IF S >320000 THEN 2740 
2720 G(I)=2850 
2730 GOTO 3500 
2740 IF S >340000 THEN 2770 
2750 G < I)=2970 
2760 GOTO 3500 
2770 IF S >360000 THEN 2800 
2780 6(1) =3090 
2790 GOTO 3500 
2800 IF S >380000 THEN 2830 
2810 G(I)=3210 
2820 GOTO 3500 
2830 IF S >400000 THEN 2860 
• 2840 6 <I)=3330 
2850 GOTO 3500 
2860 IF S >430000 THEN 2890 
2870 G(I)=3450 
2880 GOTO 3500 
2890 IF S >460000 THEN 2920 
2900 G(I)=3570 
2910 GOTO 3500 
2920 IF S >490000 THEN 2950 
2930 G(I)=3690 
2940 GOTO 3500 
2950 IF S>520000 THEN 2980 * 
2960 G(I)=3810 
2970 GOTO 3500 
2980 IF S >550000 THEN 3010 
2990 G <I)=3930 
3000 GOTO 3500 
3010 IF S >580000 THEN 3040 


L 

I 

S 

T 

I 

N 

G 

S 


3020 G(I)=4050 

3030 GOTO 3500 

3040 IF S>610000 THEN 3070 

3050 G(I)=4170 

3060 GOTO 3500 

3070 IF S>640000 THEN 3100 

3080 G(I)=4290 

3090 GOTO 3500 

3100 IF S>670000 THEN 3130 

3110 G(I)=4410 

3120 GOTO 3500 

3130 IF S>700000 THEN 3160 

3140 G(I)=4530 

3150 GOTO 3500 

3160 IF S>730000 THEN 3190 

3170 G(I)=4650 

3180 GOTO 3500 

3190 IF S>760000 THEN 3220 

3200 G(I)=4770 

3210 GOTO 3500 

3220 IF S>790000 THEN 3250 

3230 G(I)=4890 

3240 GOTO 3500 

3250 IF S>820000 THEN 3280 

3260 G(I)=5010 

3270 GOTO 3500 

3280 IF S>850000 THEN 3310 

3290 G(I)=5130 

3300 GOTO 3500 

3310 IF S>880000 THEN 3340 

3320 G(I)=5250 

3330 GOTO 3500 

3340 IF S>910000 THEN 3370 

3350 G(I)=5370 

3360 GOTO 3500 

3370 IF S>940000 THEN 3400 

3380 G <I)=5490 

3390 GOTO 3500 

3400 IF S>970000 THEN 3430 

3410 G(I)=5610 

3420 GOTO 3500 

3430 IF S>1000000 THEN 3460 

3440 G(I)=5730 

3450 GOTO 3500 

3460 QUOTE=(S-1000000)/50000 

3470 FAKTOR=INT(-QUOTE) 

3480 FAKTOR=ABS(FAKTOR) 

3490 G(I)=FAKTOR*150+5730 
3500 RETURN 
3510 CALL CLEAR 
3520 PRINT "kosten berechnet 
nach: " 

3530 IF TABELLE=i THEN 3560 
3540 PRINT "pkh-tabelle":"br 
ago-par.121,123,126 sowie" 
3550 GOTO 3570 
3560 PRINT "brago-tabelle" : " 
brago-par.:" 

3570 PRINT "11,23,25-28,31-3 
3. " 

3580 PRINT 

3590 IF PG<1 THEN 3610 
3600 PRINT "proz.g:":"wert=" 


100 



j SPG|"dm":TAB(12)JPG;"DM" 
3610 IF VG<1 THEN 3630 
3620 PRINT "eroert.g bzw.":" 
volle verh.g:":"wert=";SVG;" 
dm":TAB(12)5 VG;"dm" 

3630 IF HVG<1 THEN 3650 
3640 PRINT "halbe verh.g:":" 
wert:"JSHVGJ"dm":TAB(12)JHVG 
; "dm" 

3650 IF BG<1 THEN 3670 
3660 PRINT "bew.g:":"wert:"J 
SBGj"dm":TAB(12)|BGi"dm" 

3670 IF VGG<1 THEN 3690 
3680 PRINT "vergl.g:":"wert: 
";SVGG;"dm":TAB(12),*VGGJ"dm" 
3690 IF DG<1 THEN 3740 
3700 KON=VGG-PG 
3710 IF DG<KON THEN 3730 
3720 DG=KON 

3730 PRINT "di-f-f. g: ": "wert: " 

;8DG| "dm":TAB(12) 5 DGf"dm": 
3740 PRINT 

3750 INPUT "taste ENTER drue 
cken!":ETR$ 

3760 IF SCHREIBCi THEN 3780 
3770 PRINT :"schreibausl.=": 
TAB(12 )5 SCHREIB;"dm" 

3780 IF FAHRT<0.4 THEN 3800 
3790 PRINT "-fahrtkosten: " : KM 
;"km*0.40 dm":TAB(12)iFAHRT; 
"dm" 

3800 IF STUN< =0 THEN 3820 
3810 PRINT "tagegeld:":STUN; 
"stunden=":TAB(12);ABW;"dm" 
3820 GESAMT=PG+VG+HVG+BG+VGG 
+ DG 

3830 POST=GESAMT/100*15 
3840 IF POST >40 THEN 3850 EL 
SE 3860 
3850 PQST=40 

3860 IF POST=0 THEN 3900 
3870 IF 10*POST-INT(10*POST) 
«=0 THEN 3890 

3880 PQST=(INT(10*POST)+1)/I 
0 

3890 PRINT "postgeb.=":TAB(1 
2)JPOSTJ"dm": 

3900 PRINT 

3910 SUMME=GESAMT + POST + SCHRE 
IB + FAHRT + ABW 

3920 PRINT "summe=";TAB(12); 
SUMME;"dm" 

3930 MWST=SUMME/100*14 
3940 PRINT "14%mwst="JTAB(12 
)|MWST|"dm":"_ 

11 

3950~XX=SUMME+MWST 
3960 IF 100*XX-INT(100*XX)=0 
THEN 4020 

3970 XY=(100*XX)-INT(XX*100) 
3980 IF XY<0.5 THEN 4010 
3990 XX=(INT(100*XX)+1)/100 
4000 GOTO 4020 


L 

I 

S 

T 

I 

N 

G 

S 


4010 XX=INT(XX*100)/100 
4020 PRINT "gesamt:";TAB(12) 


;xx;" 

'dm": 



4030 

END 



4040 

IF S< =5600 

THEN 

940 

4050 

IF S>6400 THEN 4080 

4060 

G (I)=298 



4070 

GOTO 3500 



4080 

IF S>7200 THEN 4110 

4090 

G (I)=324 



4100 

GOTO 3500 



4110 

IF S>8000 THEN 4140 

4120 

G (I)=346 



4130 

GOTO 3500 



4140 

IF S>9000 THEN 4170 

4150 

G (I)=368 



4160 

GOTO 3500 



4170 

IF S>10000 

THEN 

4200 

4180 

G(I)=390 



4190 

GOTO 3500 



4200 

IF S>12000 

THEN 

4230 

4210 

G(I)=408 



4220 

GOTO 3500 



4230 

IF S > 14000 

THEN 

4260 

4240 

G ( I ) =426 



4250 

GOTO 3500 



4260 

IF S>16000 

THEN 

4290 

4270 

G ( I ) =444 



4280 

GOTO 3500 



4290 

IF S>18000 

THEN 

4320 

4300 

G ( I ) =462 



4310 

GOTO 3500 



4320 

IF S>20000 

THEN 

4350 

4330 

G ( I ) =480 



4340 

GOTO 3500 



4350 

IF S>25000 

THEN 

4380 

4360 

G(I ) =491 



4370 

GOTO 3500 



4380 

IF S>30000 

THEN 

4410 

4390 

G ( I ) =502 • 



4400 

GOTO 3500 



4410 

IF S>35000 

THEN 

4440 

4420 

G(I)=513 



4430 

GOTO 3500 



4440 

IF S>40000 

THEN 

4470 

4450 

G (I)=524 



4460 

GOTO 3500 



4470 

IF S>45000 

THEN 

4500 

4480 

G(I)=532 



4490 

GOTO 3500 



4500 

G(I)=540 



4510 

GOTO 3500 




PRIVATE 

KLEINANZEIGEN 

KOSTENLOS! 


101 






LISTING 


Speech Synthesizer oder keine RAM-Erweiterung 
angeschlossen, so erscheint eine Warnung des Pro¬ 
gramms und es bricht ab. 

a) = STRING AUSSPRECHEN __ 

Hier können Sie erstellte Speechstrings vom SPS. 
aussprechen lassen. Nach dem Drücken von A kom¬ 
men Sie in ein Untermenü, in dem Sie wählen kön¬ 
nen, ob Sie mit A) einen erstellten String ausspre¬ 
chen lassen möchten oder ob Sie mit B) Wörter 
aus dem Wortschatz des SPS. eingeben möchten, 
die dann ausgesprochen werden. 

Zu A) muß man noch anfügen, daß alle Speech¬ 
strings unter einem von Ihnen eingegebenen Namen 
abgespeichert werden. Diesen Namen müssen Sie 
eingeben, wenn Sie einen String bearbeiten oder 
sonstiges mit ihm machen möchten. Sie werden je¬ 
weils aufgefordert, den Namen einzugeben. Haben 
Sie einen unbekannten Namen eingegeben, so kön¬ 
nen Sie sich das Namensverzeichnis auflisten lassen. 
Die Tastenbelegungen sind jeweils angegeben. 


Dieses Programm erlaubt die Möglichkeiten des 
Speech Synthesizers, wie sie unter Extended-Basic 
gegeben sind, voll auszukosten. Sie werden sehen, 
daß der Speech Synthesizer mehr kann, als nur 
englisch zu sprechen. 

Hier einige Beispiele, die Sie,nachdem Sie die Anlei¬ 
tung gelesen haben, einmal ausprobieren sollten. 
Die Beispiele müssen Sie dann unter B eingeben. 

a) Kratzen einer Plattenspielernadel auf einer 
Schallplatte: 

96,0,12,130,0,0,37,167,42,221,98,231,59,191, 

249 

b) Das Klopfen an Glas: 
96,0,7,55,0,0,37,167,42,221 

c) Beispiel von konreten Namen: 
96,0,26,0,0,0,0,0,43,215,180,167,51,219 217 
206,1 19,190,243,81,212,34,132,93,75,102,213 

«171,90 „ . 

Alle Beispiele müssen unter B (String erstellen) ein¬ 
gegeben werden. 


Anmerkung 


b) = STRING EINGEBEN 


Das Programm läuft sowohl mit Kassettenrekorder 
als auch mit Diskettenstation. Dies liegt daran, daß 
es mit seiner Länge von 11940 Bytes noch vom Kas- 
settenloader geladen und gelesen werden kann. 

Die Speichererweiterung wird aber unbedingt für 
die Variablen benötigt, die im Programm anfallen. 
Erklärung, wie Sie die Speechstrings in ein Programm 
einbinden können, am Beispiel a: 

Zuerst müssen Sie die Codes in Datazeilen abspei¬ 
chern 

100 DATA 96,0,12,130,0,0,37,167,42,221,98,231, 
59,191,249 

110 RESTORE 100 :: FOR 1=1 TO 15 :: READ 
A$ :: B$=B$&CHR$(A$) :: NEXT I 
Nach diesen beiden Zeilen steht Ihnen das Geräusch 
mit CALL SAY(,B$) zur Verfügung. 


Hier können Sie eigene Speechstrings eingeben. 
Nach der Anwahl von B gelangen Sie in ein Unter¬ 
programm. Mit A) brauchen Sie erst beim vierten 
Code anfangen einzugeben, da die ersten drei Codes 
in der Regel gleich sind, nämlich CHRS(96)&CHRS 
(0)&CHRS (Anzahl der noch folgenden Codes). 

Mit B) können Sie auch die ersten drei Codes mit 
eingeben. Nach diesem Untermenü kehren Sie zur 
eigentlichen Eingabe zurück. Steht vor dem Recht¬ 
eck in der Bildschirmmitte ein Pfeil, so können Sie 
Werte zwischen 0 und 255 eingeben. Steht kein 
Pfeil davor, so gelten Tastenbelegungen, die im un¬ 
teren Teil des Bildschirms angegeben sind. Haben 
Sie hier FCTN 3 gedrückt, so werden Sie gefragt, 
ob Sie eine neue Eingabe machen möchten. Tippen 
Sie hier J ein, so können Sie einen neuen String 
eingeben, aber der alte geht verloren. Wenn Sie al¬ 
lerdings N eingeben, so können Sie den soeben ein¬ 
gegebenen String mit einem Namen belegen und 


PROGRAMMBESCHREIBUNG 


Nach dem Programmstart steht Ihnen sofort das 
Hauptmenü zur Verfügung. Haben Sie keinen 






LISTING 


abspeichern. Es können maximal 20 Strings abge¬ 
speichert werden. 

c) = STRING AUSGEBEN _ 

Hier können Sie sich die ASCII-Werte eines abge¬ 
speicherten Strings ansehen. Auch hier müssen Sie 
zuerst den Namen des Strings eingeben. Danach 
wird oben auf dem Bildschirm der Name ausgege¬ 
ben, darunter der String als Wort, darunter der 
erste ASCII-Code und daneben die Stelle, an der 
sich der Code gerade befindet. Am Anfang ist die¬ 
ser Wert 1, da es sich um den ersten Code handelt. 
Mit den Tasten E und X können Sie nun die 
Codes „druchscrollen“. 

d) = STRINGS ANEINANDERHÄNGEN _ 

Hier können Sie zwei Strings zu einem String ver¬ 
binden. Dazu werden Sie aufgefordert, zuerst den 
Namen des Strings einzugeben, der später vorne 
stehen soll und danach den Namen des Strings 
einzugeben, der später hinten steht. Haben Sie 
dies getan, so erscheint der Kommentar, daß die 
Strings verbunden sind und Sie werden aufgefor¬ 
dert, einen Namen für den neuen String einzuge¬ 
ben. Anzumerken ist noch, daß der dritte Code 
des neuen Strings nicht angepaßt wurde (der Lan- 
gencode). 

e) = STRINGS VERÄNDERN _ 

Hier können Sie nun Teile eines Strings verändern. 
Zuerst müssen Sie wieder den Namen eingeben. 
Dann werden Sie gefragt, ob Sie ein oder mehrere 
Zeichen eingeben möchten. Haben Sie auch dies 
getan, so werden Sie aufgefordert, einzugeben, an 
welcher Stelle Sie mit der Änderung beginnen 
möchten. Dazu sollten Sie sich unter STRING 
AUSGEBEN die Nummer aufschreiben, an der Sie 
z.B. einen Fehler entdeckt haben. 

f) = TEILE DES STRINGS LÖSCHEN _ 

Hier können Sie Teile eines Strings herauskürzen. 
Zuerst müssen Sie den Stringnamen eingeben und 
dann Anfangs- und Endnummer von dem Stück, 
das gelöscht werden soll, eingeben. Nehmen Sie für 
die Nummern c) STRING AUSGEBEN zu Hilfe. 
Haben Sie die Nummern eingegeben, können Sie 
wählen, ob die ersten drei Codes des neuen Strings 
angepaßt werden oder ob sie unverändert bleiben 
sollen. Danach können Sie den Namen für den 
neuen String eingeben. 

g) = NAMENSVERZEICHNIS _ 

Unter G wird das Namensverzeichnis der Strings 
ausgegeben, welches Sie auch anwählen können, 
wenn Sie einmal einen falschen Stringnamen einge¬ 
geben haben. 

h) = WORT IN STRING UMWANDELN _ 

Hier können Sie nun ein Wort aus dem Sprach¬ 
schatz des SPS. eingeben und es in einen Speech¬ 
string mittels CAL SPGET um wandeln lassen. Da¬ 
nach müssen Sie den String wieder unter einem 
Namen abspeichern. 

i) = ABSPEICHERN _ 

Mit I können Sie die gesamten Speechstrings auf 


Kassette oder Diskette abspeichern. Zu beachten 
ist hier nur, daß aus systembedingten Gründen 
Speechstrings mit einer Länge größer als 191 Zei¬ 
chen auf 191 Zeichen gekürzt werden müssen. 

Bei einem Diskettenlaufwerk werden sie vollstän¬ 
dig abgespeichert. 

j) = EINLESEN _ 

Mit J können Sie die Speechstrings und deren Na¬ 
men wieder einiesen. 

k) = DRUCKEN _ 

Mit K können Sie die Codes der Speechstrings und 
deren Namen ausdrucken. 

l) = STRING LOSCHEN _ 

Hier können Sie einen String und dessen Namen lö¬ 
schen. Sie müssen lediglich den Namen des Strings 
eingeben, den Sie löschen möchten. Haben Sie ei¬ 
nen String gelöscht, verschwindet dessen Name auch 
aus der Namensliste, und die nachfolgenden Namen 
rücken nach oben. 

m) = STRING EINFÜGEN _ 

Hier können Sie nun einen String in einen anderen 
String einschieben. Dazu geben Sie bitte zuerst den 
Namen des Strings an, in den ein String eingefügt 
werden soll und danach den Namen des Strings, 
den Sie einfügen möchten. Haben Sie dies getan, 
müssen Sie noch die Stelle angeben, an der der 
String eingefügt werden soll. 

Ist dies alles geschehen, geben Sie bitte den Namen 
für den String ein. 

n) = LÄNGE DES STRINGS _ 

Mit N können Sie sich die Länge eines Strings aus¬ 
geben lassen. 


o)= ENDE __ 

O beendet das Programm. 

Haben Sie schon 20 Strings erstellt und Sie wählen 
ein Unterprogramm an, in dem Sie einen neuen 
String erstellen, so erscheint eine Warnung und Sie 
müssen erst einen String löschen oder die Strings 
abspeichern und neu starten, bevor Sie einen neuen 
String erstellen können. Alle weiteren Funktionen 
und Tastenbelegungen, die hier nicht erklärt wur¬ 
den, sind” aus dem Programm ersichtlich. 

Weiter empfehle ich, den ON ERROR-Befehl in 
Zeile 230 zu streichen, wenn Sie das Programm 
eintippen. Der On Error-Befehl überwacht die 
Druck-, die Abspeicher-, die Lade- und alle anderen 
Programmroutinen. 

Bei der Druck-, der Abspeicher- und der Laderouti¬ 
ne erscheinen bei einem Fehler spezielle Fehlermel¬ 
dungen und nach einem Tastendruck kehren Sie ins 
Hauptmenü zurück. Bei einem anderen ERROR 
kehren Sie sofort ins Hauptmenü zurück. 

Das Programm ist, so weit es geht, absturzsicher. 
Dies wurde durch die ON ERROR-, die ON 
WARNING NEXT-, und die ON BREAK NEXT- 
Optionen erreicht. Weiter wurde auch die Quitt¬ 
taste abgeschaltet. 

Dirk Junghans 


103 








10 
4 4 

▲ JU 
12 

13 

14 

15 

16 

19 

20 
21 
22 

23 

24 

25 

26 

27 

28 

29 

30 

31 

32 

33 


V V V V V V V V V V V V V V V V V V V. V V V 
A fl ÄAAflAnAAAÄÄAÄAnAAAfln 

* * 

* SPEECHPROZESSOR 2 * 

* * 

* Copyright by * 

* Dirk Junghans * 

* * 

* Benoetigte Geraete * 

* TI99/4A Konsole * 

* Ext. Basic * 

* Speechsynthesizer * 

* 32K-RAM-Erweiterung* 

* Kassettenrekorder * 

* oder * 

* Diskettenstation * 

* optional :Drucker * 

* * 

* Speicherbelegung * 

* 11330 Bytes * 

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


150 CALL PEEK(-31868,A,B) : : 
IF A=0 AND B=0 THEN 160 ELSE 


180 

160 CALL CLEAR :: CALL SOUND 
(200,220,0):: PRINT “WARNUNG 
!.UEBERPR 


L 

I 

S 

T 

I 

N 

G 

S 


UEFE SYSTEM !“ 

170 PRINT :: PRINT "KEINE RA 
MERWEITERUNG ERKANNT !" :: S 
TOP 

180 CALL PEEK(-28276,A):: IF 
A< >0 THEN 210 

190 CALL CLEAR :: CALL SOUND 
(200,220,0):: PRINT "WARNUNG 

!.UEBERPR 

UEFE SYSTEM !" 

200 PRINT :: PRINT "KEIN SPE 
ECH SYNTHESIZER.ERKANNT 

!» :: stop 

*■ 210 CALL INIT :: CALL LOAD < - 
31806,16) 

220 CALL SCREEN<3):: FOR 1=0 
TO 9 :: CALL COLORd, 2,3) :: 
NEXT I :: OPTION BASE 1 
230 ON ERROR 1790 :: ON BREA 
K NEXT !: ON WARNING NEXT 
240 DIM SP*<20),NA$<20) , 

250 DATA A=STRING AUSSPRECHE 
N,B=STRING EINGEBEN,C=STRING 
AUSGEBEN,D=STRINGS ANEINAND 
ERHAENGEN,E“STRING VERAENDER 
N 

260 DATA F=TEILE DES STRINGS 
LOESCHEN,G-NAMENSVERZEICHNI 
S,H=WORT IN STRING UMAENDERN 
,I«ABSPEICHERN,J“EINLESEN,K= 
DRUCKEN 

270 DATA L=STRING LOESCHEN, M 
«STRING EINFUEGEN,N=LAENGE D 
ES STRINGS,0=ENDE 
280 DISPLAY AT(1,1)ERASE ALL 


:"SPEECHPROZESSOR 2. 

..(0 1986 BY DIRK JUNGHANS.. 

.(DJIS)" :: DISP 

LAY AT(4,i):RPT*<"-",28) 

290 RESTORE 250 
300 FOR 1=1 TO 15 :: READ A$ 
:: DISPLAY AT(I+5,1):A* :: 
NEXT I :: DISPLAY AT(23,5):" 
BITTE TASTE WAEHLEN" 

310 CALL KEY <0,K,S):: IF K<6 
5 OR K>79 OR S*0 THEN 310 
320 IF K>70 THEN 340 
330 ON K-64 GOTO 410,600,840 
,950,1120,1380 

340 ON K-70 GOTO 350,1500,36 
0,370,380,1590,1640,1760,390 
350 CALL INHALT(NA$()): : GOT 
0 280 

360 GOSUB 2090 :: GOTO 280 
370 GOSUB 2180 :: GOTO 280 
380 GOSUB 2270 I: GOTO 280 
390 DISPLAY AT(10,1 ) ERASE AL 
L:"BEENDEN ?(J/N)" 

400 CALL KEY <0,K,S) : : IF K=7 
4 THEN PRINT "BYE !" :: STOP 
ELSE IF K=78 THEN 280 ELSE 
400 

410 DISPLAY AT ( 10,1)ERASE AL 
L!"<A> GESPEICHERTEN STRING. 

.AUSSPRECHEN. 

...<B> WOERTER EINGEBEN UND. 

.AUSSPRECHEN" 

420 CALL KEY(0,K,S) :: IF S=0 
OR K< 65 OR K >66 THEN 420 
430 IF K=66 THEN 510 
440 GOSUB 1980 :: IF NM=0 TH 
EN 280 

450 DISPLAY AT(20,1)ERASE AL 

l:"<space> aussprechen. 

...<FCTN 8> NEUE EINGABE.... 
...<FCTN 9> ZURUECK" 

460 DISPLAY AT(8,1):"NAME DE 

s strings :" :: Display at<i 
0,1):NA*(NM) 

470 CALL KEY(0,K,S):: IF KO 
32 THEN 490 

480 CALL SAY(,SP$(NM)):: GOT 
0 470 

490 IF K< >15 THEN 500 ELSE G 
OTO 280 

500 IF K< >6 THEN 470 ELSE .41 
0 

510 DISPLAY AT(10,1):"BITTE 
ZEICHENFOLGE EINGEBEN.ES SIN 

D ALLE ZEICHEN.ERLAUB 

T, DIE DER SP.SY. VER-ARBEIT 
EN KANN. <#.+-) " 

520 DISPLAY AT(14,1):"AUSSER 
DEM KOMMA (,)" 

530 DISPLAY AT( 14,1 ): "EINGAB 
E MAX 5 ZEILEN." :: INPUT_S* 
540 DISPLAY AT( 10,1 ) ERASE AL 
L: S$ 


104 














550 DISPLAY AT <20,1) : " <SPACE 


> AUSSPRECHEN.<FCTN 

8> NEUE EINGABE.<FCTN 

9> ZURUECK" 


560 CALL KEY(0,K,S):: IF KO 
32 THEN 560 

570 CALL SAY(S*):: GOTO 560 
580 IF KO 15 THEN 590 ELSE G 
0T0 280 

590 IF K<>6 THEN 560 ELSE 41 

0 

600 GOSUB 1940 
610 W*="" :: DISPLAY AT(2,1) 
ERASE ALL:"ES KOENNEN NUR WE 
RTE VON....0 BIS 255 EINGEGE 
BEN WERDEN." 

620 DISPLAY AT(10,1):"<A> DI 


E ERSTEN DREI KODES.AU 

TOMATISCH ERSTELLEN.LA 

SSEN.<B> EI 


NGABE DER ERSTEN DREI KODES" 

630 DISPLAY AT(14,1): U _VO 

N HAND" 

640 CALL KEY(0,K,S)i: IF S=0 
OR K<65 OR K>66 THEN 640 
650 IF K=65 THEN VH=0 ELSE V 
H-l 

660 DISPLAY AT(10,1):RPT*(" 
",255) 

670 DISPLAY AT(10,10): H - 

" !: DISPLAY AT(11,10)S"I 
I" :: DISPLAY AT(12,10):" - 

680 DISPLAY AT(20,10):"<ENTE 

R>NAECHSTE EINGABE.<FCT 

N 3>EINGABE BEENDEN" 

690 IF VH=0 THEN ZAE=4 ELSE 
ZAE=1 

700 DISPLAY AT( 10,17) :ZAE 
710 DISPLAY AT(11,8)SIZE(2): 
"->" :: ACCEPT AT(11,11)SIZE 
<-3)SW :: IF W<0 OR W>255 TH 
EN 710 ELSE W*=W*S<CHR*<W) 

720 DISPLAY AT(11,8)SIZE(2): 

H H 

730 FÜR 1=1 TO 50 :: NEXT I 
740 CALL KEY <0,K,S):: IF S=0 
THEN 740 

750 IF K< >13 THEN 770 
760 ZAE-ZAE+1 :: GOTO 700 
770 IF K<>7 THEN 740 ELSE DI 
SPLAY AT(20,1):"NEUE EINGABE 
? <J/N)"&RPT*(" ■,50) 

780 CALL KEY<0,K,S):: IF K=7 
4 THEN 610 ELSE IF K=78 THEN 
790 ELSE 780 
790 AN-AN+1 
800 GOSUB 1920 
810 IF VH=1 THEN 830 
820 SP*(AN)“CHR*(96) &CHR*(0) 
&CHR* (LEN < W*) ) ÄeW* :: GOTO 28 
0 

830 SP*(AN)=W* :: GOTO 280 


L 

I 

S 

T 

I 

N 

G 

S 


840 GOSUB 1980 :: IF NM«0 TH 
EN 280 

850 DISPLAY AT(3,1)ERASE ALL 
:rpt*("-",28):: Display at<i 
4,1):RPT*<"-",28) 

860 DISPLAY AT(2,1):NA* <NM>: 
: DISPLAY AT(4,1):SP*(NM) 

870 DISPLAY AT<21,1):"<X>VOR 


WAERTS.< E >RUE 

CKWAERTS...<FCTN 

8>N0CHMAL. ..<FCTN 

9>ZURUECK" 


880 FOR 1=1 TO LEN(SP*(NM)): 

: DISPLAY AT(16,10):ASC(SEG* 

(SP* <NM),1,1)):: DISPLAY AT < 
16,20):I 

890 CALL KEY(0,K,S):: IF K=1 
5 THEN 280 ELSE IF K-6 THEN 
840 

900 IF K=88 THEN 930 
910 IF K< >69 THEN 890 
920 1=1-2 :: IF I<0 THEN 1=0 
930 IF I=LEN(SP*(NM) ) THEN 1= 

LEN(SP*(NM))-1 
940 NEXT I 

950 GOSUB 1940 :: CALL CLEAR 
960 DISPLAY AT(10,1 ): "BITTE 
GEBEN SIE NACHDEM SIE EINE T 
ASTE GEDRUECKT HABEN DIE BE 
IDEN NAMEN DER STRINGSEIN, D 

IE SIE VERBINDEN.MOECHT 

EN. " 

970 DISPLAY AT(18,1):"BITTE 
TASTE DRUECKEN " 

980 CALL KEY(0,K,S): : IF S=0 
THEN 980 

990 CALL MAGNIFY(2) :: CALL C 
LEAR :: CALL SPRITE(#1,49,2, 

80,120,M2,46,2,80,128):: DIS 
PLAY AT <12,18)I"NAME" 

1000 FOR 1=1 TO 350 :: NEXT 
I :: CALL DELSPRITE(ALL):: G 
OSUB 1980 :! IF NM-0 THEN 28 
0 

1010 NM1=NM :: CALL CLEAR :: 

CALL SPRITE(#1,50,2,80,120, 
442,46,2,80,129):: DISPLAY AT 
<12,18):"NAME" :: FOR 1=1 TO 
350 :: NEXT I 

1020 CALL DELSPRITE(ALL):: G 
OSUB 1980 :: IF NM-0 THEN 28 
0 

1030 NM2-NM 

1040 CALL CLEAR :: DISPLAY A 
T(8,1):"NAME 1 :"f NA*(NMl)f" 

UND" :: DISPLAY AT(10,1):"N 
AME 2 :"|NA*(NM2):: DISPLAY 
AT(12,1):"SIND VERBUNDEN." 

1050 NM*=SP*(NM1)&SP* < NM2) 

1060 AN=AN+1 
1070 GOSUB 1920 
1080 SP*(AN)=NM* 

1090 DISPLAY AT(19,10):RPT*( W 


105 














" ”,140) 

1100 DISPLAY AT <19, 1) *. "<FCTN 

8> NOCHMAL.<FCNT 

9> ZURUECK" 

1110 CALL KEY<0,K,S):: IF K= 
6 THEN 950 ELSE IF K=15 THEN 
280 ELSE 1110 

1120 60SUB 1940 :: GOSUB 198 
0 :: IF NM-0 THEN 280 
1130 DISPLAY AT(10,1)ERASE A 
LL: M <A> EIN ZEICHEN AENDERN. 


....<B> MEHRERE ZEICHEN AEND 
ERN“ 

1140 CALL KEY <0,K,S) :: IF K= 
65 THEN 1150 ELSE IF K=66 TH 
EN 1230 ELSE 1140 
1150 CALL CLEAR :: DISPLAY A 
T(5,1):"NAME :"|NA*(NM) 

1160 DISPLAY AT(10,1):"AN WI 
EVIELTER STELLE STEHT DAS Z 
EICHEN, DAS SIE AEN-...DERN 
MOECHTEN ? : n 

1170 ACCEPT AT(12,18)SIZE(3) 
VALIDATE(DIGIT):A :: IF A>25 
5 THEN 1170 , 

1180 DISPLAY AT<15,1):"DAS Z 

EICHEN BESITZT DEN.ASCII 

-CODE :";ASC(SEG*(SP*(NM),A, 
1)):: DISPLAY AT(18,1):"NEUE 
R CODE :" 

1190 ACCEPT AT (18,13)SIZE(3) 
VALIDATE(DIGIT) :B :: IF B>25 

5 THEN 1190 

1200 A*=SEG*(SP*(NM),1,A-1)& 
CHR*(B)&SEG*(SP*(NM) , A+l, LEN 
(SP*(NM) )-A) 

1210 AN=AN+1 :: GOSUB 1920 : 

: sp*(AN)*a* :: Display at<i 
9,1):rpt*(" ",112):: Display 
AT(23,1):"<FCTN 8>N0CHMAL.. 

.<FCTN 9>ZURUECK" 

1220 CALL KEY(0,K,S):: IF K= 

6 THEN 1120 ELSE IF K-15 THE 
N 280 ELSE 1220 

1230 DISPLAY AT<5,1 JERASE AL 
l:"NAME :"sna*<nm> 

1240 DISPLAY AT(8,1):"AN WIE 

VIELTER STELLE...MOECHT 

EN SIE MIT DER AENDE- RUNG B 
EGINNEN ? " 

1250 SZ*="" :: ACCEPT AT <10, 
18)SIZE(3)VALIDATE(DIGIT):A 
:: B-A :: if A>255 then 1250 

1260 DISPLAY AT(8,1):RPT*(" 
«,112):: DISPLAY AT<22,1):"< 

ENTER>NAECHSTE EINGABE.< 

FCNT 8>NEUE STARTADRESSSE < 
FCTN 3>EINGABE BEENDEN« 

1270 DISPLAY AT<12,1):"ALTER 
CODE :" :: DISPLAY AT(14,1) 
:"EINGABE :" :: DISPLAY AT <1 
2,13) :ASC(SEG*(SP*(NM),A,1 )) 


L 

I 

S 

T 

I 

N 

G 

S 


1280 DISPLAY AT ( 10,1 ): "NUMME 
r :" :: Display at<10,9):a 
1290 ACCEPT AT ( 14,10)SIZE(3) 
VALIDATE(DIGIT):WE :: IF WE> 
255 THEN 1290 
1300 SZ*=SZ*&CHR*(WE) 

1310 CALL KEY(0,K,S):: IF K< 
>13 THEN 1340 

1320 A=A+i :: IF A>LEN(SP*(N 
M))THEN A-A-l 
1330 GOTO 1270 
1340 IF K=6 THEN 1230 ELSE I 
F K-7 THEN 1350 ELSE 1310 
1350 A*=SEG*(SP*(NM),1,B-l)& 
SZ*8cSEG* (SP* (NM) , A + l, LEN (SP* 
<NM))-A):: AN-AN+1 :: sp*(AN 
) «=A* :: DISPLAY AT(22,1):RPT 
$(*' «,84):: GOSUB 1920 
1360 DISPLAY AT(19,1):RPT*(" 
",168):: DISPLAY AT(23,1):" 

<FCTN 8>NOCHMAL. 

<FCTN 9>ZURUECK" 

1370 CALL KEY <0,K,S):: IF K= 

6 THEN 1230 ELSE IF K«15 THE 
N 280 ELSE 1370 
1380 GOSUB 1940 :: GOSUB 198 
0 :: IF NM=0 THEN 280 
1390 DISPLAY AT(9,1)ERASE AL 
L:"WELCHER TEIL DES STRINGS 
SOLL GELOESCHT WERDEN. BI 
TTEANFANGS UND ENDNUMMER EIN 
- GEBEN." 

1400 DISPLAY AT ( 14,1 ): NA*(NM 
):: DISPLAY AT(16,1):"V0N>.. 

(, BIS > . . . < " 

1410 ACCEPT AT < 16, 5) SIZE(3) : 
NI :: ACCEPT AT(16,14)SIZE(3 
) I N2 

1420 IF (Nl<1 )OR (N2< 1)OR (NI > 
LEN(SP*(NM)))0R(N2>LEN(SP*(N 
M)))OR(Ni>N2)THEN 1400 
1430 AN=AN+1 :: N0*=SEG*(SP* 
(NM) , 1, Nl-1) ÄäSEG* (SP* (NM) , N2 
+1 ,LEN(SP*(NM))-N2):: SP*(AN 
)«N0* 

1440 DISPLAY AT(10,1)ERASE A 
LL:"<1> DIE ERSTEN DREI KODE 
S SO....LASSEN WIE SIE SIND. 
...<2> DIE ERSTEN DREI KODE 

S..ANPASSEN. " 

1450 CALL KEY <0,K,S):: IF K= 
49 THEN 1470 ELSE IF K-50 TH 

EN 1460 ELSE 1450 

1460 N0$=CHR*(96)&CHR*<0)kCH 
R*(LEN(SP* < AN))-3)kSEG*(SP* < 
AN),4,LEN(SP*(AN))-3):: SP*< 
AN)=N0* 

1470 GOSUB 1920 :: DISPLAY A 
T(20,1):RPT*(" ",5*28) 

1480 DISPLAY AT(23,1 ):" <FCTN 

8>N0CHMAL...<FCTN 

9>ZURUECK" 

1490 CALL KEY <0,K,S) :: IF K= 


106 














6 THEN 1380 ELSE IF K=15 THE 
N 280 ELSE 1490 
1500 GOSUB 1940 
1510 DISPLAY AT(7,1)ERASE AL 
L:"BITTE DAS WORT EINGEBEN, 
DASUMGEWANDELT WERDEN SOLL. 
.....(NUR IM SP GESPEICHERTE 
) " 

1520 DISPLAY AT(10,1):"WOERT 

ER WERDEN KORREKT.VERAR 

BEITET. " 

1530 CALL HCHAR(14,2,62 ):\ A 
CCEPT AT <14,1)1WE* :: IF WE* 
= "•' THEN 1530 

1540 DISPLAY AT(16,1):“BITTE 
EINE SEKUNDE WARTEN !“ :: A 
N«aN+1 :: CALL SPGET(WE*,SP* 
(AN) ) 

1550 GOSUB 1920 

1560 DISPLAY AT ( 19,10) : RPT* < 

" ",140) 

1570 DISPLAY AT(19,1):"<FCTN 

8> NOCHMAL.<FCNT 

9> ZURUECK" 

1580 CALL KEY(0,K,S):: IF K= 
6 THEN 1500 ELSE IF K=15 THE 
N 280 ELSE 1580 
1590 GOSUB 1980 :: IF NM=0 T 
HEN 280 

1600 DISPLAY AT(10,1)ERASE A 

ll:NAME*j" ist geloescht" :: 

NA*(NM)="" 

1610 FOR I=NM+1 TO 15 :: NA* 
(I-l)= na*(I);: NEXT I :: dis 
PLAY AT(15,1):"BITTE TASTE D 
RUECKEN FUER...RUECKKEHR !“ 
1620 FOR I=AN TO 15 :: NA* < I 

)«"" :: next i :: an=an-i 

1630 CALL KEY(0,K,S):: IF S= 
0 THEN 1630 ELSE 280 
1640 GOSUB 1940 :: CALL CLEA 
R 

1650 DISPLAY AT<10,1):"IN WE 
LCHEN STRING SOLL EIN STRIN 
G EINGEFUEGT WERDEN ?" :: DI 
SPLAY AT(15,1):"BITTE TASTE 
DRUECKEN" 

1660 CALL KEY <0, K, S) :: IF S= 
0 THEN 1660 ELSE GOSUB 1980 
1670 IF NM=0 THEN 280 
1660 NM1=NM :: DISPLAY AT(10 
,1)ERASE-ALL!"WELCHER STRING 
SOLL EINGE- FUEGT WERDEN ? 
" :: DISPLAY AT<15,1):"BITTE 
TASTE DRUECKEN" 

1690 CALL KEY (0, K,S):: IF S= 
0 THEN 1690 ELSE GOSUB 1980 
1700 IF NM=0 THEN 280 
1710 DISPLAY AT(10,1)ERASE A 
LL:"AN WELCHER STELLE, SOLL 

DER STRING EINGEFUEGT. 

....WERDEN ? :" 

1720 ACCEPT AT <12,11)SIZE(3) 


L 

I 

S 

T 

I 

N 

G 

S 


VALIDATE(DIGIT):STE :: IF ST 
E=0 OR STE >LEN(SP*(NM1))THEN 
1720 

1730 A*=SEG*(SP*(NMl),1,STE) 

&SP* < NM)&SEG*(SP* < NM1),STE+1 
,LEN(SP*(NM1))-STE):: AN=AN+ 
l :: gosub 1920 :: sp*<an)=a 
* 

1740 DISPLAY AT(19,1):RPT*(" 
",168):: DISPLAY AT(23,1) : " 

<FCTN 8>N0CHMAL. 

< FCTN 9 >ZURUECK" 

1750 CALL KEY (0, K, S) : : IF K= 

15 THEN 280 ELSE IF K-6 THEN 
1640 ELSE 1750 

1760 GOSUB 1980 :: DISPLAY A 
T(10,1)ERASE ALL:"DIE LAENGE 

FUER...STRING : " 

|NA*(NM):"BETRAEGT :"|LEN(SP 
*(NM))f" ZEICHEN." 

1770 DISPLAY AT(23,1) : u <FCTN 

8 >NOCHMAL.< FCTN 

9 >ZURUECK" 

1780 CALL KEY(0,K,S):: IF K= 

15 THEN 280 ELSE IF K=6 THEN 
1760 ELSE 1780 
1790 CALL ERR(Ai,A2,A3,A4) 

1800 IF Al< >56 THEN 1820 ELS 
E PRINT 

1810 PRINT :"SPEECH-STRING Z 
U LANG !" :: GOTO 1890 
1820 IF <Al=130 OR Al=109)AN 
D(A4>10030 AND A4<10090)THEN 
1830 ELSE 1840 
1830 PRINT :: PRINT .'"ERROR 
BEIM ABSPEICHERN !" :: GOTO 
1890 

1840 IF (Al=130 OR Al=109)AN 
D(A4>“10140 AND A4<»10180)TH 
EN 1850 ELSE 1860 
1850 PRINT :.' PRINT : "ERROR 
BEIM EINLESEN !" :: GOTO 189 
0 

1860 IF A1*130 AND(A4>"10240 
AND A4<“10270)THEN 1870 ELS 
E 1880 

1870 PRINT :: PRINT :"ERROR 
BEIM AUSDRUCKEN !" :: GOTO 1 
890 

1880 ON ERROR 1790 :: RETURN 
NEXT 

1890 PRINT "TASTE DRUECKEN" 

1900 CALL KEY(0,K,S):: IF S= 

0 THEN 1900 

1910 ON ERROR 1790 :: RETURN 
280 

1920 DISPLAY AT(19,10):"BITT 
E NAME FUER DEN NEUEN...STRI 
NG EINGEBEN." :: ACCEPT AT<2 
2,1)SIZE(10):NA* <AN):: IF NA 
* < AN)="" THEN 1920 
1930 DISPLAY AT(23,1):"ES IS 
T DER"f ANJ". STRING !" !! FO J| 


107 










R 1=1 TO 300 :: next i :: re 
TURN 

1940 IF AN>=20 THEN 1950 ELS 
E RETURN 

1950 PRINT :: PRINT :“KEIN S 
PEICHER FUER WEITERE STRING 
S VORHANDEN !" :: PRINT : "SI 

E MUESSEN ERST EINEN.ST 

RING LOESCHEN." 

1960 PRINT :-BITTE TASTE DRU 
ECKEN !" 

1970 CALL KEY <0,K,S):: IF S= 

0 THEN 1970 ELSE 280 
1980 DISPLAY AT(10,1)ERASE A 
LL:"BITTE NAME DES GEWUENSCH 
TEN STRINGS EINGEBEN:" :: A 
CCEPT AT(11,19)SIZE(10)I NAME 
* :: IF NAME*-"" THEN 1980 
1990 FOR 11=1 TO 20 :: IF NA 
ME*< >NA*(II)THEN 2010 
2000 NM=I1 :: RETURN 
2010 NEXT II DISPLAY AT (1 
5,6):"NAME UNBEKANNT !" 

2020 DISPLAY AT<20,1)I"<FCTN 
7> NAMENSVERZEICHNIS <FCTN 

8> NEUE EINGABE.<FCTN 

9> ZURUECK" 

2030 CALL KEY(0,K,S):: IF S= 
0 THEN 2030 

2040 IF K< >15 THEN 2060 
2050 NM=0 :: RETURN 
2060 IF KOI THEN 2080 
2070 CALL INHALT<NA*<)):: CA 
LL CLEAR :: FOR 1=1 TO 100 : 

: next I :: goto 2020 

2080 IF K=6 THEN 1980 ELSE 2 
030 

2090 DISPLAY AT<10,1)ERASE A 
LL:"ABSPEICHERN ?<J/N)" 

2100 CALL KEY<0,K,S):: IF K= 
- 78 THEN RETURN ELSE IF K<>74 
THEN 2100 

2110 DISPLAY AT<12,1):"0-CS1 
1-DSK1 :■ :: ACCEPT AT<12, 
16)SIZE(1)VALIDATE("01"):A 
2120 IF A=0 THEN 2130 ELSE D 
isplay AT<15,1):"NAME :: 

ACCEPT AT<15,7)SIZE<10):AA* 
2130 IF A=0 THEN OPEN #l:"CS 
1",INTERNAL,OUTPUT,FIXED 192 
ELSE OPEN #1!"DSK1.AA*",INT 
ERNAL,OUTPUT,FIXED 254 
2140 PRINT #l!AN !! FOR 1=1 
TO AN 

2150 IF A=0 THEN PRINT #1:SE 
G*<SP*<I),1,191)ELSE PRINT # 
1:SP* <I) 

2160 PRINT #1:NA*<I) 

2170 NEXT I :: CLOSE #1 :: R 
ETURN 

2180 DISPLAY AT<10,1)ERASE A 
LL:"EINLESEN ?<J/N)" 

2190 CALL KEY <0,K,S):: IF K= 


L 

I 

S 

T 

I 

N 

G 

S 


78 THEN RETURN ELSE IF K<>74 
THEN 2190 

2200 DISPLAY AT<12,1):"0=CS1 
1=DSK1 :" :: ACCEPT AT<12, 
16) SIZE < 1 ) VALIDATE < "01 ") : A 
2210 IF A=0 THEN 2220 ELSE D 
ISPLAY AT<15,1):"NAME :": 
ACCEPT AT<15,7)SIZE<10):AA* 
2220 IF A=0 THEN OPEN #l:"CS 
1",INTERNAL,INPUT ,FIXED 192 
ELSE OPEN #l:"DSK1.AA*",INT 
ERNAL,INPUT ,FIXED 254 
2230 INPUT 441: AN :: FOR 1=1 
TO AN 

2240 INPUT 44l:SP*(I) 

2250 INPUT #l:NA*<I) 

2260 NEXT I :: CLOSE #1 :: R 
ETURN 

2270 DISPLAY AT(10,1)ERASE A 
LL:"DRUCKEN ?(J/N)" 

2280 CALL KEY(0,K,S):: IF K= 
78 THEN RETURN ELSE IF K<>74 
THEN 2280 

2290 DISPLAY AT<10,1):"FILEN 

ame :" :: accept at<10,12):d 
R* :: IF DR*-"" THEN 2290 
2300 OPEN #2:DR* 

2310 FOR 1=1 TO AN 
2320 PRINT 442:NA*(I) 

2330 FOR 11=1 TO LEN<SP*<I)) 
;: A=ASC < SEG*(SP* <I),11,1)) 
2340 PRINT #2:Ai" "I 
2350 NEXT II :: PRINT <42 
2360 NEXT I : : CLOSE 442 :: R 
ETURN 

2370 SUB INHALT<NA*<)):: CAL 
L CLEAR 

2380 DISPLAY AT<23,1):"<SPAC 

E >WEITERBLAETTERN.<FCT 

N 9>ZURUECK" 

2390 DISPLAY AT(1,1):"NAMENS 
VERZEICHNIS" :: GOSUB 2430 
2400 CALL KEY <0,K,S):: IF K= 
15 THEN SUBEXIT ELSE IF K<>3 
2 THEN 2400 

2410 IF Z=1 THEN GOSUB 2440 
ELSE IF Z=0 THEN GOSUB 2430 
2420 GOTO 2400 
2430 z=l :: FOR 1=1 TO 10 :: 

' DISPLAY AT<I*2 + 1,1):II "“>"* 
NA* <I):: NEXT I :: RETURN 
2440 Z=0 :: FOR 1=11 TO 20 : 
•: DISPLAY AT<I*2-19,n:I|"«> 
"1 NA* <I):: NEXT I :: RETURN 
2450 SUBEND 


108 







BÖRSE 


Basic für Anfänger. Orig. 
Cass. f. nur 6,50 DM inkl 
Porto, Tel: 06638/1503 


TI 99/4A 200,-, Musik-M. 
40,—, Gar-Wars 25,—, 

Alpiner 25,: Amaziing 30,—, 
Tomstonecity 25,—, Indoor^- 
Soccer 30,—, Hopper 25,—, 
alle Module im guten 
Zustand. V.Kass.Progr. u. 
Ext. Basic. Tauschmöglk.!!! 
Computerkurs 67 Hefte 
100,- DM. Ab 18 Uhr, Tel: 
08841/40346 


Verk. Ex-Basic + Progr. 
100,— DM. Mini Mem. + 
Progr. 100,- DM. E/A 80,- 
DM. TE II 40,- DM. 

W. König, Neuffenstr. 16, 
7317 Wendlingen 


Verk. wegen Systemw. TI 
99/4A + neuw. Ext. B. + 2 
Module + Cass. Rcc. Kabel 
+ Joystick + Progr. Cass. 

+ Lit. 500,- DM VB. Herwart 
Feuerstein, Konrad-Zirkel- 
Str. 18, 8788 Bad-Brückenau 


Verk. TI 100,-, Ex-Basic 
150,—, Tl-Sprachsynt. 50,—, 
Tipbox 400,-, TI-RS 232 
200‘-, TI-Disk 400,- 32 K 
200,-, Tl-Par. Drucker 50,-, 
Tl-Joystick 30,—, Literatur 
100,— DM. Auch kompl. 
1200,- DM. H. Lehmann, 

Im Hasengrund 33c, 6101 
Bickenbach 


ENDLICH!!! 

TI99/4A-gesteuertes Comp. 
Telefon! Idela für Mailbox¬ 
betrieb, Terminalbetrieb 
und Leute, die sich nicht 
gern die Finger wund 
wählen!!! Genaues erfahren 
sie unter 030/4013929 (ab 
16.30 Uhr) od. mit frankier¬ 
tem Rückumschl. an P. Siegel, 
Huttenstr. 27, 1000 Berlin 28 


Echte Kleinbuchstaben für 
TI99/4A mit UCSD p-Sys- 
tem. US und deutsche Zei¬ 
chen!!! Konfort. Menüprogr. 
zur Schriftwahl. 5,25” 

Disk Code-file + 3 Data- 
files: 20,- DM. Mit Quell¬ 
text 25,—DM. Näheres unt. 
Tel: 0511/889046 


Verk. Centronic-TI-Schnitt- 
stelle - Preis VB evtl. Tausch 
geg. Module. Tel: 07156/ 
5190. Meyer-Staufenbiel 


Verk. TI 99/4A mit Handb. 

+ Netzt. + Palmod. + Rec.Ka¬ 
bel + Progr. + Lit. VB 450,— 

, Ext. Basic II Plus + dt. 
Handbuch VB 260,- DM. 
Noch Garantie. Gerd Fleisch¬ 
mann, Norderney str. 18, 
4350 Recklinghausen 


Buchungsjournal (mod.) 

70‘-, Datenverw. + Anal. 
(Mod.) 50,—, Lagerverwl. 
(Disk) 50,—, Rechnungsstel¬ 
lung (Disk) 50,—, Statistik 
(Mod.) 30,—, Vokabeltrai. 
(Cass.) 10,—, TI-Basic Kurs 
(engl. Cass.) 10,— DM. 

R. Unruh, Tel: 0711/719267 


Verk. TI-Disk-Contr. 350,—. 
Disk-Manag. 2 20,—, Laufw. 
SSSD 200,-, 32 K RAM-Kar 
te 200,— DM. Adr.: J. Zieg¬ 
ler, Rathausstr. 16, 7635 
schwanau. Tel: 07324/ 

3343 


Verkaufe meinen TI 99/4A 
Konsole + Peri-Box m. Lauf¬ 
werk + Disc-Manag. Modul 
+ orig. X-Basic + Schnittst.- 
Karte f. P-Box (parallel/ 
seriell) + Personal Rec. Kee- 
ping Modul + Statistic Modul 
f. nur 1100,- DM. Tel: 064 
03/71104,o.3551 


Hallo!!! 

Wer tauscht dt. Handb. für 
Ex-Basic geg engl. Handb. 
für Ex. Basic od. geg. Alien 
Addition Modul Angebote 
an: Ralf Naumann, Kepler- 
str. 21, 6680 Neunkirchen 7 


TI-Adventure 
5 neue Adv. f. TI-Adv. Mo¬ 
dul. 40 % mehr Umfang, als 
orig. Tl-Spiele. Jedes Spiel 
nur 15,— DM. öS 100, excl. 
Datenträger. Infos von: Tho¬ 
mas Catarozzi, Spaisingerstr. 
42, A-1130 Wien 


Verk. Exb. Handbuch 
(engl.) 20,— Sp. Ler. Arb. 
Buch 15,—, Monitorkabel 
10,—, Buch mit 100 Spielen 
10,—. Kass. m. 30 Spielen 
10,—, Basiclehrgang auf 
Kass. 5,- DM. Tel: 0231/ 
806525 . • 


Wer möchte eine 1,5 Seiten 
lange Poke- u. Peekliste ha¬ 
ben? Schickt einfach 10,— 
DM-Schein und Rückporto 
an: Klaus J. Höltgen, Wester- 
dorfstr. 10, 4300 Essen 12 


Verk. Zusatzinfo f. E/A Buch 
mit/ohne Disk. Ausf. (Bitdar- 
st.) u. einfache Bsp. für As¬ 
semblereinstieg o. Vorkennt¬ 
nisse geeignet. Ab Mitte Aug. 
fert. Probeseiten bei Rück¬ 
porto mögl. A. Pack, Eicke- 
lerstr. 60, 4690 Herne 2 


Verk. Matrixdrucker Ml009 
(Brother) Schnittstellen: 
RS232 u. Centronics. Guter 
Zustand, wenig gebraucht. 
Preis: VB 450,-. Tel: 06181 
/51236, B. Kronenberger 


Verk. 32K intern orig. TI 

200 ,- 

Module: Ext. Basic (TI) 
100,-; Mini Mem 100,-, TI- 
Writer 200,—, Schachmeist 
40,—, Buchungsjour, (o, 

Anl.) 60,—, Pers. Rec. Kee- 
ping + Pers. Rep. Gen. 

80,—, Disk Man. 2 40,—, Par¬ 
sec 30,—, Invad. 30,—. 

Bücher: 99 Special 1 20,—, 

TI Basic/Exbs. f. A/F 15,-, 
Progr. f. den TI (Heigerm.) 
15,—DM. Erich Niedergriese, 
Roenselstr. 9, 5800 Hagen 7, 
Tel: 02331/402220 
P.S. Gibt’s in Hagen keine TI- 
User? Meldet Euch! 

Diskcontroller für Box inkl. 
Laufw. 490,- DM FP, 

32 K Karte 300,- DM. alles 
1 A Zustand, eben Original!! 
Tel: 06181/23399, ab 20 Uhr 
B. Pompe 


Übersetz. E/A, über 400 S. 

+ Probeexempl. von Zusatz¬ 
info f. 49,80 DM. A Pack, 
Eickelerstr. 60, 4690 Herne 
2 


Verk. TI99/4A + Tape + 32 
KRAM ext. (Atronic) + 
Speech Synth. + Exbasic + TI 
LOGO II + Moonsw. + 
Microsur. + Schach + Soccer 
+ Min. Mis. + TI Joyst. + 
Quicks + 4 TI Kass. + über 
80 Progr. + 5 Bücher + alle 
TI Rev. f. 650,- DM. Tel: 
06134/4519 


TI99/4A: Versandli. Disk 
36,—, Lagerverw. Disk 36,—, 
DOSS Laufwerk + Contr. 
650,—, RS232 ext. 2 Port. 
180,—, 32 K + Centr. ex. 
160,—, Exbas 100,—, Stat. 
30,— Buchhaltung 50,—, Da- 
teiverwl. + Analyse 40,—, 
Parsec 20,—, Diskmanag. 
20,- DM. Tel: 06182/ 

26186 


Verk. TI + XBasic + Box + 
32 K + RGB-Modulator + 
Rek. + Module: Statistik, 
Buchhaltung, Spielle + Kass. 
+ Bücher: BASIC, XBASIC, 
E/A (dt.), Tl-Intern, Masch. 
f. 700,— DM (auch einzeln). 
T. Klein, Cornelissenstr. 4, 

' 4100 Duisburg 11, Tel: 
0203/5981127 


Verk. TI 99/4A 150,-, 
XBasic 100,—, 32 K ext. 
150,-, Rek. + Kabel 60,-, 
Invaders 150,—, Parsec 15,— 
Pacman + Miner 2049 + 
Centipede + Espial 40,—, 2 
Bücher 40,—, Turbo Ass. 
60,—, Tunnels o. D. 50,—, 36 
Mag. 50,—, kompl. 600,— DM 
Tel: 06421/44408 


Suche günstig Seikosha SP 
800 m. Kabel und dt. Anleit, 
f. Microsugeon u. TE II 
(auch Kopien mögl). Bitte 
melden bei: Thomas No¬ 
wak, Wangenheimstr. 36, 
1000 Berlin 33, Tel: 030/ 
891106, ab 14 Uhr. Nicht 
29.7. - 17.8.) 


Original TI an bestes Gebot 
über Mindestpreis Ex-Basic 
110,—: Buch dazu 10,—, 
Ed/Ass 110,—, Minimem. 
150,—, Statistik 30,—, Othel¬ 
lo, Minusmiss., Alienadd., 
Rechnungste. je 15,—. Anruf, 
bei: H. Hägemann, Tel: 0531 
/82104, von 17 - 19 Uhr. 

Verk. TI Komplettsystem!!! 
Konsole, P-Box m. orig. 
Laufw. 32K, RS232-Corcomp 
Controller umgebaut auf DOS 
80 Tl-Writer, E/A, Ex-Basic 
Ape-Soft, Literatur etc. 

Preis 1800,- VB. Tel: 042 
30/1021, ab 18 Uhr 


Verk. Hardware und Soft¬ 
ware für den TI 99/4A: 
Module: Espial 30,—, Micro- 
surg. 25,—, Dragon Mex 5,—, 
Hardware: neuw. Rec. 50,—, 
Rec.Kabel 10,—, Monitor¬ 
kabel 10,-. 

TI-Bücher: Tl-Schaltpl. 5,-, 
„Spielen, lernen, arbeiten m. 
d. TI 99/4A“ 25,-, TI-99 
Tips + Tricks 25,—, TI 99/4A 
Farbe, Grafik, Ton u. Spiele 
von IWT 20,-, 21 LISTige 
Porgr. f. d. TI 99/4A 12,-, 
Spielprogr. selbst erstellen 
Teil 2 14,—, TI Basic Ext. 
Basic f. Anfäng. u. Fortge- 
schr. 25,—. 

TI-Zeitschr.: TI-Rev.-Ausg.: 

1 -3/84, 1 -9/85, 1 -6/86 
pro Stück 2,—, ab 10 Stück 
1,50, TI Assembler Sepcial 

9, -, TI Magazin 2 - 6/84 
pro Stück 3,—, alle kompl. 

10, —, TI 99/4A Programme, 
Sonderheft von CHIP 9,- DM. 
Bestellungen an: A. Schlaht, 
Große Str. 79, 2802 Otters-- 
berg 1, Tel: 04205/1857, 

Mo - Fr 18.30 -20.00 Uhr. 
Lieferung per NN oder Vor- 
ausk^sse (V-Scheck) bzw. 
Euroscheck. 


64 K Erweiterung für C 116/ 
16 für 89,— DM bei Competer 
Soft — Fritz Peter — Konrad- 
Adenauer-Str. 201, 5130 Gei¬ 
lenkirchen, Tel: 02451/5061. 
Anwenderprogramme für 
Commodore C 16/116. 


Verk. Joyst. Adapter 25,—, 
Module: Donkey Kong 
40,—, Chess 50,—, Musicma- 
ker 30,—, Adventuremod. 
auf Kass. 25,- DM. Tel: 
09284/8338 


109 





























LISTING 



Mit diesem Denkspiel kann man fast jeden zur 
Verzweiflung bringen. Alles, was man dazu braucht, 
ist ein TI-9974A, ggf. mit Extended-Basic. 

Der etwas seltsame Name dieses Programmes 
kommt daher, weil das Spiel eigentlich gar keinen 
richtigen Namen hat. Da aber der Mathelehrer, der 
mir dieses Spiel beigebracht hat, Herr Bergl hieß, 
habe ich es ^Das Berg’sche Spiel“ genannt. Der 
Zweitname “Das Kulispiel“ kommt daher, weil die 
Gepäckkulis in Afrika dieses Spiel immer spielen, 
und der Verlierer die doppelte Last tragen muß 
(nach Hr. Berg!). 

Aber nun zu den Spielregeln: ln den vier Kästchen 
(A bis D) sind je eine bestimmte Anzahl von Hölz¬ 
chen vorhanden. Sie und der TI nehmen abwech¬ 
selnd aus je einem beliebigen Kästchen eine Anzahl 
von Hölzchen. Derjenige, der das letzte Hölzchen 
nimmt, hat verloren. Ist doch alles ganz einfach - 
sollte man meinen. 

Der TI fragt nach Kästchen und Anzahl der Hölz¬ 
chen, nimmt diese weg und überlegt sich innerhalb 
der nächsten drei Sekunden (!) seinen eigenen Zug. 
Ist im angegebenen Kästchen nur noch ein Hölz¬ 
chen, so erübrigt sich für den TI die Frage nach 
der Anzahl. 

Eine kleine Besonderheit hat das Programm aber 
noch: Wenn Sie der TI erst einmal so weit ge¬ 
bracht hat, daß Sie unweigerlich verlieren, wechselt 
die Schriftfarbe von Schwarz in Rot. Umgekehrt be¬ 
sagt eine Änderung nach Grün, daß Sie den TI 
ebenso unweigerlich besiegen können, wenn Sie 
keinen Denkfehler mehr machen (ein solcher hätte 
wieder die rote Schrift zur Fplge, und Ihr TI macht 
garantiert keinen Fehler!). Eine Beschreibung der 
Variablen für dieses Programm habe ich nicht bei¬ 
gefügt, da man hieraus leicht die Regeln des Spiels 
ableiten könnte, und ich will den Heißen Programm¬ 
tippern den Spaß nicht nehmen. 

HINWEIS ZUM EINTIPPEN DES PROGRAMMES: 


In den Zeilen 450 und 460 kommen sehr viele 
Controlzeichen vor. Sie müssen deshalb folgender¬ 
maßen getippt werden: _ 

450 PRINT “SPACE/CTRL B/3*CTRL ,/CTRL F/ 
5*CTRL ,/CTRL F/6*CTRL ,/CTRL F/7*CTRL 
,/CTRL C/2*SPACE/CTRL A/2*FCTN C/SPACE/ 
CTRL A/3*FCTN C/2*SPACE/CTRL A/4*FCTN 
C/2*SPACE/CTRL A/5*FCTN C/2*SPACE/ 

CTRL A“ 

460 PRINT “SPACE/CTRL A/2*FCTN C/SPACE/ 
CTRL A/3*FCTN C/2*SPACE/CTRL A/4*FCTN 
C/2*SPACE/CTRL A/5*FCTN C/2*SPACE/ 

CTRL A/2*SPACE/CTRL D/3*CTRL ,/CTRL 
G/5*CTRL ,/CTRL G/6*CTRL ,/CTRL G/7* 

CTRL ,/CTRL E“ 

Im Listing stehen einige seltsame Wörter. Diese 
sind kein Druckfehler, sondern enthalten umdefi¬ 
nierte Buchstaben und Zeichen, da es sonst mit 
dem COLOR-Befehl Knatsch gegeben hätte. Auch 
die Zeilen 3060 und 3430 mit dem BREAK sehen 
etwas seltsam aus. Sollte der TI jedoch wirklich 
einmal das Programm abbrechen, so ist noch irgend¬ 
wo ein Tippfehler vorhanden, denn diese Zeilen 
dürfte er eigentlich niemals erreichen. 


110 



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

11 REM*DAS BERGSCHE SPIEL* 


12 REM* * 

13 REM* Copyright by * 

14 REM* Sven Dyro-f-f * 

15 REM* * 

17 REM*Benoetigte Geraete* 

18 REM* TI99/4A Konsole * 

19 REM* * 

23 REM* Speicherbelegung * 

24 REM* 8078 Bytes * 


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

26 REM 
100 SG=2 
110 DEMO=1 

120 DIM POSITION(4,5),HELP(4 
).KASTEN(4) 

130 DATA 5,6,0,0,0,9,10,11,0 
,0,13,16,17,18,0,22,23,24,23 
,26 

140 FOR 1=1 TO 4 
130 FOR J=1 TO 5 
160 READ POSITION(I,J) 

170 NEXT J 

180 NEXT I 

190 REM BILDAUFBAU 

200 CALL CLEAR 

210 CALL CHAR(89,"0000007824 
362478") 

220 CALL CHAR(95,"0000FFFF") 
230 CALL CHAR(128,"000000FFF 
F000000") 

240 CALL CHAR(129,"181818181 

fAI^AK } CHAR(130,"0000001Fl 

F181818") 

260 CALL CHAR(131,"000000F8F 

a 181818") 

70 CALL CHAR(132,"1818181F1 

F000000") 

280 CALL CHAR(133,"181818F8F 

8000000") 

290 CALL CHAR(134,"000000FFF 
F181818") 

300 CALL CHAR(64,"0000003C40 

40403C") 

310 CALL CHAR(81,"0000007C40 

784070") 

320 FOR <3=1 TO 4 
330 KASTEN<Q)=Q+1 
340 NEXT Q 

330 CALL CHAR(135,"181818FFF 
F000000") 

360 CALL SCREEN(16) 

370 CALL C0L0R(13,16,16) 

380 CALL C0L0R(9,16,16) 

390 CALL CHAR(96,"1818181818 
181818") 

400 IF DEMO=0 THEN 440 

410 PRINT ".DAS BERGSCHE 

SPIEL__ 


420 PRINT TAB(13) j "Yzw.": : 
..DAS KULISPIEL. 


430 PRINT °...COMPUTERDEMONS 


. ..PRESS ENTER 
. A. . . .B.C. 


ff fff ffff 

am m m m 

ff fff ffff 

mm m a a 


470 RANDOMIZE 
480 CALL COLOR(13,2,16) 

490 CALL C0L0R(9,5,16) 

S00 IF DEMO=0 THEN 620 
510 REM SPIELEN 640 TO 2005 
520 FOR Q=1 TO 50 
530 CALL KEY(0,K,S) 

340 IF K=13 THEN 570 

550 NEXT Q 

560 GOTO 1450 

570 CALL SOUND(200,900,0) 

580 CALL VCHAR (1,1, 32,768) 
590 DEMO=0 
600 GEG=0 
610 GOTO 370 

620 DRUCKE="SCHWIERIGKEITSGR 
AD ? (1-3) " 

630 ZEILE=6 
640 SPALTE=3 
650 GOSUB 3650 
660 CALL KEY(0,K,S) 

670 IF (K<49)+(K>51)THEN 660 
680 CALL SOUNDC200,900,0) 

690 SG=K-48 

700 CALL HCHAR(6,1,32,32) 

710 GOTO 800 
720 REM SPIELENDE 
730 FOR (3=1 TO 150 
740 CALL KEY (0, K , S ) 

750 IF K=13 THEN 570 
760 NEXT Q 
770 GEG=0 

780 CALL VCHAR(1,1,32,768) 
790 GOTO 320 
800 FOR (3=1 TO 4 
810 KASTEN(Q)=Q+1 
820 NEXT Q 

830 IF DEM0=1 THEN 1370 
840 DRUCK*="WER SOLL ANFANGE 
N ?" 

850 ZEILE=5 
860 SPALTE=4 
870 GOSUB 3650 

880 DRUCK$="DRUECKE I@h ODER 
ComputQr !" 

890 ZEILE=7 ' 

900 SPALTE=1 

910 GOSUB 3650 

920 CALL KEY(0,K,S) 

930 ON 3+(K=67)+(K=73)*2 GOT 
0 940,960,920 


L 

I 

S 

T 

I 

N 

G 

S 


TRATION": 

TO BEGIN": : 
440 PRINT 
.....D. 

450 PRINT ". 

• « m m m m m 

» f f ff f w 

mm m m m 

460 PRINT ". 
»»?»» 

. . ..... 

n 




111 
















940 CALL SOUND(200,900,0) 

950 GOTO 1000 

960 STRICH=2 

970 KAST=1 

980 GOSUB 3700 

990 KASTEN(1)=1 

1000 CALL HCHAR(5,1,32,32) 

1010 CALL HCHAR(7,1,32,32) 

1020 REN SPIELEN 

1030 IF DEMO=1 THEN 510 

1040 CALL HCHAR(1,1,32,224) 

1050 DRUCK*="WELCHEN KASTEN 

WILLST DU ?" 

1060 ZEILE=5 
1070 SPALTE=1 
1080 GOSUB 3650 
1090 CALL KEY(0,K,S) 

1100 IF (K<65)+(K>68)THEN 10 
90 

1110 IF KASTEN(K-64)=0 THEN 
1090 

1120 KÄST = K-64 

1130 CALL HCHAR<5,1,32,32) 

1140 CALL SOUND(200,900,0) 

1150 DRUCK*="KAESTCHEN : 

CHR*(K) 

1160 ZEILE=5 
1170 SPALTE=1 
1180 GOSUB 3650 
1190 IF KASTEN(KÄST) < >1 THEN 
1220 

1200 K=49 
1210 GOTO 1270 

1220 DRUCK*="WIEVIELE STAEBE 
WILLST DU ?"' 

1230 ZEILE=7 
1240 SPALTE=1 
1250 GOSUB 3650 
1260 CALL KEY(0,K,S) 

1270 IF (K<49) + (K>KASTEN(KAS 
- T)+48)THEN 1260 

1280 CALL HCHAR(7,1,32,32) 
1290 CALL SOUND (200,900,0) 
1300 DRUCK*="STAEBE : "fcCHR 
*(K) 

1310 ZEILE=7 

1320 SPALTE=1 

1330 GOSUB 3650 

1340 GOSUB 3810 

1350 CALL HCHAR(5,15,32) 

1360 CALL HCHAR(7,12,32) 

1370 REN 
1380 REN 
1390 REN 

1400 DRUCK*="NEIN ZUG :" 

1410 ZEILE=3 

1420 SPALTE=9 

1430 GOSUB 3650 

1440 CALL HCHAR(4,10,95,10) 

1450 REN 

1460 AN*="" 

1470 FOR Q=1 TO 4 

1480 IF KASTEN(Q)=0 THEN 150 


L 

I 

S 

T 

I 

N 

G 

S 


0 

1490 AN*=AN*&STR*(Q) 

1500 NEXT Q 

1510 IF LEN < AN*)=0 THEN 1580 
1520 REN 

1530 IF LEN (AN*) Ol THEN 191 
0 

1540 IF KASTEN(VAL(AN*))=1 T 
HEN 1820 

1550 KAST=VAL(AN*) 

1560 K=KASTEN(VAL(AN*))+47 
1570 GOSUB 3810 
1580 IF DENO=1 THEN 720 
1590 CALL HCHAR(1,1,32,224) 
1600 DRUCK*="SIE HABEN VERLO 
REN. " 

1610 ZEILE=5 

1620 SPALTE=3 

1630 GOSUB 3650 

1640 DRUCK*="NOCH EIN SPIEL 

? ( J / N) " 

1650 ZEILE=7 
1660 SPALTE=3 
1670 GOSUB 3650 
1680 FOR Q=1 TO 250 
1690 CALL KEY(0,K,S) 

1700 ON 3+<K=74)+(K=78)*2 GO 

TO 1740,1760,1710 

1710 NEXT Q 

1720 DENO=l 

1730 GOTO 1770 

1740 CALL CLEAR 

1750 END 

1760 CALL SOUND(200,900,0) 
1770 FOR Q=1 TO 14 
1780 CALL COLOR( Q, 2 ,16) 

1790 NEXT Q 
1800 SYN1=0 
1810 GOTO 190 
1820 REN 

1830 IF DENO=l THEN 720 
1840 CALL HCHAR<1,1,32,224) 
1850 DRUCK*="SIE HABEN GEWON 
NEN. M 

1860 ZEILE=5 
1870 SPALTE=3 
1880 GOSUB 3650 
1890 GOTO 1640 
1900 REN 
1910 AS*="" 

1920 FOR 1=1 TO LEN(AN*) 

1930 FOR J=I TO LEN(AN*) 

1940 IF I=J THEN 1960 
1950 IF KASTEN < VAL(SEG*(AN*, 
I, 1) ))-KASTEN(VAL(SEG*(AN*,J 
, 1 )) ) THEN 2000 
1960 NEXT J 

1970 AS*=AS*fccSEG*(AN*,1,1) 

1980 NEXT I 

1990 GOTO 2680 

2000 FOR G=I+1 TO LEN(AN*) 

2010 IF 0=J THEN 2030 

2020 AS*=AS*&SEG*(AN*,0,1) 


112 



2030 NEXT Q 
2040 REM 

2050 IF KASTEN<VAL<SEG$(AN$, 

J,1)))=1 THEN 2080 

2060 SYM1=0 

2070 GOTO 2090 

2080 SYM1=1 

2090 REM 

2100 IF LEN(AS$)< >0 THEN 223 
0 

2110 IF SYMIOl THEN 2170 

2120 KÄST=VAL(SEG$(AN$,1,1)) 

2130 GOSUB 3960 

2140 K=49 

2150 GOSUB 3810 

2160 GOTO 1580 

2170 GOSUB 4030 

2180 KAST=VAL(SEG$(AN$,1,1)) 

2190 K=INT(RND*KASTEN(KÄST)+ 

49) 

2200 GOSUB 3810 
2210 GOTO 1020 
2220 REM 

2230 IF LEN(AS$)< >1 THEN 238 
0 

2240 IF SYM1=1 THEN 2310 
2250 GOSUB 3960 
2260 KAST=VAL(AS$) 

2270 K=KASTEN(KÄST)+48 
2280 GOSUB 3810 
2290 GOTO 1020 
2300 REM 

2310 IF KASTEN(VAL(AS$)X>1 

THEN 2330 

2320 GOTO 1830 

2330 GOSUB 3960 

2340 KAST=VAL(AS$) 

2350 K=KASTEN(KÄST)+47 
2360 GOSUB 3810 
2370 GOTO 1580 
2380 REM 

2390 IF KASTEN(VAL(SEG$(AS$, 

1.1) ))< >KÄSTEN < VAL < SEG$( AS$, 

2.1) ))THEN 2450 
2400 GOSUB 4030 

2410 KAST=VAL(SEG*(AN$,INT(R 
ND*4)+1,1)) 

2420 K=INT(RND*KASTEN(KAST)) 
+ 49 

2430 GOSUB 3810 

2440 GOTO 1020 

2450 IF SYM1=1 THEN 2570 

2460 GOSUB 2510 

2470 GOSUB 3960 

2480 K=K+48 

2490 GOSUB 3810 

2500 GOTO 1020 

2510 I=VAL < SEG$(AS$,1,1)) 

2520 J=VAL < SEG$(AS$,2,1)) 

2530 Q=KASTEN(I)>KASTEN(J) 

2540 KAST=-I*Q+(Q+l)*J 

2550 K=ABS(KASTEN(I)-KASTEN( 

J) ) 


L 

I 

S 

T 

I 

N 

G 

S 


2560 RETURN 

2570 REM 

2580 GOSUB 2510 

2590 IF KASTEN(KÄST)-K<>1 TH 

EN 2640 

2600 K=K+49 

2610 GOSUB 3960 

2620 GOSUB 3810 

2630 GOTO 1580 

2640 K=K+48 

2650 GOSUB 3960 

2660 GOSUB 3810 

2670 GOTO 1020 

2680 REM 

2690 HELP(0)=LEN(AN$) 

2700 FOR Q=1 TO HELP(0) 

2710 HELP(Q)=VAL <SEG$(AN$,Q, 
1 ) ) 

2720 NEXT Q 

2730 IF HELP (0)02 THEN 2870 
2740 FOR Q=1 TO 2 
2750 IF KASTEN(HELP(Q)X>1 T 
HEN 2810 

2760 KAST=HELP< <Q- 1.5 >*- 1+1. 
5) 

2770 K=KASTEN(KÄST)+48 

2780 GOSUB 3960 

2790 GOSUB 3810 

2800 GOTO 1580 

2810 NEXT Q 

2820 GOSUB 2510 

2830 K=K+48 

2840 GOSUB 3960 

2850 GOSUB 3810 

2860 GOTO 1020 

2870 ON SG GOTO 2890,2930,33 
00 

2880 GOSUB 4030 

2890 KAST=HELP(INT(RND*HELP( 

0 )+ 1 ) ) 

2900 K=INT(RND*KASTEN(KAST)+ 
49) 

2910 GOSUB 3810 
2920 GOTO 1020 

2930 eee =0 

2940 IF HELP(0)=4 THEN 3130 

2950 FOR 1=1 TO 3 

2960 FOR J=1 TO 3 

2970 IF KASTEN(HELP(J))=I TH 

EN 3010 

2900 NEXT J 

2990 IF e@@<>0 THEN 2890 
3000 @@@=I 
3010 NEXT I 

3020 IF @@@=0 THEN 2880 

3030 FOR Q=1 TO 3 

3040 IF KASTEN(HELP(Q))>3.5 

THEN 3070 

3050 NEXT Q 

3060 BREAK 

3070 KAST=HELP(Q) 

3080 IF KASTEN(KÄST)-@@@<1 T 
HEN 2890 




113 



3090 K=KASTEN(KÄST)-000+48 

3100 GOSUB 3960 

3110 GOSUB 3810 

3120 GOTO 1020 

3130 FOR 1=1 TO 3 

3140 FOR J=1 TO 4 

3150 IF KASTEN(HELP(J))=I TH 

EN 3180 

3160 NEXT J 

3170 GOTO 2890 

3180 FOR Q=J+1 TO 4 

3190 IF KASTEN<HELP<Q))=I TH 

EN 3250 

3200 NEXT Q 

3210 NEXT I 

3220 FOR Q=1 TO 4 

3230 IF KASTEN(HELP(Q))>3.5 

THEN 3250 

3240 NEXT Q 

3250 KAST=HELP(Q) 

3260 K=KASTEN(KÄST) +48 
3270 GOSUB 3960 
3280 GOSUB 3810 
3290 GOTO 1020 

3300 eee=0 

3310 IF HELP(0)=4 THEN 3490 
3320 FOR 1=3 TO 5 
3330 FOR J=1 TO 3 
3340 IF KASTEN(HELP(J))=I+2* 
(1=3)THEN 3380 
3350 NEXT J 

3360 IF @@e<>0 THEN 2930 
3370 @e@=I+2*<1=3) 

3380 NEXT I 

3390 IF eee=0 THEN 2890 
3400 FOR Q=1 TO 3 
3410 IF ABS(KASTEN(HELP(Q))- 
2.5)=0.5 THEN 3440 


L 

I 

S 

T 

I 

N 

G 

S 


3420 NEXT Q 
3430 BREAK 
- 3440 KAST=HELP(Q) 

3450 IF KASTEN(KÄST)-@e@<1 T 
HEN 2930 

3460 K=KASTEN(KAST)-@@0+48 
3470 GOSUB 3810 
3480 GOTO 1020 
3490 FOR 1=3 TO 5 
3500 FOR J=1 TO 4 
3510 IF KASTEN(HELP(J))=I+2* 
(1=3)THEN 3540 
3520 NEXT J 
3530 GOTO 2930 
3540 FOR Q=J +1 TO 4 
3550 IF KASTEN(HELP(Q))=1+2* 
(1 = 3)THEN 3610 
3560 NEXT Q 
3570 NEXT I 
3580 FOR Q=1 TO 4 
3590 IF ABS(KASTEN(HELP(Q))- 
2.5)=0.5 THEN 3610 
3600 NEXT ß 
3610 KÄST=HELP(Q) 

3620 K=KASTEN(KÄST)+48 


3630 GOSUB 3810 

3640 GOTO 1020 

3650 REM PRINTROUTINE 

3660 FOR Q=1 TO LEN(DRUCKS) 

3670 CALL HCHAR(ZEILE,SPALTE 

+Q,ASC(SEG*(DRUCK*,Q,l))) 

3680 NEXT Q 

3690 RETURN 

3700 REM STRICH WEGNEHMEN 
3710 FOR Q=1 TO 3 
3720 CALL VCHAR(19,POSITION( 
KÄST,STRICH),96,4) 

3730 CALL SOUND(200,250,0) 
3740 CALL SOUND(1,40000,30) 
3750 CALL VCHAR(19,POSITION( 
KÄST,STRICH),32,4) 

3760 CALL SOUND(200,250,0) 
3770 CALL SOUND(1,40000,30) 
3780 NEXT Q 

3790 CALL SOUND(300,135,0) 
3800 RETURN 

3810 IF DEMO=0 THEN 3880 
3820 IF GEG=0 THEN 3840 
3830 GEG=-1 
3840 GEG=GEG+1 

3850 CALL HCHAR(24,30-GEG*28 
,KÄST + 64) 

3860 CALL HCHAR(24,31-GEG*28 
5 K) 

3870 GOTO 3900 

3880 CALL HCHAR(5,15,KAST+64 


3890 CALL HCHAR(7,12,K) 

3900 FOR J=1 TO K-48 
3910 STRICH=KASTEN(KÄST) 

3920 GOSUB 3700 

3930 KASTEN(KÄST)=KASTEN(KAS 

T) -1 

3940 NEXT J 

3950 RETURN 

3960 REM COLOR ROT 

3970 IF DEMO=l THEN 4020 

3980 FOR Q=1 TO 14 

3990 CALL COLOR(Q,7,16) 

4000 NEXT Q 

4010 CALL COLOR(9,5,16) 

4020 RETURN 
4030 REM COLOR GRUEN 
4040 IF DEMO=l THEN 4020 
4050 FOR Q=i TO 14 
4060 CALL COLOR(Q,13,16) 

4070 NEXT Q 
4080 GOTO 4010 



TWTT 


Kennwort „ Hun q erhilfe Afriko“ 

Menschen in Not brauchen Hilfe: 
zuverlässig, schnell, wirksam. 

Die beiden kirchlichen Hilfswerke 
nehmen ihren Auftrag ernst. 

Deutscher Caritasverband Postgiro Karlsruhe 202 
. Diatonisches Werk Postgiro Stuttgart 502 
, : und viele Banken u. Sparkassen 


114 




LISTING 


EAN-CODER13 


Das Programm zur Erstellung von scannerlesbaren(l) 
EAN-Codes, Ausdruck mit Printer und Speicherung 
auf Cassette. 

Bei diesem Programm wurden alle Regeln des 13- 
stelligen EAN-Codes (A-/B-/C-Code, 1-3-1 Prüfzif¬ 
fercode) bis hin zur Ermittlung der Prüfziffer, bzw. 
deren Kontrolle und der visuell lesbaren OCR-B 
Klarschriftzeile unter dem Code. Weiterhin druckt 
das Programm bis zu 4 interne Kurzbezeichnungen 
neben den Code, die ebenfalls abgespeichert werden 
können. 

- Achtung Copyright by Datecontrol 

Mit diesem Programm können Sie jeden beliebigen 
13stelligen EAN-Code entwickeln, die Prüfziffer 
kontrollieren bzw. erstellen und abspeichern bzw. 
ausdrucken lassen. 


Als Printer wurde ein Seikosha GP 100 A benutzt, 
jedoch dürfte es ohne große Programmänderungen 
in den Druckzeilen möglich sein, jeden anderen 
Matrixprinter anzusteuern. 

Auf die o.e. Punkte 1,3,4 braucht man sicher nicht 
gesondert einzugehen. Wählen Sie hingegen Punkt 
2, gelangen Sie ins Hauptprogramm. 

DAS HAUPTPROGRAMM 

Dargestellt ist die In-/Output-Maske mit einem 
Muster-EAN-Code. In der letzten Zeile sind die ak¬ 
tiven Tasten angegeben. 

Wählen Sie “N“ für Neueingabe. “P“ für Ausdruck 
und “M“ für Menü. 

Drücken Sie jetzt <ENTER> bzw. “N“ und 
<ENTER>, haben Sie die Möglichkeit, einen Code 
einzugeben. 



Die EAN-Code-Ausdrucke dieses Programms sind 
scannerlesbar, d.h., sie können mit Lesestiften an 
Scannerkassen in Supermärkten oder an Lesesyste¬ 
men gelesen werden. Deshalb sei hier besonders 
darauf hingewiesen, daß eine solche oder anderwei¬ 
tige gewerbliche bzw. nicht-private Nutzung straf¬ 
rechtlich geahndet wird. Außerdem gelten natürlich 
auch die üblichen Urheberrechte. 

Auf die Einzelheiten des EAN-Codes einzugehen, 
dürfte hier nicht angebracht sein, da es den Rahmen 
des Heftes sprengen würde. 

Zum Verständnis des Programmes ist dies auch nicht 
unbedingt not wendig. Eine kurze Darstellung der 
Zusammensetzung des Codes finden Sie jedoch 
nachfolgend: 

1 = Länderkenner, z.B. 40 für Deutschland 

2 = bundeseinheitl. Betriebsnummer BBN 

3 = individuelle Artikelnummer des Herstellers 

4 = Prüfziffer 

DAS PROGRAMM 

Nach dem Einlesen des Extended-Basic-Programms 
in Ihren TI 99/4A starten Sie das Programm mit 
<RUN> (bzw. Autostart mit < RUN “CS 1 “> ) 
Dargestellt ist das Hauptmenü. 

Wählen Sie jetzt zwischen: 

01 - DATEN EINLESEN 

02 - HAUPTPROGRAMM/DATEN 

AUSDRUCKEN 

03 - DATEN ABSPEICHERN 

04 - PROGRAMMENDE 


A - Ein g abe von 13 Stellen mit Kontrolle des 
Codes: 

Geben Sie jetzt eine 13stellige Ziffernfolge (EAN- 
Code) ein. 

Der Computer prüft, ob der Code korrekt ist und 
der Prüfziffer entspricht. Ist dies nicht der Fall, er¬ 
scheint neben der Länderbezeichnung ein “NOT 
OK“ und die Frage “GO ON?“ (weiter?). 
Antworten Sie hier mit “Y“ (Yes/Ja) können Sie 
mit dem unkorrekten Code im Programm fort¬ 
fahren. 

Zur erneuten Eingabe bzw. Korrektur drücken Sie 
“N“ (Nein) und geben den neuen Code ein. Ist der 
Code nun in Ordnung, erscheint “>»OK“ sowie 
die Frage “GO ON?“. Drücken Sie “Y“ für JA/ 

Yes, geht’s weiter im Programm. Die 4 folgenden 
Zeilen, die jetzt abgefragt werden, werden auf 
Wunsch neben dem EAN-Code ausgedruckt. 
Wünschen Sie keinen Ausdruck einzelner Zeilen, 
geben Sie Leerzeichen ein. Ansonsten können Sie 
hier Angaben über Preis, Gewicht, Firma etc. 
machen. 

In der Maske steht “FRM“ für Firma, “CAT“ 
für Categorie und “ART“ für Artikel. 

B — Ein g abe von 12 Stellen und “P“ zur Ermitt¬ 
lung der Prüfziffer: 

Neben der Eingabe des gesamten 13stelligen Codes 
haben Sie die Möglichkeit, die Prüfziffer vom Com- 

Bitte lesen Sie weiter auf Seite 121 


115 






10 

1 

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

11 

| 

* 


* 

12 

i 

* 

EAN-CODER 13 

* 

13 

i 

* 


* 

14 

i 

* 

Copyright by 

* 

15 

i 

* 


* 

16 

i 

* 

Thomas Jerusalem 

* 

17 

i 

* 


* 

19 

i 

* 

Benoetigte Geraete 

* 

20 

i 

* 

TI99/4A Konsole 

* 

21 

i 

* 

Ext. Basic 

* 

22 

; 

* 

Kassettenrekorder 

* 

23 

i 

* 

Drucker(Sei kosha- 

* 

24 

; 

* 

GP 100A) 

* 

25 

i 

* 


* 

26 

i 

* 

Speicherbelegung 

* 

27 

| 

* 

10946 Bytes 

* 

28 

i 

* 


* 

29 

30 

i 

| 

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


160 ON BREAK NEXT :: ON ERRO 
R 2040 

170 Ti$="FRM" :: T2$="CAT M : 

: T3$="ART" :: T4$-"ART” 

180 NAME$="DATECONTROL, NEUW 
IED" :: PRODl$="SOFTWARE" :: 

PR0D2*-"EAN - CODE” 

190 A$="4012345678901" :: PR 
0D3$-“MASTER” 

200 ZZE=9 :: L=128 :: V-255 
210 CALL CHAR(126,"000000000 
0FF",124,"0000FF") 

220 GOTO 2040 

230 OPEN #1:"RS232.BA=4800.D 
A-8. CR ” 

240 PRINT #l:CHR$<8>J 
250 FOR ZZ=1 TO ZZE 
260 PRINT #1:CHR$ <28) \ CHR$(1 
3)|CHR$(L)5CHR*<255)JCHR$(L) 

|CHR$(255)| 

270 B*=SEG*(A*,1,1) 

260 IF B$=”0” THEN 310 ELSE 
IF B*-"i” THEN 330 ELSE IF B 
$=*2" THEN 350 ELSE IF B$= M 3 
" THEN 370 

290 IF B$="4” THEN 390 ELSE 
IF B$«"5" THEN 410 ELSE IF B 
*■-6" THEN 430 ELSE IF B$«"7 
" THEN 450 

300 IF B$="8” THEN 470 ELSE 
IF B*="9" THEN 490 ELSE 120 
310 N-2 :: GOSUB 860 :: N-3 
:: gosub 860 :: N-4 :: gosub 
860 :: N-5 :: gosub 860 :: 
N-6 :: gosub 860 :: N=7 :: G 
OSUB 860 
320 GOTO 510 

330 N-2 :: GOSUB 860 :: N=3 
:: GOSUB 860 :: N-4 :: gosub 
1100 :: N-5 :: gosub 860 :: 
N-6 :: gosub 1100 :: N-7 :: 
GOSUB 1100 
340 GOTO 510 

350 N-2 :: GOSUB 860 :: N=3 



:: gosub 860 :: N-4 :: gosub 
1100 :: N-5 :: gosub 1100 : 

: n-6 :: gosub 860 :: N-7 ;: 
GOSUB 1100 
360 GOTO 510 

370 N=2 :: GOSUB 860 :: N=3 

:: gosub 860 :: N-4 :: GpsuB 
1100 :: N-5 :: gosub 1100 : 

: n-6 :: gosub 1100 :: N-7 : 

: GOSUB 860 
380 GOTO 510 

390 N=2 :: GOSUB 860 :: N=3 

:: gosub 1100 :: N=4 :: gosu 
B 860 :: N=5 :: gosub 860 :: 
N-6 :: gosub 1100 :: N=7 :: 
gosub 1100 

400 GOTO 510 

410 N-2 :: GOSUB 860 :: N=3 

:: gosub 1100 :: N-4 :: gosu 
b 1100 :: N-5 :: gosub 860 : 

: N=6 :: GOSUB 860 :: N=7 :: 

gosub 1100 

420 GOTO 510 

430 N=2 :: GOSUB 860 :: N=3 
:: gosub 1100 :: N-4 :: gosu 
b 1100 :: N-5 :: gosub 1100 
:: N-6 :: gosub 860 :: N-7 : 

: GOSUB 860 
440 GOTO 510 

450 N=2 :: GOSUB 860 :: N=3 

:: gosub 1100 :: N-4 :: gosu 
b 860 :: N-5 :: gosub 1100 : 

: n-6 :: gosub 860 :: N-7 :: 
GOSUB 1100 

460 GOTO 510 

470 N=2 :: GOSUB 860 :: N=3 

:: gosub 1100 :: N-4 :: gosu 
b 860 :: N-5 :: gosub 1100 : 

: N-6 :: gosub 1100 :: N-7 : 

: GOSUB 860 
480 GOTO 510 

490 N-2 :: GOSUB 860 :: N-3 
:: gosub 1100 :: N-4 :: gosu 
b 1100 :: N-5 :: gosub 860 : 

: N-6 :: gosub 1100 :: N-7 : 

: GOSUB 860 
500 GOTO 510 

510 PRINT #l:CHR$(L);CHR$<25 
5)fCHR*(L)JCHR*<255)|CHR*<L> 

\ 

520 N-8 :: GOSUB 620 :: N-9 

:: gosub 620 :: N-10 :: gosu 
b 620 :: N-il :: gosub 620 : 
: n-12 :: gosub 620 :: N-13 
:: gosub 620 :: 

530 PRINT #l:CHR$<255)JCHR$< 


450 N=2 


L) JCHR$<255) : : !'JCHR$<13) J CH 

R$(10) 

540 IF ZZ-1 THEN GOSUB 1860 
:: GOTO 590 

550 IF ZZ-3 THEN GOSUB 1880 
:: GOTO 590 

560 IF ZZ=5 THEN GOSUB 1900 
:: GOTO 590 


116 




570 IF 2Z=7 THEN GOSUB 1920 
I: GOTO 590 

5g0'z2E8Z@R2z2S9ZTRÖNO8oS0B6l 

960 

590 IF ZZ=ZZE-1 THEN V=159 
600 NEXT ZZ :: V=255 :: GOTO 
1340 

610 ! C 6-1 

620 XX$=SEG$(AS, N,1) 

630 IF XX$="0" THEN 650 ELSE 
IF XX*="1" THEN 670 ELSE IF 
XX*“"2" THEN 690 ELSE IF XX 
*=" 3 " THEN 710 ELSE IF XXS= H 
4" THEN 730 

640 IF XX*= U 5" THEN 750 ELSE 
IF XX$= "6" THEN 770 ELSE IF 
XX$= M 7" THEN 790 ELSE IF XX 
*="8" THEN 810 ELSE IF XX*= M 
9” THEN 830 

650 PRINT #1:CHR$(V){CHR*(V) 
JCHR*(V);CHR$(L)}CHR$(L){CHR 
*(V)}CHR*(L){ 

660 RETURN 

670 PRINT #1:CHR$(V);CHR*(V) 

{ CHR*(L) ;CHR*(L) ;CHR*(V) } CHR 
*<V)|CHR*(L)| 

680 RETURN 

690 PRINT #1:CHR*(V){CHR*(V) 

{CHR*(L)JCHR*(V)JCHR$<V){CHR 
*(L)fCHR*(L){ 

700 RETURN 

710 PRINT #1:CHR*(V);CHR*(L) 
}CHR*(L);CHR$(L)?CHR*(L)JCHR 
*(V)ICHR*(L){ 

720 RETURN 

730 PRINT #1:CHR*(V){CHR*(L) 
JCHR$(V)fCHR*<V){CHR*(V)JCHR 
*<L)|CHR*<L>{ 

740 RETURN 

750 PRINT #1:CHR*<V){CHR*<L) 
fCHR*<L>|CHR*(V)|CHR*<V)| CHR 
*<V)|CHR*(L)| 

760 RETURN 

770 PRINT #1:CHR*<V)JCHR*(L) 
|CHR*<V)|CHR*(L)*CHR*<L>{CHR 
*<L)|CHR*(L>J 
780 RETURN 

790 PRINT #1 :CHR*(V) { CHR*(L) 
|CHR*<L)|CHR*(L)?CHR*(V){CHR 
*<L>|CHR*(L)| 

800 RETURN 

810 PRINT #1:CHR*<V)|CHR*(L) 
1 CHR*(L)|CHR*(V)|CHR*(L)f CHR 
*<L)|CHR*(L)| 

820 RETURN 

830 PRINT #l:CHR*<V)?CHR*(V) 

{CHR*(V)|CHR*(L)f CHR*< V) {CHR 
*<L){CHR*<L>{ 

840 RETURN 

850 END 

860 ! A 12-7 

870 XX*=SEG*(A*,N,1) 

880 IF XX*="0" THEN 900 ELSE 


L 

I 

S 

T 

I 

N 

G 

S 


IF XX$="1" THEN 920 ELSE IF 
XX*="2 M THEN 940 ELSE IF XX 
*="3" THEN 960 ELSE IF XX*=" 

4" THEN 980 

i 9 ?F I 5xS**S« 5 THiH E W*fL§k S 

IF XX*“"7" THEN 1040 ELSE IF 
XX*»"e H THEN 1060 ELSE IF X 
X*«"9" THEN 1080 
900 PRINT #l:CHR*(L);CHR$(L) • 
fCHR*(L)|CHR*(V){CHR*(V)|CHR 
*<L)|CHR*(V)f 
910 RETURN 

920 PRINT #1:CHR*(L>;CHR*(L> 
*CHR*(V){CHR*<V){CHR*(L)ICHR 
*(L>JCHR*<V)| 

930 RETURN 

940 PRINT #1:CHR*(L);CHR*(L) 
JCHR*(V){CHR*(L)JCHR*(L){CHR 
*<V) {CHR *<V) { 

950 RETURN 

960 PRINT #1:CHR*(L){CHR*(V) 
$CHR*<V){CHR*(V);CHR*(V)}CHR 
*<L)iCHR*(V)} 

970 RETURN 

980 PRINT #l:CHR*(L);CHR*(V) 
JCHR*(L){CHR*(L)?CHR*(L){CHR 
*(V){CHR*(V){ 

990 RETURN 

1000 PRINT #1:CHR*(L){CHR*(V 
)JCHR*(V){CHR*(L)JCHR*(L){CH 
R*(L>{CHR*(V){ 

1010 RETURN 

1020 PRINT #1:CHR*(L);CHR*(V 
)|CHR*<L)J CHR*(V)fCHR*(V){CH 
R*<V) |CHR*<V) I 
1030 RETURN 

1040 PRINT #1:CHR*(L>|CHR*(V 
){CHR*(V)JCHR*(V){CHR*(L){CH 
R*<V){CHR*(V)| 

1050 RETURN 

1060 PRINT #1:CHR*<L){CHR*(V 
)|CHR*(V>|CHR*<L)|CHR*<V>fCH 
R*<V>fCHR*<V)f 
1070 RETURN 

1080 PRINT #1:CHR*(L)?CHR*(L 
)|CHR*<L)JCHR*(V)?CHR*(L)ICH 
R*(V)|CHR*<V)| 

1090 RETURN 

1100 ! B 12-7 

1110 XX*=SEG*(A*,N,1) 

1120 IF XX*="0" THEN 1140 EL 
SE IF XX*« M 1 M THEN 1160 ELSE 
IF XX*="2” THEN 1180 ELSE I 
F XX*“"3 M THEN 1200 ELSE IF 
XX*=" 4 w THEN 1220 

1130 IF XX*=" 5 " THEN 1240 EL 
SE IF XX*="6" THEN 1260 ELSE 
IF XX*="7" THEN 1280 ELSE I 
F XX*="8" THEN 1300 ELSE IF 
XX*="9" THEN 1320 
1140 PRINT #i:CHR*<L){CHR*(V 
)?CHR*(L)|CHR*(L)|CHR*(V)}CH W 


117 






R*<V)|CHR*(V)J 
1150 RETURN 

1160 PRINT #HCHR*(L)|CHR*(V 
)|CHR*(V)|CHR*(L)|CHR*(L)ICH 
R*(V)JCHR*(V)J 
1170 RETURN 

1180 PRINT #HCHR*(L)|CHR*(L 
)|CHR*(V)|CHR*(V)|CHR*(L)fCH 
R*(V)|CHR*(V) f 
1190 RETURN 

1200 PRINT #HCHR*(L)|CHR*(V 
)fCHR*(L)|CHR*(L)|CHR*(L)fCH 
R*(L)|CHR*(V)| 

1210 RETURN 

1220 PRINT #HCHR*(L) |CHR*(L 
)fCHR*(V)JCHR*(V)fCHR*(V)ICH 
R*(L)|CHR*(V)J 
1230 RETURN 

1240 PRINT #HCHR*(L) |CHR*(V 
)|CHR*(V)|CHR*(V)|CHR*(L)ICH 
R*(L)|CHR*(V)| 

1250 RETURN 

1260 PRINT #1ICHR*(L)|CHR*(L 
)|CHR*(L>|CHR*(L)|CHR*(V)ICH 
R*(L)|CHR*(V)J 
1270 RETURN 

1280 PRINT #1ICHR*(L)|CHR*(L 
)|CHR*(V)|CHR*(L)|CHR*(L)JCH 
R*(L)|CHR*(V)| 

1290 RETURN 

1300 PRINT #HCHR*(L) |CHR*(L 
) |CHR*(L)|CHR*(V) |CHR*(L)5 CH 
R*(L)|CHR*(V)I 
1310 RETURN 

1320 PRINT #1:CHR*(L)|CHR*(L 
)|CHR*(V)|CHR*(L)|CHR* < V)ICH 
R*<V)|CHR*(V)| 

1330 RETURN 

1340 PRINT #1:CHR*(28)5CHR«( 
13)| CHR* <L )| CHR* (159) |CHR$(L 
)| CHR* (159)| CHR* (28)| CHR* (43 
) |CHR*(L) | CHR* <159) |CHR*(L) | 
CHR* (159)| 

1350 PRINT #1:CHR* (28)J CHR* ( 
43)| CHR* <L) | CHR* (159) |CHR*(L 
)| CHR* (159)| CHR* (13) 

1360 CLOSE #1 

1370 OPEN #1:"RS232.BA=4800. 
DA-8 .CR“ 

1380 FOR NN=1 TO 13 
1390 MM*=SEG*(A*,NN,1) 

1400 IF MM*= "0" THEN 1420 EL 
SE IF MM*" "1" THEN 1450 ELSE 
IF MM*- H 2 H THEN 1480 ELSE I 
F MM*""3 M THEN 1510 ELSE IF 
JHEN 1540 

1410 IF MM*= H 5" THEN 1570 EL 
SE IF MM*=" 6 " THEN 1600 ELSE 
IF MM*="7" THEN 1630 ELSE I 
F MM*= H 8" THEN 1660 ELSE IF 
MM*= M 9 H THEN 1690 
1420 GOSUB 1800 
1430 PRINT #l:CHR*(128);CHR* 


L 

I 

S 

T 

I 

N 

G 

S 


(190)|CHR*(193)|CHR*(193)JCH 

R*(193)ICHR*(190)ICHR*(128)| 

1440 GOTO 1720 

1450 GOSUB 1800 

1460 PRINT #1:CHR*(128)5CHR* 

(132)|CHR*(130)|CHR*(255)ICH 

R*(128)|CHR*(128)|CHR*(128)| 

1470 GOTO 1720 

1480 GOSUB 1800 

1490 PRINT #llCHR*<128)»CHR* 

(226)|CHR*(209)|CHR*(209)ICH 

R*(201)|CHR*(198)|CHR*(128)| 

1500 GOTO 1720 

1510 GOSUB 1800 

1520 PRINT #1:CHR*(128)ICHR* 

(161)ICHR*(201)ICHR*(205)ICH 

R*(203)|CHR*(177)|CHR*(128)J 

1530 GOTO 1720 

1540 GOSUB 1800 

1550 PRINT #1:CHR*(128)ICHR* 

(152)ICHR*(148)ICHR*(146)JCH 

R*(249)ICHR*(144)|CHR*(128)| 

1560 GOTO 1720 

1570 GOSUB 1800 

1580 PRINT #1: CHR* (128) ICHR* 

(199)|CHR*(197)JCHR*(197)JCH 

R*(197)JCHR*(184)JCHR*(128)J 

1590 GOTO 1720 

1600 GOSUB 1800 

1610 PRINT #1:CHR$(128)ICHR* 

(184)|CHR*(204)ICHR*(202)JCH 

R*(201)JCHR*(176)JCHR*(128)| 

1620 GOTO 1720 

1630 GOSUB 1800 

1640 PRINT #1:CHR*( 128) |CHR* 

(129)|CHR*(129)ICHR*(249)|CH 

R*(133)ICHR*(131)ICHR*(128)J 

1650 GOTO 1720 

1660 GOSUB 1800 

1670 PRINT #1ICHR*(128)|CHR* 

(182)JCHR*(201)ICHR*(201)ICH 

R* < 201)ICHR*(182)ICHR*(128)| 

1680 GOTO 1720 

1690 GOSUB 1800 

1700 PRINT #1ICHR*(128)JCHR* 

(134)ICHR*(201)ICHR*(169)|CH 

R*(153)JCHR*(142)|CHR*(128)J 

1710 GOTO 1720 

1720 NEXT NN 

1730 GOSUB 1940 

1740 PRINT #1ICHR*(10)ICHR*( 

13) 

1750 CLOSE #1 

1760 OPEN #ll M RS232.BA=4800. 
DA"8 M 

1770 PRINT #11 .1 I I 
1780 CLOSE #1 

1790 DISPLAY AT <24,1)1"" II 
GOTO 2990 
1800 ! SPACE 

1810 IF NN=2 THEN 1820 ELSE 
IF NN*=8 THEN 1840 ELSE RETUR 
N 


118 




1820 PRINT #1:CHR*(28){CHR*< 

9) > CHR*(128){ 

1830 RETURN 

1840 PRINT #1:CHR*<28)JCHR*< 
5){CHR*(128)J 
1850 RETURN 

1860 PRINT #1:CHR*<15)J" 

M fNAME*|CHR*<8)|CHR*(13){CH 
R*<10) 

1870 RETURN 

1880 PRINT #1:CHR*(15)J" 
"|PR0Di*|CHR*<8)|CHR*(13)fC 
HR*(10) 

1890 RETURN 

1900 PRINT #1:CHR*(15)J" 

M IPR0D2*J CHR*(8)|CHR*(13)|C 
HR*(10) 

1910 RETURN 

1920 PRINT #1:CHR*(15){" 

" {PR0D3*}CHR*(8) {CHR*(13) {C 
HR*(10) 

1930 RETURN 

1940 PRINT #i:CHR*(28)jCHR*( 
3){CHR*(128){CHR*(15)}" 

"{"by DATECONTROL"}CHR*(8)JC 
HR*(13)JCHR*(10) 

1950 RETURN 

1960 PRINT #1:CHR$(13){CHR*< 

10 ) 

1970 RETURN 

1980 CALL HCHAR(4,2,129) : : C 
ALL HCHAR(5,2,91):: CALL HCH 
AR<6,2,123): : CALL VCHAR<7,2 
,91,3):: CALL HCHAR(10,2,123 
):: CALL VCHAR(11,2,91,3) 
1990 CALL HCHAR(14,2,123):: 
CALL VCHAR(15,2,91,3):: CALL 
HCHAR(18,2,123):: CALL VCHA 
R (19,2,91,3):: CALL HCHAR(22 
,2,130) 

2000 CALL HCHAR(4,22,133):: 
CALL HCHAR(5,22,134):: CALL 
HCHAR(6,22,135) 

2010 CALL HCHAR(4,31,131):: 
CALL HCHAR<5,31,93):: CALL H 
CHAR(6,31,125):: CALL VCHAR( 
7,31,93,3):: CALL HCHAR<10,3 
1,125):: CALL VCHAR(11,31,93 
,3) 

2020 CALL HCHAR(14,31,125):: 

CALL VCHAR(15,31,93,3):: CA 
LL HCHAR(18,31,125):: CALL V 
CHAR(19,31,93,3):: CALL HCHA 
R(22,31,132) 

2030 RETURN 

2040 CALL CLEAR :: CALL SCRE 
EN(2):: FOR i-0 TO 14 :: cal 
L COLOR(1,7,1):: NEXT I 
2050 DISPLAY AT(1,1): U EAN - 

CODER.EAN 13" 

2060 DISPLAY AT(8,1):"0001.. 

.LOAD DATA....CS1": : "0 

002 PROGRAM/PRINT...RS232" 


L 

I 

S 

T 

I 

N 

G 

S 


: :"0003...SAVE DATA. 

.CS1" 

2070 DISPLAY AT(14,1):"0004. 

..END OF PROGRAMM.E" :: 

DISPLAY AT(24,1):"...al1 rig 
hts by DateControl" 

2080 CALL KEY (0, K, S) : : IF S= 
0 THEN 2080 ELSE IF K-49 THE 
N 2160 ELSE IF K-50 THEN 210 
0 ELSE IF K-51 THEN 2230 
2090 IF K-52 THEN 2120 ELSE 
2080 

2100 CALL CLEAR :: DISPLAY A 
T (1,1): N EAN - CODER 13...Dat 
•Control" 

2110 GOTO 2840 

2120 CALL CLEAR :: DISPLAY A 

T <7, 1) : ".EAN - CODER": 

: : ".all rights by": :" 

.DateControl": :". 

MONDWEG 0009":".D 5450 

NEUWIED 1" 

2130 DISPLAY AT(15,1):". 

.WEST - GERMANY": : ".# 

02631 / 26364" 

2140 DISPLAY AT<24,16):"E/EN 
D G/O ON" 

2150 CALL KEY(0,K,S):: IF S= 
0 THEN 2150 ELSE IF K=69 THE 
N END ELSE IF K-71 THEN 2040 
ELSE END 
2160 CALL CLEAR 
2170 OPEN #3: "CS1", INTERNAL, 
INPUT ,FIXED 192 
2180 CALL SOUND(100,660,0) 
2190 PRINT :"* LOAD MODE" 
2200 INPUT #3:A*,NAME*,PRODI 
*, PR0D2*,PR0D3* 

2210 CLOSE #3 

2220 GOTO 2100 - 

2230 CALL CLEAR 

2240 OPEN «3:"CSl",INTERNAL, 

OUTPUT,FIXED 192 

2250 CALL SOUND(100,660,0) 

2260 PRINT :"* SAVE MODE" 

2270 PRINT #3:A*,NAME*,PRODI 

*,PR0D2*,PR0D3* 

2280 CLOSE #3 
2290 GOTO 2100 
2300 ! 

2310 STA*=SEG*(A*,1,2) 

2320 IF STA*="00" OR STA*="0 
1" OR STA*-"02" OR STA*-"03" 
OR STA*-"04" OR STA*»"05" 0 
R STA*-"06" OR STA*-"07" OR 
STA*-"08" OR STA*»"09" THEN 
ST*-"USA/CANADA UPC" :: RETU 
RN 

2330 IF STA*="10" OR STA*="1 
1" OR STA*="12" OR STA*="13" 
OR STA*-"14" OR STA*»"15" 0 
R STA*»"16" OR STA*-"17" OR 
STA*-"18" OR STA*-"19" THEN 


HO 













ST*="RESERVE. ." :: RETU 

RN 

2340 IF STA*»"20" OR STA*»"2 
1" OR STA*»"22" OR STA*»"23" 
OR STA*»"24" OR STA*«"25" 0 
R STA*»"26“ OR STA*»"27" OR 
STA*»■28" OR STA*»"29" THEN 
ST*-"INTERN NUMBERS“ :: RETU 
RN 

2330 IF STA*="30” OR STA*="3 
1" OR STA*»"32“ OR STA*»"33" 
OR STA*-"34“ OR STA*«"33" 0 
R STA*»"36" OR STA*»"37" THE 
N ST*-"FRANCE.....GEN" :: RE 
TURN 

2360 IF STA*="40" OR STA*="4 
1" OR STA*-"42" OR STA*-"43" 
THEN ST*«"W GERMANV CCG" : 

: RETURN 

2370 IF STA*= “ 49" THEN ST*=" 

JAPAN." :: RETURN 

2380 IF STA*="50" THEN ST*=" 
G BRITAIN ANA" :: RETURN 
2390 IF STA*="54" THEN ST*=" 
BELGIUM ICOF/D" :: RETURN 
2400 IF STA*="57" THEN ST*=" 
DANMARK....EAN" :: RETURN 
2410 IF STA*="64" THEN ST$=" 
FINLAND...CCCF" :: RETURN 
2420 IF STA*="70" THEN ST*=" 

NORWAY_NKLF" :: RETURN 

2430 IF STA*="73" THEN ST*=" 
SWEDEN...SEANC" :: RETURN 
2440 IF STA*="76" THEN ST*=" 
SWITZERLD SACV" :: RETURN 
2430 IF STA*="80" OR STA*»"8 
1" THEN ST*="ITALY CCGICTI" 
:: RETURN 

2460 IF STA*»"84" THEN ST*=" 

SPAIN. .." : : RETURN 

2470 IF STA*»"87" THEN ST*=" 
NETHERLAND UAC" :: RETURN 
2480 IF STA*»"90" OR STA$="9 
1" THEN ST*»“AUSTRIA....BAN" 
:! RETURN 

2490 IF STA*="93" THEN ST*=" 
AUSTRALIA....." :: RETURN 
2500 IF STA*»"94" THEN ST*=" 
NEW ZEALAND..." :: RETURN 
2510 IF STA*»"98" OR STA*»"9 
9“ THEN ST*«"CREDIT NOTES " 
:: RETURN 
2520 ! 

2530 STA*=SEG*(A*,1,3) 

2540 IF STA*»"600" THEN ST*= 
"SOUTH AFRICA " :: RETURN 
2550 IF STA*»"859" THEN ST*= 

"cssr." :: RETURN 

2560 IF STA*»"860" THEN ST*= 
"YUGOSLAVIA...." :: RETURN 
2570 IF STA*»"729" THEN ST*= 

"ISRAEL.:: RETURN 

2580 IF STA*»"599" THEN ST*= 


L 

I 

S 

T 

I 

N 

G 

S 


"HUNGARY." :: RETURN 

2590 ST*= "-" :: 

RETURN 

2595 FOR 1=1 TO 12 :: PP$=SE 
G*(A*,I,1):: IF PP*= M P" THEN 

3010 

2596 NEXT I 

2600 PP$=SEG*(A*,13,1):: IF 

PP*="P" THEN 2720 

2610 ! PRUEFUNG 

2620 PSUM=0 

2630 FOR PX=1 TO 13 

2640 PPP*=SEG*(A$,PX,1) 

2650 PPP-VAL(PPP*) 

2660 IF PX=2 OR PX=4 OR PX=6 
OR PX-8 OR PX-10 OR PX-12 T 
HEN PSUM-PSUM+(3*PPP)ELSE PS 
UM-PSUM+PPP 
2670 NEXT PX 
2680 PMOD=PSUM/10 
2690 IF PMOD< >INT(PMOD)THEN 
TTT*="NOT OK" ELSE TTT$=">>> 
OK" 

2700 DISPLAY AT(5,21)SIZE(1) 
:SEG*(A*,13,1) 

2710 RETURN 

2720 ! PRUEF2IFFER ERSTELLEN 
2730 PSUM=0 
2740 FOR PX=1 TO 12 
2750 PPP»VAL(SEG*(A*,PX,1)) 
2760 IF PX=2 OR PX»4 OR PX=6 
OR PX«8 OR PX-10 OR PX»12 T 
HEN PSUM=PSUM+(3*PPP)ELSE PS 
UM-PSUM+PPP 
2770 NEXT PX 

2780 PMOD=PSUM/10 :: PQ=INT( 
PMOD):: PREST=PMOD-PQ :: PZZ 
»1-PREST 

2790 IF PZZ=1 THEN PZZ*="0" 

:: GOTO 2810 

2800 PZZ1*=STR*(PZZ):: PZZ*= 
SEG* <PZZ1*|2,1) 

2810 DISPLAY AT(5,21)SIZE<1) 

:pzz* 

2820 A*=SEG*(A*,1,12) fccPZZ* 

2825 TTT*= "." 

2830 RETURN 
2840 GOSUB 2310 
2850 DISPLAY AT(5,1):"EAN": 
:"STA": : :ti*: :T2*: :T3*: 
:T4*: : :".....by DateContro 
l": :!T5* 

2860 DISPLAY AT(5,6):SEG*(A* 
,1,2)1" "|SEG*(A$,3,5)J" "*S 
EG* < A*,8,5)5" "JSEG*(A$,13,1 
) 

2870 DISPLAY AT(7,6):ST* :: 
DISPLAY AT(10,6):NAME* :: DI 
SPLAY AT(12,6):PRODI* :: DIS 
PLAY AT(14,6):PR0D2* :: DISP 
LAY AT(16,6):PR0D3* 

2880 DISPLAY AT (2, 1 ) : — 


120 







LISTING 


ISPLAY AT<23,1): " M I I I ! I i I i 1 
II I I I I I I I I M I 1 M I H 
2890 GOTO 2990 
2900 ACCEPT AT(5,6)SIZE(-13) 
VALIDATE("0123456789P")BEEP: 
A* 

2910 DISPLAY AT<5,6):SEG*(A* 
,1,2)| M ”|SEG* < A*,3,5)| H "5 S 
EG*(A*,8,5)|” "JSEG*(A*,13,1 

) 

2920 GOSUB 2595 : .* DISPLAY A 
T(5,6)SIZE(2):SEG*(A$,1,2):: 
DISPLAY AT(5,9)SIZE(5):SEG$ 
(A*,3,5):: DISPLAY AT(5,15)S 
IZE(5):SEG*(A*,8,5) 

2930 GOSUB 2310 :: DISPLAY A 
T(5,23):TTT* :: DISPLAY AT(7 
,6 ):st* :: Display at<7,23): 
"GOON Y" :: ACCEPT AT(7,28)S 
IZE(-1)VALIDATE("YN")BEEP:Y* 
2940 IF Y*="N" THEN 3010 ELS 
E IF Y*-”Y" THEN 2950 ELSE 3 


010 

2950 ACCEPT AT<10,6)SIZE(-23 
)BEEP:NAME* 

2960 ACCEPT AT< 12, 6)SIZE( -23 
)BEEP:PRODI* 

2970 ACCEPT AT(14,6)SIZE<-23 
)BEEP:PR0D2* 

2980 ACCEPT AT(16,6)SIZE( -23 
)BEEP:PR0D3* 

2990 DISPLAY AT(24,1):”PRESS 
N/EW P/RINT M/ENUE N" :: 
ACCEPT AT(24,28)SIZE(-1)VALI 
DATE("NPM")BEEP:PP* 

3000 IF PP$="P" THEN 230 ELS 
E IF PP*«"M" THEN 2040 ELSE 
IF PP*="N" THEN 3010 ELSE 32 
767 

3010 DISPLAY AT(5,6)SIZE(16) 

:: Display at(5,6)size(i 
3 ): a* 

3020 GOTO 2900 


Fortsetzung von Seite 115 


puter ermitteln zujassen. Geben Sie dafür bei 
“EAN“ 12 numerische Stellen sowie ein “P“ für 
Prüfziffer ein. Z.B. 40123456789P. der Computer 
ermittelt bei diesem Beispiel die 1 als Prüfziffer und 


integriert diese. Der weitere Ablauf des Programmes 
ist mit dem unter <A> identisch. 

Drücken Sie jetzt “P“. 

Das Ergebnis spricht für sich. 

Am Schluß sei noch einmal auf die ausschließlich 
private Nutzung dieses Programmes hingewiesen. 

Thomas Jerusalem 


/ 


BÖRSE 


Verk. TI 99/4A weg. System¬ 
wechsel. Konsole u. Ex-Ba- 
sic nur 350,—.Jedes Spiel 
nur 1,—. Listings nur —,20 
DM pro Seite. 32 KB u. Disk- 
laufw. je 225,— DM. Info 
gratis von: Markus Theimer, 
Schwedenstr. 2, 6203 Hoch¬ 
heim a. M. 


Verk. Zusatzinfo für E/A 
Handbuch. Mit o. ohne Disk, 
sehr ausführl. (Bitdarst.) u. 
einfache Bsp. Ideal für Ein¬ 
stieg in Assembler. Keine 
Vorkenntn. nötig. Handbuch 
genügt. Ab Mitte Juli lieferb. 
Probeseiten b. Rückporto 
mögl. Andreas Pack, Eicke- 
lerstr. 60, 4690 Herne 2 


Verk. defekte TI-Konsole 
120, J oystickadapter 
15,—, Palmodulator 40,—, 
Adapter 35,—, Spiele 25,—, 
Orig. Kass.Rek. von TI 
70,—, Ext. Basic-Modul 
100,—. Melden bei Thor¬ 
sten Löw, Tel: 07130/71 
65 


Achtung! TI-Freaks! 
Suche dringend Ex-Basic, 
aber nur dt. Nachbau! Und 
Expansion Box m. Karten 
(DSK-Laufw. usw.) u. 
Speechsynthesizer u. ext. 32 
K-Erw. m. Centr. interface! 
Angebote an: Tel: 0201/ 
712816 


Programmiere Ihre Eproms: 
z.B. für Modulplatine, Q- 
Save-Modul. Suche günstig: 
Sprachsynthesizer, Modulge¬ 
häuse, Angebote an und In¬ 
fo von: Peter Rieger, Talstr. 
64, 6750 Kaiserslautern. Tel: 
0631/73669 

Suche Ex-Basic (dt. Hand¬ 
buch) zu günst. Preis. Tel: 
02333/4343, ab 16 Uhr 


Atronic V. 24 Schnittstelle 
für 200,— DM abzugeben. 
Grund: An durchgeführt. 
BUS der Schnittstelle ange¬ 
schlossene Peripherie funk, 
nicht. R. Arens, 

Saazer Weg 1, 3170 Gifhorn 


Verk. fast neues TI 99/4A 
System — nur kompl. — 

(inkl. 2 CPU, 2 Rec., TI-2- 
Rec.-Kabel, 1 Exp. Unit mit 
RS 232-Karte, 32 .KB Erw., 
Disk-Contr., int. Laufwerk, 
TI-Matrixprinter, Speech- 
Synt., Tl-Joysticks), div. 
Tl-orig. Software (TI-Ass., 
TI-Multiplan, Tl-Writer, TI- 
Rechnungsst., TI-Buchh., TI- 
Ext. Basic, Tl-Schach u.v.a.), 
TI-Lit. Dr. Hanne, Im Langen 
Feld 16,3014 Laatzen 1, 

Tel: 0511/821614 


Verk. od. tausche Progr. Li¬ 
sten anfordern bei: Andreas 
Tilch, Weierstadt 17, 6648 
Wadern-Büschfeld/Saar, 

Tel: 06874/6705 


Progr. zur Erstellung von 
Lotto-Syst. f. 6 aus 49 
mit Gewinngarantie. Ex- 
Basicprogr. auf Kass. geg. 
Einsend, von 10,— DM. P. 
Hielscher, Am Wall 22, 
4401 Saerbeck 


Tl-User: Laßt Euch von Ge¬ 
schäftemachern nicht aus¬ 
nehmen! Bei uns gibt’s US- 
Beginners Basic Tutor für 
nur 6,— DM inkl. Porto. Tel: 
06638/1503, ab 15 Uhr 


Wer hat Software für das 
Mini-Mem. Erwin Kinslech- 
ner, Eibesbrunnergasse 1/10 
A-1120 Wien 

TI99/4A Konsole m. eingeb. 
32K-CMOS Erw. zu verk. für 
250 DM. Rechner ist z.B. in 
Ass. bis zu 2 x so schnell, dß 
diese Erw. wie die CPU auch 
einen echten 16Bit Datenbus 
besitzt. Tel. 06257/83247 

Suche gegen Bezahlung: Bedie¬ 
nungsanleitung f. TI (auch Fo¬ 
tokopie) 4- Progr. Bildschir¬ 
mausdruck (Hardcopy) f. 
Drucker Kaitec 100 Ex. Suche 
außerdem: Peribox m. 2 
Disclw. + Control + RS232 
Schnitt stellenkarte. Tel. 
07026/5885 


121 













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

11 ! * * 

12 ! * WAEHLERVERHALTEN * 

13 ! * * 

14 ! * Copyright by * 

15 ! * * 

16 ! * Hans Enders * 

17 ! * * 

19 ! * Benoetigte Geraete * 

20 ! * TI99/4A Konsole * 

21 ! * Ext. Basic * 

22 ! * * 

26 ! * Speicherbelegung * 

27 ! * 1666 Bytes * 

28 ! * * 
29 ! ********************** 
800!CALL SCREEN(10) 

110 CALL CLEAR 

120 F$= " FFFFFFFFFFFFFFFF 11 :: 

D$="FF7F3F1F0F0F0301" :: 
="FF818181818181FF" 

130 CALL CHAR(96,104,1 
12,V$)i: CALL C0L0R<9,7,16,1 
0,2,11,11,16,6) 

140 FOR 2=3 TO 20 
150 FOR S=5 TO 23 
160 RANDOMIZE 
170 K=INT(3*RND)+1 
180 IF K=1 THEN F=96 ELSE IF 
K=2 THEN F = 112 ELSE F=32 
190 CALL HCHAR(Z,S,F,1) 

200 NEXT S 

210 NEXT Z 

220 P=INT(8*RND)+1 

230 Z=INT<<20-3+1)*RND)+3 

240 S=INT<<23-5+1)*RND)+5 

245 CALL GCHAR <Z,S,Kl):: IF 

Kl-32 THEN 220 

250 A=Z+1 

260 B=Z-1 

270 C=S+1 

280 D=S-1 

290 IF A>=20 THEN A=3 

300 IF B< =3 THEN B=20 

310 IF 0=23 THEN C=5 

320 IF D< =5 THEN D=23 

340 IF P=1 THEN CALL GCHAR(B 

,S,K) 

350 IF P=2 THEN CALL GCHAR(B 
i C* K) 

360 IF P=3 THEN CALL GCHAR(Z 
,»C, K) 

370 IF P=4 THEN CALL GCHAR(A 
iC,K) 

380 IF P=5 THEN CALL GCHAR(A 
,S,K) 

390 IF P=6 THEN CALL GCHAR(A 
,D,K) 

400 IF P=7 THEN CALL GCHAR<Z 
,D,K) 

410 IF P=8 THEN CALL GCHAR(B 
,D,K) 

411 ON P GOSUB 1000,1020,104 



0,1060,1080,1100,1120,1140 
440 !CALL HCHAR(Z,S,K,1) 

450 DISPLAY AT(24,5)1"ZEIT= M 
JN 

460 N=N+1 
470 GOTO 220 

1000 IF KOK1 THEN CALL HCHA 
R(B,S,Kl,1):: IF K=32 TH§N C 
ALL HCHAR<Z,S,32,1)ELSE CALL 
HCHAR(Z,S,Kl,1) 

1010 RETURN 

1020 IF KOK1 THEN CALL HCHA 
R(B,C,K1,1):: IF K-32 THEN C 
ALL HCHAR(Z,S,32,1)ELSE CALL 
HCHAR(Z,S,Kl,1) 

1030 RETURN 

1040 IF KOK1 THEN CALL HCHA 
R(Z,C,Kl,l)ü IF K-32 THEN C 
ALL HCHAR<Z,S,32,1)ELSE CALL 
HCHAR <Z,S,Kl,1) 

1050 RETURN 

1060 IF KOK1 THEN CALL HCHA 
R < A,C,Kl,1)I! IF K-32 THEN C 
ALL HCHAR(Z,S,32,1)ELSE CALL 
HCHAR(Z,S,Kl,1) 

1070 RETURN 

1080 IF KOK1 THEN CALL HCHA 
R(A,S,K1,1):: IF K=32 THEN C 
ALL HCHAR(Z,S,32,1)ELSE CALL 
HCHAR(Z,S,Kl,1) 

1090 RETURN 

1100 IF KOK1 THEN CALL HCHA 
R(A,D,Kl,1)I: IF K=32 THEN C 
ALL HCHAR(Z,S,32,1)ELSE CALL 
HCHAR(Z,S,Kl,1) 

1110 RETURN 

1120 IF KOK1 THEN CALL HCHA 
R(Z,D,K1,1):: IF K=32 THEN C 
ALL HCHAR<Z,S,32,1)ELSE CALL 
HCHAR(Z,S,Kl,1) 

1130 RETURN 

1140 IF KOK1 THEN CALL HCHA 
R(B,D,K1,1)::IF K-32 THEN C 
ALL HCHAR<Z,S,32,1)ELSE CALL 
HCHAR(Z,S,Kl,1) 

• 1150 RETURN 

WÄHLER- 

VERHALTEN 

Wähler entstammt aus einer Anregung aus der 
Computer-Kurzweil im Spektrum der Wissenschaft. 
Auf einer torusförmigen Welt, richtet sich das 
Wahlverhalten eines Einwohners nach dem Verhal¬ 
ten eines seiner Nachbar. Wenn es sich um ein 
leeres Feld handelt, so wandert der Einwohner 
dorthin. Andernfalls, wenn der Nachbar nicht sei¬ 
ner Partei angehört, so nimmt der Nachbar die 
Farbe seines Nachbarn an. 

Das Programm kann man stundenlang beobachten 
und Änderungen feststellen. Sicher ist nur eines: 
Nach vielen Stunden ist die Demokratie einer 
Diktatur gewichen. 


122 


Bogen 2 




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ß d^ses 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 
lieh 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 „ungestaltete” 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: _ 

H ermit 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 

123 



Computerperipherie 
der Mannesmann-Tally 
Klasse 


imuisw 


FillirilliillllllillilllHlHHVVn- 


llffülillliil: 


um mit ii 


Munsmm 


w/mmm 




■Mnasr-TiWttl 


i'-nxtz 


MANNESMANN 

TALMT