Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| z1013:handbuecher:handbuch_2b [2024/08/16 07:53] – angelegt volkerp | z1013:handbuecher:handbuch_2b [2024/08/16 08:14] (aktuell) – volkerp | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ====== Handbuch Teil IIB ====== | ====== Handbuch Teil IIB ====== | ||
| - | TODO | + | Hier gibt es nur die Beschreibungen zu den Programmen. Die Programme selbst sind als Download verfügbar und müssen nicht mehr abgetippt werden! |
| + | |||
| + | ===== Anlage 11: Liste des Reassemblers für U 880-Befehle ===== | ||
| + | |||
| + | Da ein Teil der hier wiedergegebenen Anwenderprogramme, | ||
| + | der Basic-Interpreter und das im ROM enthaltene Monitorprogramm | ||
| + | im Maschinencode vorliegen, erhalten Sie mit diesem | ||
| + | Reassemblerprogramm die Möglichkeit, | ||
| + | in eine U880-Assemblerschreibweise vorzunehmen. | ||
| + | |||
| + | Der Reassembler steht ab | ||
| + | Adresse 3600h bis Adresse 3fe4h. der Start erfolgt auf der | ||
| + | Adresse 3600h. das Programm meldet sich mit der Aufschrift: | ||
| + | |||
| + | ROBOTRON Z 1013 REASS 1.02 | ||
| + | AB BIS ORG-ADRESSE: | ||
| + | |||
| + | unter dieser Ausschrift können nun z.B. folgende Adressen eingegeben werden: | ||
| + | |||
| + | F000 F020 F000 | ||
| + | |||
| + | D.h. es wird der Anfang des Monitorprogramms rückübersetzt. | ||
| + | ist die letzte Adresse gleich der ersten, so kann diese entfallen | ||
| + | ORG-Adresse bedeutet die Adresse, auf der das lauffähige Programm | ||
| + | stehen müsste. Man kann also auch Programme reassemblieren, | ||
| + | eigentlich außerhalb des RAM-Bereiches laufen würden oder auf | ||
| + | z.Z. belegten Speicherbereichen lauffähig sind. Sie können | ||
| + | z.B. den in Anlage 13 nicht auf den | ||
| + | Originaladressen ab 3C00H reassemblieren, | ||
| + | Zaehlermodul einlesen, anschließend mit dem T-Kommando z.B. auf die | ||
| + | 1000H umladen und danach den Reassembler einlesen und starten. | ||
| + | Kommandos nach dem Einlesen des Zaehlermoduls: | ||
| + | |||
| + | < | ||
| + | # T 3C00 1000 400 | ||
| + | # L 3600 3FFF | ||
| + | # J 3600 ; | ||
| + | ;Einlesen des Reassemblers | ||
| + | ;Starten des Reassemblers | ||
| + | |||
| + | ROBOTRON Z 1013 REASS 1.02 | ||
| + | |||
| + | AB BIS ORG-ADRESSE: | ||
| + | 1000 1020 3C00 | ||
| + | </ | ||
| + | |||
| + | Zu beachten ist, dass der Reassembler auch bei ASCII-Zeichen | ||
| + | eine Übersetzung versucht! Daraus können mitunter Verschiebungen entstehen, | ||
| + | die dann auch bei richtigen Maschinenbefehlen | ||
| + | zu einer falschen Rückübersetzung führen. Nach einigen Bytes | ||
| + | fängt sich der Reassembler und arbeitet wieder korrekt. | ||
| + | In der meisten nachfolgenden Programmen erfolgt der Abbruch | ||
| + | mit S4/K (Shift 4/K). | ||
| + | |||
| + | ===== Anlage 12: Liste des BASIC-Interpreters ===== | ||
| + | |||
| + | Speicherbereich: | ||
| + | |||
| + | Beachte: Bei Benutzung einer größeren Alpha-Tastatur ist | ||
| + | bei der INPUT-Anweisung keine Umschaltung (HEXUM/ | ||
| + | Deshalb sind um BASIC die 3 Speicherplätze ab Adresse 43BH | ||
| + | (CD 12 01) und ab Adresse 443H (CD 15 01) auf Null (00 00 00) zu setzen! | ||
| + | |||
| + | Leider habe ich bis jetzt (01.03.2000) noch keinen originalen | ||
| + | BASIC-Interpreter. Aber die Version mit geaenderten CLOAD/ | ||
| + | unterscheidet sich kaum davon. | ||
| + | |||
| + | ===== Anlage 13: MC-Beispielprogramme ===== | ||
| + | |||
| + | ==== 1. Zaehlermodul ==== | ||
| + | |||
| + | Mit diesem Programm können über den Tonbandeingang | ||
| + | NF-Messungen ausgeführt werden. Startadresse: | ||
| + | |||
| + | ==== 2. Musikmodul ==== | ||
| + | |||
| + | Mit diesem Programm können sie Melodien über den Tonbandausgang | ||
| + | abspielen, die sie vorher programmiert haben. Drehen | ||
| + | sie also den Lautstärkeregler ihres angeschlossenen Magnetbandgerätes | ||
| + | etwas auf und stellen sie " | ||
| + | |||
| + | Das Programm besteht aus drei Teilen; dem eigentlichen Programm | ||
| + | ab Adresse 100H und einer Hilfstabelle ab Adresse 170H. | ||
| + | |||
| + | Die Melodie wird im Speicher ab Adresse 190H abgelegt und nach | ||
| + | folgender Vorschrift gebildet: | ||
| + | |||
| + | 1. Ein Ton erfordert die Eingabe von 4 Hexdezimalziffern: | ||
| + | |||
| + | Tonlaenge - Tonhoehe - Pausenlaenge - Pausenzeichen (FFH) | ||
| + | |||
| + | 2. Tonlänge (1/96 Note * Wert) | ||
| + | |||
| + | Als Hexa-Zahl! | ||
| + | |||
| + | | 1/1 | 60 | | ||
| + | | 1/2 | 30 | | ||
| + | | 1/4 | 18 | | ||
| + | | 1/8 | 0B | | ||
| + | | 1/16 | 06 | | ||
| + | |||
| + | 3. Tonhöhe | ||
| + | |||
| + | Als Hexa-Zahl! | ||
| + | |||
| + | | C | 00 | | ||
| + | | CIS | 02 | | ||
| + | | D | 04 | | ||
| + | | DIS | 06 | | ||
| + | | E | 08 | | ||
| + | | F | 0A | | ||
| + | | FIS | 0C | | ||
| + | | G | 0E | | ||
| + | | GIS | 10 | | ||
| + | | A | 12 | | ||
| + | | AIS | 14 | | ||
| + | | H | 16 | | ||
| + | | C' | 18 | | ||
| + | |||
| + | |||
| + | ==== 3. Orgel ==== | ||
| + | |||
| + | Eine andere Möglichkeit des Musikmachens mit dem Z1013 bietet | ||
| + | dieses kleine Programm. Wenn sie es ab Adresse 300H eingeben, | ||
| + | das Tonbandgerät auf " | ||
| + | etwas aufdrehen, koennen sie die untere Reihe der Tastatur als | ||
| + | kleine Orgeltastatur benutzen. Der Inhalt der Speicherzelle mit | ||
| + | der Adresse 31FH bestimmt die Tonlänge eines Zyklus. Die Tonhöhe | ||
| + | der einzelnen Tasten wird in der Tabelle ab Adresse 333H | ||
| + | gespeichert. Sie können mit dem M-Kommando ab Adresse 333H auch | ||
| + | eine andere Tonleiter eingeben. Zum Beispiel: | ||
| + | # M 333 | ||
| + | 0333 # 40 39 33 30 2B 26 22 1F ; (ist unguenstiger bei 2 MHz) | ||
| + | wollen sie selbst eine Tonleiter entwerfen, so beginnen sie mit | ||
| + | dem Grundton und ändern sie die folgenden Töne nach Gehör. | ||
| + | |||
| + | ==== 4. Sirene ==== | ||
| + | |||
| + | Wenn sie das ihr Tonbandgerät | ||
| + | wie oben einrichten, so erhalten sie nach dem Starten als Ergebnis | ||
| + | einen auf- und abschwellenden Ton. Dieser Sirenenton kann auch | ||
| + | aufgezeichnet werden und für obiges Programm | ||
| + | als Eingangsignal verwendet werden. | ||
| + | |||
| + | durch Veränderung der Speicherzellen auf den | ||
| + | Adresse mit neuen Inhalten | ||
| + | |||
| + | < | ||
| + | 381H | ||
| + | 383H | ||
| + | 385H | ||
| + | 3ABH 30H...20H...10H | ||
| + | 60H...40H...11H | ||
| + | 01H...10H...04H | ||
| + | 30H...20H...10H | ||
| + | (bei 2 MHz) | ||
| + | 60H | ||
| + | E0H | ||
| + | 10H | ||
| + | 60H | ||
| + | </ | ||
| + | |||
| + | ist der Sirenenton in weiten Grenzen variierbar. | ||
| + | |||
| + | ==== 5. Ohne Fleiß - kein Preis ==== | ||
| + | |||
| + | Mit dem folgenden Programm können sie schon ein kleines | ||
| + | Computerspiel durchführen. Das Programm wird ab Adresse 100H | ||
| + | bis Adresse 353H eingegeben und auf Adresse 100H gestartet. | ||
| + | mit " | ||
| + | Mit " | ||
| + | |||
| + | ===== Anlage 14: BASIC Beispielprogramme ===== | ||
| + | |||
| + | |||
| + | Die hier angegebenen Programme in der Programmiersprache BASIC | ||
| + | erfordern die Z1013 Variante mit 16K RAM und das Vorhandensein | ||
| + | des "3K BASIC VON RER". Eine Erlaeuterung der Programme erfolgte | ||
| + | nur dort, wo es fuer erforderlich gehalten wurde. Ansonsten | ||
| + | reicht die enthaltene Bedienerfuehrung fuer das Verstaendnis | ||
| + | der Programme aus. | ||
| + | |||
| + | |||
| + | ==== 1. BASIC-Programm zum Speichern von Adressen und Telefonnummern ==== | ||
| + | |||
| + | Mit diesem BASIC-Programm ist es möglich, ein Adressverzeichnis | ||
| + | aufzubauen, anzuzeigen und zu korrigieren, | ||
| + | nach einem bestimmten Namen suchen, alle Adressen nach dem Anfangsbuchstaben | ||
| + | sortieren und ein Verzeichnis auf dem Bildschirm | ||
| + | ausgeben lassen, in dem nur Telefonnummer und Name erscheinen. | ||
| + | Wenn vor Programmstart die RAM-Grenze mit der Anweisung; | ||
| + | |||
| + | END HEX(3FFF)-64 | ||
| + | |||
| + | im BASIC erweitert wird, sind maximal 80 Adressen speicherbar. | ||
| + | Bei höheren Forderungen müssen die Daten auf Magnetbandkassette | ||
| + | abgespeichert werden oder es ist ein anderes Satzformat | ||
| + | zu wählen (im Programm ist die Satzlänge auf 100 Byte festgelegt). | ||
| + | Der Dateianfang wurde in Zeile 40 mit E=8600 festgelegt, | ||
| + | Dass der Wert für TOP kleiner als 8600 ist. Ansonsten müsste | ||
| + | der Anfangswert für E erhöht werden. | ||
| + | |||
| + | |||
| + | ==== 2. BASIC-Programm " | ||
| + | |||
| + | Mit diesem BASIC-Programm können Begriffe, Sprichwörter oder | ||
| + | Sätze abgespeichert werden. Die maximale Satzlänge sollte ein | ||
| + | Vielfaches von 32 sein. Die maximale Anzahl der Sätze sollte | ||
| + | nicht über 120 liegen. Entsprechend dem Menü kann der Spielmeister | ||
| + | die Begriffe aufbauen, zur Kontrolle anzeigen, korrigieren, | ||
| + | testen und auf Magnetbandkassette abspeichern. | ||
| + | |||
| + | Die Spielidee besteht darin, dass in einer Spielrunde vom Spielmeister | ||
| + | Begriff für Begriff abgerufen werden kann. Dabei wird | ||
| + | jeder Buchstabe des Begriffes durch einen Strich angezeigt. | ||
| + | Die Mitspieler haben nun die Möglichkeit den Begriff zu erraten | ||
| + | bzw. durch Eingabe eines Buchstabens diesen um Begriff an allen | ||
| + | vorkommenden Stellen aufzublenden. Damit wird der Begriff immer | ||
| + | vollstaendiger. Wurde der Begriff von einem Mitspieler richtig | ||
| + | erraten, so kann dieser durch Betaetigung der ENTER-Taste zur | ||
| + | Anzeige gebracht werden. | ||
| + | |||
| + | |||
| + | ==== 3. BASIC-Programm zum Raten einer durch die RND-Funktion ermittelten Zahl ==== | ||
| + | |||
| + | In dem folgenden BASIC-Programm wird die Anwendung der Fensterfunktion | ||
| + | des Monitors gezeigt. In dem Unterprogramm ab Zeile | ||
| + | 600 werden auf ARG1(1BH) und ARG2(1DH) die Bildschirmadressen | ||
| + | (EC00H bis F000H) mit der POKE-Anweisung gebracht (z.B.: | ||
| + | Fenster). Mit der CALL-Anweisung auf Zeile 630 direkt in das | ||
| + | Monitorprogramm (Adresse F6D1) werden die neuen Adressen des | ||
| + | Rollfensters uebernommen. Ein anderes Rollfenster wird ab Zeile | ||
| + | 350 eingestellt (ED40H bis F000H). Zu beachten ist, dass man vor | ||
| + | Verlassen des Programmes wieder auf volles Rollfenster stellen | ||
| + | muss (Zeile 580). | ||
| + | |||
| + | Bei diesem Zahlenratespiel besteht die Moeglichkeit den Zahlenbereich, | ||
| + | in welchem die Zufallszahl ermittelt werden soll, durch | ||
| + | die Eingabe in Zeile 400 festzulegen. Mit dem Test in Zeile 405 | ||
| + | werden ab 1 alle positiven Zahlen bis 32768 akzeptiert. | ||
| + | Mit der Variablen V wird die Anzahl der Versuche mitgezaehlt. | ||
| + | In Zeile 570 und 575 wird eine Warteschleife abgearbeitt, | ||
| + | die vorherige Ausschrift "Auf Wiederseh' | ||
| + | |||
| + | ==== 4. Mathe-Übungsprogramm in BASIC ==== | ||
| + | |||
| + | ==== 5. BASIC-Programm zur Darstellung von Größen im Balkendiagramm ==== | ||
| + | |||
| + | ==== 6. BASIC-Programm "Turm von Hanoi" ==== | ||
| + | |||
| + | ==== 7. BASIC-Programm " | ||
| + | |||
| + | ==== 8. BASIC-Programm "23 Streichhölzer" | ||
| + | |||