Diese Seite ist veraltet! Die aktuelle Version finden Sie hier.
Kurdis

Das Kuvendiskussionsprogramm
für Sinclair ZX Spectrum

Kurdis-Titelbild
Kurdis ist ein Programm für den legendären Sinclair ZX Spectrum und dient zur Diskussion mathematischer Kurven, also zur Ermittlung von Nullstellen, Extremwerten und Wendepunkten. Auch das Zeichnen von Funktionsgraphen, die Berechnung von Flächen- und Kurvenintegralen und vieles mehr ist sehr leicht möglich. Mit Hilfe eines ZX-Spectrum-Emulators läßt es sich auch heute noch auf jedem PC einsetzen. 

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:

Bildschirmfotos

Epizykelbahn
Abb. 1: Kreise und Epizyklenbahn, unten sind die Piktogramme des Hauptmenüs zu sehen

Funktion dritten Grades
Abb. 2: Die Funktion (x+2)*(x-5)*(x-8)/25 mit Markierung bei x=2.5

Funktion dritten Grades
            und erste Ableitung
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:

ZX-Spectrum-Tastatur-Layout
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.

Validator