Geschichtliches
Kurdis war mein erstes größeres, "seriöses" Programmierprojekt, nachdem ich mich vorher vorwiegend mit kleineren Dingen und Spieleprogrammierung beschäftigt hatte. Erste Ansätze lassen sich zwar schon bis zum genialen ZX 81 zurückverfolgen, jedoch scheiterten diese Versuche an seiner geringen Grafikauflösung (64 x 44 Klötzchen) und Speicherausstattung (trotz meines Erweiterungsmoduls waren das nur 16 kB). Der Spectrum bot da immerhin schon 256 x 176 mehrfarbige Pixel und ca. 40 kB in BASIC programmierbaren Speicher. Der wird von Kurdis auch gründlich ausgenutzt: Erstens wird die Variableninitialisierung von einem ersten Programmteil durchgeführt, der dann den zweiten nachlädt und sich damit selbst überschreibt. Zweitens paßt dieser zweite Teil nur deswegen in den Speicher, weil der Code mit einem speziellen Tool (Ultrakit) eingeschrumpft wurde.Leider ist Kurdis erst 1987/88 fertig geworden; zu diesem Zeitpunkt war der Spectrum schon praktisch tot. Drei Jahre früher hätte man damit vielleicht noch Geld verdienen können - stattdessen ist es mir lediglich gelungen, fünf Exemplare für zusammen ungefähr 100,- DM an einen Händler abzusetzen, der sich noch mit Spectrum-Software beschäftigte. Gleichviel: Die Entwicklung hat großen Spaß gemacht und knapp zwei Jahre lang (bis der Diskutant das Licht der Welt erblickte) hat Kurdis mir während des Studiums die Arbeit sehr erleichtert.
Leistungsspektrum
Trotz der eher spartanischen Hardware konnte man mit Kurdis schon eine ganze Menge anstellen:- Allgemeine Eigenschaften:
- Abbildungen aus R in R und aus R in RxR
- Kurven explizit und parametrisch darstellbar
- transparentes Bedienungskonzept, integrierte Hilfe
- kinderleichte Bedienung durch menügeführte Oberfläche
- kompatibel zum Microdrive
- Grafikfähigkeiten:
- Funktionsgraphen
- beliebig viele Kurven in einer Graphik darstellbar, 3 Kurven gleichzeitig bearbeitbar
- zwei Grafikspeicher, alternativ einblendbar
- automatische oder manuelle Positionierung des Achsenkreuzes
- automatische Skalierung der Achsen, Gitterpunkte wahlweise einblendbar
- manuelle Eingabe von Streckfaktoren
- Mathematisches Leistungsspektrum:
- numerische Differentiation
- numerische Integration, Berechnung von Kurvenlängen
- numerische Berechnung von Nullstellen, Extremwerten und Wendepunkten
- Erstellen von Wertetabellen
- Zahlenbereich ±5E±38, Rechengenauigkeit 7 Stellen
- viele mathematische Standard-Funktionen, z. B. exp, sin, ln
Bildschirmfotos
Abb. 1: Kreise und Epizyklenbahn, unten sind die Piktogramme des Hauptmenüs zu sehen
Abb. 2: Die Funktion (x+2)*(x-5)*(x-8)/25 mit
Markierung bei x=2.5
Abb. 3: Funktion wie oben, zusätzlich ihre
erste Ableitung, unten das zweite Menü
Pressestimme
In der Zeitschrift "ASM - Aktueller Software-Markt" ist in der Ausgabe 11/1988 sogar noch ein Testbericht erschienen:"... das Programm Kurdis von F. Seebass könnte sich für Sie als
außergewöhnlich nützlich erweisen, sofern Kurvendiskussion auf
dem Lehrplan steht. Ich denke da in erster Linie, ebenso wie der
Autor des Programmes, an die Schüler der gymnasialen Oberstufen.
... Damit auch die letzte Hemmschwelle vor dem Programm abgebaut
wird, gibt es noch eine sehr gute, witzige und leicht
verständliche Anleitung für das Programm - in Deutsch natürlich.
... Was kann Kurdis? Kurdis ist in der Lage, beliebige
zweidimensionale Funktionen und Kurven in der x-y-Ebene grafisch
darzustellen und ausführlich zu analysieren (auch Flächen- und
Kurvenintegrale). Zur grafischen Darstellung sind
Zusammensetzungen aus bis zu drei Teilfunktionen/-kurven
möglich.
... Man kann (selbstverständlich!) den Definitionsbereich
eingeben, in y-Richtung verschieben, die y-Achse strecken, eine
Grafik ins RAM speichern, eine Wertetabelle erstellen, einzelne
Funktionswerte ausgeben lassen, die erste Ableitung zeichnen,
Integrale errechnen usw., aber auf jeden Fall genug.
... Mir hat's sehr gut gefallen. Kurdis beweist zudem, daß man
für solche Rechen- und Zeichenaufgaben auch auf Rechner wie ST
oder Amiga verzichten kann.
... Positiv: unglaublich viele Funktionen, ausführliches
Handbuch, einfach zu verstehen, sehr hiflreich bei Rechen- und
Zeichenkontrolle
Negativ: Programm ist in Basic geschrieben (stört aber kaum)"
Download-Dateien
Ich habe zwei Download-Dateien zusammengestellt, wobei die eine eine sog. Tape-Datei für den MS-DOS Emulator "Warajevo" von Zeljko Juric und Samir Ribic enthält, die andere eine Tape-Datei für den Windows-Emulator "ZX32" von Vaggelis Kapartzianis. Leider sind die Formate nicht kompatibel, aber Warajevo kann seine Dateien in die Formate wohl fast aller anderen Emulatoren umwandeln.Die Tapes enthalten neben dem Programm auch die Quelltexte und das Handbuch im Tasword II-Format (Tasword II war eine recht brauchbare Textverarbeitung für den Spectrum). Außerdem liegt das Handbuch als ASCII-Datei bei, allerdings ohne alle Bilder und Grafiken, da ich diese damals in mühevoller Kleinarbeit in den Master-Ausdruck kleben mußte. War aber halb so wild, denn den Ausdruck selbst mußte ich ebenfalls aus zwei Streifen zusammenleimen, da mein Seikosha GP-50s (das war ein Ein-Nadel-Drucker speziell für den Spectrum) leider nicht einmal halb so breit wie eine DIN-A4-Seite war.
Zum Download-Bereich geht's hier.
Installationshinweise
Kopieren Sie einfach den Inhalt der jeweiligen ZIP-Datei auf Ihre Festplatte. Die Datei "kurdis.tap" bzw. "kurdis.zxt" laden Sie dann mit Ihrem Emulator.Hinweise zur Bedienung
Die größte Hürde wird vermutlich die Bewältigung der 127 Shift-Ebenen des ZX Spectrums sein. Um ein Programm vom Band zu laden (Befehl LOAD "") muß man beim Warajevo-Emulator z. B. ALT j, ALT p, ALT p eingeben (ZX 32 startet Kurdis zum Glück automatisch, sobald das Band geladen ist). Dennoch: Um Funktionsterme einzugeben, kommt man um die Beherrschung der Shift-Modes nicht herum, da jene genau so eingegeben werden müssen, wie man sie in BASIC programmiert hätte: "sin(x)" gibt man daher nicht "s", "i", "n", "(", "x", ")" ein, sondern Extended Shift "q", Symbol Shift "8", "x", Symbol Shift "9", wie das Tastatur-Layout zeigt:
Abb. 4: Tastatur-Layout des ZX Spectrums
Zum Glück können alle Emulatoren, die ich kenne, dieses Layout bei Bedarf einblenden.
Außerdem können sie jederzeit (am besten unmittelbar nach Programmstart, solange der Bildschirm noch leer ist) die Taste "i" drücken, um eine Kurzanleitung anzuzeigen und zu jedem Menüpunkt eine kurze Erklärung abzurufen. Zu guter Letzt liegt auch das Handbuch als ASCII-Datei im Download-File vor.
Spectrum-Emulatoren
Es gibt nach wie vor eine ganze Reihe von guten Spectrum-Emulatoren (neuerdings sogar für Hand-Held-Rechner), die insbesondere dazu dienen, alte Spiele ablaufen zu lassen. Zum Glück funktioniert das auch mit Kurdis. Besonders empfehlen kann ich die beiden oben schon erwähnten Emulatoren "Warejevo" für MS-DOS und "ZX 32" für Windows. Insbesondere Warajevo bietet sehr viele Zusatzfunktionen, z. B. um Dateien in Formate anderer Emulatoren umzuwandeln, und kann sogar über die Soundkarte und mit Hilfe eines Kassettenrekorders die Original-Spectrum-Bänder einlesen!Jede Menge Infos rund um unseren good, old Speccy gibt's z. B. bei The
World of Spectrum oder auch etwas allgemeiner bei Planet
Sinclair.